source: src/elements_db.cpp@ 88104f

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 88104f was 4eb4fe, checked in by Frederik Heber <heber@…>, 15 years ago

"-e <db path>" not necessary anymore.

Removed necessity of specifying path to databases (this was one check of molecuilder/test/testsuite.at which cannot be fulfilled anymore with boost::program_options)
For this to work a great number of small changes have been necessary:

class periodentafel:

  • all .db files merged into const char * arrays in elements_db.cpp
  • periodentafel rewritten:
  • FindElement(), AskElement() and EnterElement return element * const instead of const element * (i.e. the contents of the pointer is const (the element) not the pointer itself which is very vexatious (i.e. FindElement() yields const element * which can subsequently not be used for RemoveElement(), ...)
  • parsedElems is not needed anymore. Instead we operate on map elements directly
  • new unittest periodentafelTest which is made friend of periodentafel to be able to access private loading functions directly

A number of unit tests had to be changed (all that create elements during setUp() which is now unnecessary)

Some of the analysis_bonds function's signatures were changed in the process:

Finally, the respective tests are removed from molecuilder/tests/testsuite.at.

  • Property mode set to 100755
File size: 8.0 KB
Line 
1/*
2 * elements_db.cpp
3 *
4 * Created on: 17.05.2010
5 * Author: heber
6 */
7
8const char *elementsDB =\
9"# Covalent radius of each element in Angstroem from CSD (binding is: [Rcov(A)+Rcov(B)-t,Rcov(A)+Rcov(B)+t] with t = 0.4A\n\
10#Element Name Symbol Period Group Block Atomic Number AtomicWeight Covalent Radius vdW Radius\n\
11Hydrogen H 1 1 s 1 1.008 0.23 1.09\n\
12Helium He 1 18 p 2 4.003 1.50 1.40\n\
13Lithium Li 2 1 s 3 6.941 0.68 1.82\n\
14Beryllium Be 2 2 s 4 9.012 0.35 2.00\n\
15Boron B 2 13 p 5 10.811 0.83 2.00\n\
16Carbon C 2 14 p 6 12.011 0.68 1.70\n\
17Nitrogen N 2 15 p 7 14.007 0.68 1.55\n\
18Oxygen O 2 16 p 8 15.999 0.68 1.52\n\
19Fluorine F 2 17 p 9 18.998 0.64 1.47\n\
20Neon Ne 2 18 p 10 20.180 1.50 1.54\n\
21Sodium Na 3 1 s 11 22.991 0.97 2.27\n\
22Magnesium Mg 3 2 s 12 24.305 1.10 1.73\n\
23Aluminium Al 3 13 p 13 26.982 1.35 2.00\n\
24Silicon Si 3 14 p 14 28.086 1.20 2.10\n\
25Phosphorus P 3 15 p 15 30.974 1.05 1.80\n\
26Sulphur S 3 16 p 16 32.066 1.02 1.80\n\
27Chlorine Cl 3 17 p 17 35.453 0.99 1.75\n\
28Argon Ar 3 18 p 18 39.948 1.51 1.88\n\
29Potassium K 4 1 s 19 39.098 1.33 2.75\n\
30Calcium Ca 4 2 s 20 40.078 0.99 2.00\n\
31Scandium Sc 4 3 d 21 44.956 1.44 2.00\n\
32Titanium Ti 4 4 d 22 47.867 1.47 2.00\n\
33Vanadium V 4 5 d 23 50.942 1.33 2.00\n\
34Chromium Cr 4 6 d 24 51.996 1.35 2.00\n\
35Manganese Mn 4 7 d 25 54.938 1.35 2.00\n\
36Iron Fe 4 8 d 26 55.845 1.34 2.00\n\
37Cobalt Co 4 9 d 27 58.933 1.33 2.00\n\
38Nickel Ni 4 10 d 28 58.693 1.50 1.63\n\
39Copper Cu 4 11 d 29 63.546 1.52 1.40\n\
40Zinc Zn 4 12 d 30 65.390 1.45 1.39\n\
41Gallium Ga 4 13 p 31 69.723 1.22 1.87\n\
42Germanium Ge 4 14 p 32 72.610 1.17 2.00\n\
43Arsenic As 4 15 p 33 74.922 1.21 1.85\n\
44Selenium Se 4 16 p 34 78.960 1.22 1.90\n\
45Bromine Br 4 17 p 35 79.904 1.21 1.85\n\
46Krypton Kr 4 18 p 36 83.800 1.50 2.02\n\
47Rubidium Rb 5 1 s 37 85.468 1.47 2.00\n\
48Strontium Sr 5 2 s 38 87.620 1.12 2.00\n\
49Yttrium Y 5 3 d 39 88.906 1.78 2.00\n\
50Zirconium Zr 5 4 d 40 91.224 1.56 2.00\n\
51Niobium Nb 5 5 d 41 92.906 1.48 2.00\n\
52Molybdenum Mo 5 6 d 42 95.940 1.47 2.00\n\
53Technetium Tc 5 7 d 43 98 1.35 2.00\n\
54Ruthenium Ru 5 8 d 44 101.070 1.40 2.00\n\
55Rhodium Rh 5 9 d 45 102.906 1.45 2.00\n\
56Palladium Pd 5 10 d 46 106.420 1.50 1.63\n\
57Silver Ag 5 11 d 47 107.868 1.59 1.72\n\
58Cadmium Cd 5 12 d 48 112.411 1.69 1.58\n\
59Indium In 5 13 p 49 114.818 1.63 1.93\n\
60Tin Sn 5 14 p 50 118.71 1.46 2.17\n\
61Antimony Sb 5 15 p 51 121.760 1.46 2.00\n\
62Tellurium Te 5 16 p 52 127.600 1.47 2.06\n\
63Iodine I 5 17 p 53 126.904 1.40 1.98\n\
64Xenon Xe 5 18 p 54 131.290 1.50 2.16\n\
65Caesium Cs 6 1 s 55 132.905 1.67 2.00\n\
66Barium Ba 6 2 s 56 137.327 1.34 2.00\n\
67Lutetium Lu 6 3 d 71 174.967 1.72 2.00\n\
68Hafnium Hf 6 4 d 72 178.490 1.57 2.00\n\
69Tantalum Ta 6 5 d 73 180.948 1.43 2.00\n\
70Tungsten W 6 6 d 74 183.840 1.37 2.00\n\
71Rhenium Re 6 7 d 75 186.207 1.35 2.00\n\
72Osmium Os 6 8 d 76 190.230 1.37 2.00\n\
73Iridium Ir 6 9 d 77 192.217 1.32 2.00\n\
74Platinum Pt 6 10 d 78 195.078 1.50 1.72\n\
75Gold Au 6 11 d 79 196.967 1.50 1.66\n\
76Mercury Hg 6 12 d 80 200.590 1.70 1.55\n\
77Thallium Tl 6 13 p 81 204.383 1.55 1.96\n\
78Lead Pb 6 14 p 82 207.200 1.54 2.02\n\
79Bismuth Bi 6 15 p 83 208.980 1.54 2.00\n\
80Polonium Po 6 16 p 84 210 1.68 2.00\n\
81Astatine At 6 17 p 85 210 1.21 2.00\n\
82Radon Rn 6 18 p 86 222 1.50 2.00\n\
83Cerium Ce 6Lan 19 f 58 140.116 1.83 2.00\n\
84Dysprosium Dy 6Lan 19 f 66 162.500 1.75 2.00\n\
85Erbium Er 6Lan 19 f 68 167.260 1.73 2.00\n\
86Europium Eu 6Lan 19 f 63 151.964 1.99 2.00\n\
87Gadolinium Gd 6Lan 19 f 64 157.250 1.79 2.00\n\
88Holmium Ho 6Lan 19 f 67 164.930 1.74 2.00\n\
89Lanthanum La 6Lan 19 f 57 138.906 1.87 2.00\n\
90Neodymium Nd 6Lan 19 f 60 144.240 1.81 2.00\n\
91Promethium Pm 6Lan 19 f 61 145 1.80 2.00\n\
92Praseodymium Pr 6Lan 19 f 59 140.908 1.82 2.00\n\
93Samarium Sm 6Lan 19 f 62 150.360 1.80 2.00\n\
94Terbium Tb 6Lan 19 f 65 158.925 1.76 2.00\n\
95Thulium Tm 6Lan 19 f 69 168.934 1.72 2.00\n\
96Ytterbium Yb 6Lan 19 f 70 173.040 1.94 2.00\n\
97Francium Fr 7 1 s 87 223 1.50 2.00\n\
98Radium Ra 7 2 s 88 226 1.90 2.00\n\
99Lawrencium Lr 7 3 d 103 262 1.50 2.00\n\
100Rutherfordium Rf 7 4 d 104 261 1.50 2.00\n\
101Dubnium Db 7 5 d 105 262 1.50 2.00\n\
102Seaborgium Sg 7 6 d 106 266 1.50 2.00\n\
103Bohrium Bh 7 7 d 107 264 1.50 2.00\n\
104Hassium Hs 7 8 d 108 269 1.50 2.00\n\
105Meitnerium Mt 7 9 d 109 268 1.50 2.00\n\
106Darmstadtium Ds 7 10 d 110 271 1.50 2.00\n\
107Actinium Ac 7Act 20 f 89 227 1.88 2.00\n\
108Americium Am 7Act 20 f 95 243 1.51 2.00\n\
109Berkelium Bk 7Act 20 f 97 247 1.54 2.00\n\
110Californium Cf 7Act 20 f 98 251 1.83 2.00\n\
111Curium Cm 7Act 20 f 96 247 0.99 2.00\n\
112Einsteinium Es 7Act 20 f 99 252 1.50 2.00\n\
113Fermium Fm 7Act 20 f 100 257 1.50 2.00\n\
114Mendelevium Md 7Act 20 f 101 258 1.50 2.00\n\
115Nobelium No 7Act 20 f 102 259 1.50 2.00\n\
116Neptunium Np 7Act 20 f 93 237 1.55 2.00\n\
117Protactinium Pa 7Act 20 f 91 231.036 1.61 2.00\n\
118Plutonium Pu 7Act 20 f 94 244 1.53 2.00\n\
119Thorium Th 7Act 20 f 90 232.038 1.79 2.00\n\
120Uranium U 7Act 20 f 92 238.029 1.58 1.86\n\
121";
122
123const char *HbonddistanceDB =\
124"#atomic number bond distances for single, double and triple bond (-1 no bond)\n\
1251 0.74 -1 -1\n\
1262 0.77429209 -1 -1\n\
1275 1.23 1.19 1.18\n\
1286 1.09 1.076 1.06\n\
1297 1.04 1.02 1.01\n\
1308 0.96 0.957 -1\n\
13114 1.48 1.48 1.48\n\
13215 1.42 -1 -1\n\
13316 1.35 -1 -1\n\
13417 1.29 -1 -1\n\
13520 1.09 1.09 -1\n\
13634 1.47 -1 -1\n\
13735 1.44 -1 -1\n\
138";
139
140const char *HbondangleDB =\
141"# atomicnumber angles for single, double and triple bond (-1 no angle)\n\
1421 180 -1 -1\n\
1435 180 131.0 109.2\n\
1446 180 120 109.47\n\
1457 180 110 106.67\n\
1468 180 104.5 -1\n\
14714 180 120 109.47\n\
14815 180 -1 -1\n\
14916 180 -1 -1\n\
15017 180 -1 -1\n\
15120 180 120 109.47\n\
15234 180 -1 -1\n\
15335 180 -1 -1\n\
154";
155
156const char *orbitalsDB =\
157"# atomicnumber numberoforbitals\n\
1581 1\n\
1592 0\n\
1603 1\n\
1614 2\n\
1625 3\n\
1636 4\n\
1647 3\n\
1658 2\n\
1669 1\n\
16710 0\n\
16811 1\n\
16912 2\n\
17013 3\n\
17114 4\n\
17215 3\n\
17316 2\n\
17417 1\n\
17518 0\n\
17619 1\n\
17720 4\n\
17821 3\n\
17922 4\n\
18023 5\n\
18124 6\n\
18225 4\n\
18326 3\n\
18427 3\n\
18528 2\n\
18629 2\n\
18730 2\n\
18831 3\n\
18932 4\n\
19033 3\n\
19134 2\n\
19235 1\n\
19336 0\n\
19437 1\n\
19538 2\n\
19639 3\n\
19740 4\n\
19841 5\n\
19942 6\n\
20043 6\n\
20144 8\n\
20245 4\n\
20346 4\n\
20447 1\n\
20548 2\n\
20649 3\n\
20750 4\n\
20851 3\n\
20952 2\n\
21053 1\n\
21154 0\n\
21255 1\n\
21356 2\n\
21457 3\n\
21558 4\n\
21659 3\n\
21760 4\n\
21861 3\n\
21962 3\n\
22063 3\n\
22164 3\n\
22265 4\n\
22366 3\n\
22467 3\n\
22568 3\n\
22669 3 \n\
22770 3\n\
22871 3\n\
22972 4\n\
23073 5\n\
23174 6\n\
23275 7\n\
23376 8\n\
23477 6\n\
23578 6\n\
23679 3\n\
23780 2\n\
23881 3\n\
23982 4\n\
24083 3\n\
24184 4\n\
24286 0\n\
24388 2\n\
24489 3\n\
24590 4\n\
24691 5\n\
24792 6\n\
248";
249
250const char *valenceDB =\
251"#atomicnumber numberofvalenceorbitals\n\
2521 0.10000000000000E+01\n\
2532 0.20000000000000E+01\n\
2543 0.10000000000000E+01\n\
2554 0.20000000000000E+01\n\
2565 0.30000000000000E+01\n\
2576 0.40000000000000E+01\n\
2587 0.50000000000000E+01\n\
2598 0.60000000000000E+01\n\
2609 0.70000000000000E+01\n\
26110 0.80000000000000E+01\n\
26211 0.10000000000000E+01\n\
26312 0.40000000000000E+01\n\
26413 .3000000000000000E+01\n\
26514 0.40000000000000E+01\n\
26615 0.50000000000000E+01\n\
26716 0.60000000000000E+01\n\
26817 0.70000000000000E+01\n\
26918 0.80000000000000E+01\n\
27019 0.30000000000000E+01\n\
27120 0.40000000000000E+01\n\
27221 0.30000000000000E+01\n\
27322 0.40000000000000E+01\n\
27423 0.50000000000000E+01\n\
27524 0.60000000000000E+01\n\
27625 0.70000000000000E+01\n\
27726 0.80000000000000E+01\n\
27827 0.90000000000000E+01\n\
27928 0.10000000000000E+02\n\
28029 0.11000000000000E+02\n\
28130 0.12000000000000E+02\n\
28231 3.00000000000000000\n\
28332 0.40000000000000E+01\n\
28433 5.00000000000000000\n\
28534 0.60000000000000E+01\n\
28635 0.70000000000000E+01\n\
28736 0.80000000000000E+01\n\
28837 0.10000000000000E+01\n\
28938 0.20000000000000E+01\n\
29039 0.30000000000000E+01\n\
29140 0.40000000000000E+01\n\
29241 0.50000000000000E+01\n\
29342 0.60000000000000E+01\n\
29443 0.70000000000000E+01\n\
29544 0.80000000000000E+01\n\
29645 0.90000000000000E+01\n\
29746 0.10000000000000E+02\n\
29847 0.11000000000000E+02\n\
29948 0.12000000000000E+02\n\
30049 0.30000000000000E+01\n\
30150 0.40000000000000E+01\n\
30251 0.50000000000000E+01\n\
30352 0.60000000000000E+01\n\
30453 0.70000000000000E+01\n\
30554 0.80000000000000E+01\n\
30655 0.10000000000000E+01\n\
30756 0.20000000000000E+01\n\
30872 0.40000000000000E+01\n\
30973 0.50000000000000E+01\n\
31074 0.60000000000000E+01\n\
31175 0.70000000000000E+01\n\
31276 0.80000000000000E+01\n\
31377 0.90000000000000E+01\n\
31478 0.10000000000000E+02\n\
31579 0.11000000000000E+02\n\
31680 0.12000000000000E+02\n\
317";
Note: See TracBrowser for help on using the repository browser.