source: tests/regression/Tesselation/3/post/NonConvexEnvelope.dat@ 274d45

Action_Thermostats Add_AtomRandomPerturbation Add_FitFragmentPartialChargesAction Add_RotateAroundBondAction Add_SelectAtomByNameAction Added_ParseSaveFragmentResults AddingActions_SaveParseParticleParameters Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_ParticleName_to_Atom Adding_StructOpt_integration_tests AtomFragments Automaking_mpqc_open AutomationFragmentation_failures Candidate_v1.5.4 Candidate_v1.6.0 Candidate_v1.6.1 ChangeBugEmailaddress ChangingTestPorts ChemicalSpaceEvaluator CombiningParticlePotentialParsing Combining_Subpackages Debian_Package_split Debian_package_split_molecuildergui_only Disabling_MemDebug Docu_Python_wait EmpiricalPotential_contain_HomologyGraph EmpiricalPotential_contain_HomologyGraph_documentation Enable_parallel_make_install Enhance_userguide Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph FitPartialCharges_GlobalError Fix_BoundInBox_CenterInBox_MoleculeActions Fix_ChargeSampling_PBC Fix_ChronosMutex Fix_FitPartialCharges Fix_FitPotential_needs_atomicnumbers Fix_ForceAnnealing Fix_IndependentFragmentGrids Fix_ParseParticles Fix_ParseParticles_split_forward_backward_Actions Fix_PopActions Fix_QtFragmentList_sorted_selection Fix_Restrictedkeyset_FragmentMolecule Fix_StatusMsg Fix_StepWorldTime_single_argument Fix_Verbose_Codepatterns Fix_fitting_potentials Fixes ForceAnnealing_goodresults ForceAnnealing_oldresults ForceAnnealing_tocheck ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion FragmentAction_writes_AtomFragments FragmentMolecule_checks_bonddegrees GeometryObjects Gui_Fixes Gui_displays_atomic_force_velocity ImplicitCharges IndependentFragmentGrids IndependentFragmentGrids_IndividualZeroInstances IndependentFragmentGrids_IntegrationTest IndependentFragmentGrids_Sole_NN_Calculation JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool JobMarket_unresolvable_hostname_fix MoreRobust_FragmentAutomation ODR_violation_mpqc_open PartialCharges_OrthogonalSummation PdbParser_setsAtomName PythonUI_with_named_parameters QtGui_reactivate_TimeChanged_changes Recreated_GuiChecks Rewrite_FitPartialCharges RotateToPrincipalAxisSystem_UndoRedo SaturateAtoms_findBestMatching SaturateAtoms_singleDegree StoppableMakroAction Subpackage_CodePatterns Subpackage_JobMarket Subpackage_LinearAlgebra Subpackage_levmar Subpackage_mpqc_open Subpackage_vmg Switchable_LogView ThirdParty_MPQC_rebuilt_buildsystem TrajectoryDependenant_MaxOrder TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps TremoloParser_setsAtomName Ubuntu_1604_changes stable
Last change on this file since 274d45 was 274d45, checked in by Frederik Heber <heber@…>, 15 years ago

FIX: Atoms were stored not in the sequence they were loaded.

  1. The main problem is molecule::atomSet which is a set<atom *>, i.e. atoms are sorted by their appearance in memory. As memory need not be allocated sequentially, this gives rise to extreme arbitririty which is not desired. Instead the atoms should be stored in the sequence they were loaded/created. The solution is as follows:
  • config::SaveAll()
  • molecule::atomSet is now a list<atom *>
  • molecule::atomIds is a new set<atomId_t> (atomIdSet) which controls that (global) ids remain unique in the no more Atomset's set (but list)
  • molecule::erase() erases also in atomIds
  • molecule::insert() checks whether id is present by atomIds
  • molecule::find() as std::list does not have a find, we just go through the list until the object is found (or not), this may be speeded up by another internal list.
  • molecule::InternalPointer made lots of confusion as virtual function GoToFirst() is const, hence begin() (needed therein) returns const_iterator, which then cannot be simply re-cast into an iterator: We make it a pointer, reinterpret_cast the pointer and reference it back. Although InternalPointer is mutable, the compiler cannot use the non-const function begin() (it cannot be made const, as overloading is not allowed). (this is noted in the code also extensively.)
  • molecule::containsAtom() does not use count but the new find, as it returns only boolean anyway.
  • rewrote MoleculeListClass::SimpleMerge() to get rid of the extra iterator, as we remove all atoms in the end anyway.
  • FIX: MoleculeListClass::SimpleMultiMerge() - the created mol was not inserted into the moleculelist in the end, although it is the only one to remain.
  1. All other databases had missing headers with respect to those stored in elements_db.cpp. Hence, valence of hydrogen was not parsed and this caused several failures in CalculateOrbitals() (Psi numbers and MaxMinSetp in pcp conf file).
  1. Subsequenytly, various test cases (12, 21, 30, 31, 36-38, 39) were broken. This had two reasons:
  • Seemingly, CalculateOrbitals() was broken before hence MaxMinStep (pcp config) and MaxPsiDouble/PsiMaxNn[Up|Down] were always 0. (10-21,30-31,39)
  • As the order is now correct, fixes from commits c9217161ec2a5d5db508557fe98a32068461f45b and 22a6da8380911571debebd69444d2615450bbbd8 were obselete and have been reverted (order of the Ion?_Type...): Molecules/6 (30), Molecules/7 (31), Filling/1 (39)
  • Due to different ordering, Tesselation/3 (38) had completely different .dat file (though same tesselation)
  • r3d had small differences, mostly order or epsilon (0 not being 0 but ..-e16), hence diffing was deactivated, as r3d is deprecated anyway (since vmd can render triangles as well and better).

Signed-off-by: Frederik Heber <heber@…>

  • Property mode set to 100644
File size: 1.9 KB
Line 
1TITLE = "3D CONVEX SHELL"
2VARIABLES = "X" "Y" "Z" "U"
3ZONE T="test", N=44, E=86, DATAPACKING=POINT, ZONETYPE=FETRIANGLE
46.9077 1.1106 0.1214 1
50.3612 -3.628 1.323 1
60.4884 -3.5983 -0.4521 3
71.4985 -2.5112 0.5308 4
8-1.9534 -3.5752 0.5362 2
9-1.1883 -0.199 1.5176 3
10-0.7165 -1.6046 2.5129 1
111.7627 -1.4479 -0.8349 4
12-1.003 -1.3584 -2.8848 2
130.0217 -2.6629 -2.2008 1
14-2.8885 -1.5706 1.7543 2
15-2.0579 -3.6765 -1.7622 0
16-2.9259 -2.1146 -1.7672 1
171.0353 0.1785 2.542 3
181.6325 -1.3323 1.8306 2
190.7271 1.177 0.3594 3
201.3374 -0.2942 -2.961 2
210.6036 1.0859 -2.1126 3
22-3.2034 -0.5041 -1.0881 3
23-5.1809 -1.8679 0.9687 1
24-4.6025 -2.4721 -0.6025 2
25-4.3385 -3.4329 0.8725 0
263.191 1.3217 -2.8354 1
27-4.0905 0.6312 1.6028 3
282.8131 1.4776 2.5103 0
293.9137 2.2936 1.3739 0
302.159 2.5738 1.2698 5
313.6606 -0.4593 2.1396 2
323.2007 -1.4419 0.7311 4
33-3.3002 2.3589 0.0094 8
34-4.377 1.6962 -1.2433 3
355.2593 1.4547 -1.7445 0
364.6863 2.7674 -0.6775 0
375.746 -0.9031 1.204 0
385.1212 -0.8867 -0.4582 4
39-5.2641 2.8314 1.4476 0
405.2727 1.6068 1.2828 2
41-6.2394 4.6427 0.0632 0
42-4.4738 4.5591 -0.1458 3
43-5.5506 3.8964 -1.3985 0
44-6.7081 0.9923 0.6224 2
45-7.5442 2.5597 0.5118 0
46-6.8554 1.8134 -0.9499 1
477.1391 2.0447 0.0264 0
48
491 32 44
501 32 35
511 34 35
5223 32 35
5317 23 35
548 17 35
558 10 17
563 8 10
573 8 35
583 4 35
594 29 35
6029 34 35
612 3 4
622 4 29
632 15 29
6415 28 29
6528 29 34
662 7 15
677 14 15
6814 15 28
6914 25 28
7025 28 37
7128 34 37
721 34 37
731 37 44
7425 26 37
7525 26 27
7626 27 33
7726 33 44
7826 37 44
7914 25 27
8014 27 30
816 14 30
826 24 30
8324 30 36
8430 36 39
8527 30 39
8627 30 39
8716 27 30
8816 18 30
8916 18 27
9018 27 33
9118 23 33
926 7 24
936 7 14
947 11 24
9511 20 24
9620 24 41
9724 36 41
9836 41 42
9911 20 22
1005 11 22
1015 7 11
1022 5 7
10336 38 39
10436 38 42
10518 30 31
10630 31 39
10731 39 40
1089 18 31
1099 17 18
11017 18 23
1119 19 31
1129 13 19
11313 19 31
11413 21 31
11521 31 43
11631 40 43
1179 12 13
1189 10 12
1199 10 17
12012 13 21
12112 21 22
1225 12 22
1233 5 12
1242 3 5
1253 10 12
12620 21 22
12720 21 41
12821 41 43
12941 42 43
13023 32 33
13132 33 44
13240 42 43
13338 40 42
13438 39 40
Note: See TracBrowser for help on using the repository browser.