chemicalml 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rubocop.yml +20 -0
  4. data/CHANGELOG.md +21 -0
  5. data/CLAUDE.md +198 -0
  6. data/Gemfile +14 -0
  7. data/LICENSE +24 -0
  8. data/NOTICES.adoc +115 -0
  9. data/README.adoc +87 -0
  10. data/Rakefile +8 -0
  11. data/TODO.align/01-cml-base-mixins.md +122 -0
  12. data/TODO.align/02-real-schema-hierarchies.md +88 -0
  13. data/TODO.align/03-configuration.md +50 -0
  14. data/TODO.align/04-parse-entry-points.md +59 -0
  15. data/TODO.align/05-schema-aware-translator.md +33 -0
  16. data/TODO.align/06-no-respond-to.md +44 -0
  17. data/TODO.align/07-canon-xml-comparison.md +43 -0
  18. data/TODO.align/08-expand-fixtures.md +37 -0
  19. data/TODO.align/09-final-spec-lint.md +29 -0
  20. data/TODO.align/10-role-marker-modules.md +54 -0
  21. data/TODO.align/11-dry-configuration.md +63 -0
  22. data/TODO.align/12-wire-class-macro.md +51 -0
  23. data/TODO.align/13-wire-namespace.md +44 -0
  24. data/TODO.align/14-schema24-correctness.md +37 -0
  25. data/TODO.align/15-canon-fixture-roundtrip.md +38 -0
  26. data/TODO.align/16-schema24-convention-coverage.md +33 -0
  27. data/TODO.align/17-final-spec-lint.md +28 -0
  28. data/TODO.align/README.md +27 -0
  29. data/TODO.align/README.round2.md +24 -0
  30. data/TODO.cml-full/01-reference-docs.md +43 -0
  31. data/TODO.cml-full/02-schema-versioned-model.md +70 -0
  32. data/TODO.cml-full/03-fixtures-scrape.md +52 -0
  33. data/TODO.cml-full/04-convention-framework.md +69 -0
  34. data/TODO.cml-full/05-dictionary-layer.md +77 -0
  35. data/TODO.cml-full/06-extend-canonical-translator.md +60 -0
  36. data/TODO.cml-full/07-attribution-notices.md +42 -0
  37. data/TODO.cml-full/08-autoload-only.md +48 -0
  38. data/TODO.cml-full/09-spec-coverage.md +38 -0
  39. data/TODO.cml-full/README.md +23 -0
  40. data/chemicalml.gemspec +35 -0
  41. data/data/dictionaries/_index.yaml +14 -0
  42. data/data/dictionaries/compchem.yaml +481 -0
  43. data/data/dictionaries/unit_non_si.yaml +53 -0
  44. data/data/dictionaries/unit_si.yaml +87 -0
  45. data/data/dictionaries/unit_type.yaml +113 -0
  46. data/lib/chemicalml/cml/array.rb +10 -0
  47. data/lib/chemicalml/cml/atom.rb +10 -0
  48. data/lib/chemicalml/cml/atom_array.rb +10 -0
  49. data/lib/chemicalml/cml/atom_parity.rb +10 -0
  50. data/lib/chemicalml/cml/base/array.rb +36 -0
  51. data/lib/chemicalml/cml/base/atom.rb +38 -0
  52. data/lib/chemicalml/cml/base/atom_array.rb +22 -0
  53. data/lib/chemicalml/cml/base/atom_parity.rb +24 -0
  54. data/lib/chemicalml/cml/base/bond.rb +28 -0
  55. data/lib/chemicalml/cml/base/bond_array.rb +22 -0
  56. data/lib/chemicalml/cml/base/bond_stereo.rb +28 -0
  57. data/lib/chemicalml/cml/base/cml_module.rb +40 -0
  58. data/lib/chemicalml/cml/base/dictionary.rb +32 -0
  59. data/lib/chemicalml/cml/base/dictionary_entry.rb +34 -0
  60. data/lib/chemicalml/cml/base/document.rb +26 -0
  61. data/lib/chemicalml/cml/base/formula.rb +38 -0
  62. data/lib/chemicalml/cml/base/identifier.rb +26 -0
  63. data/lib/chemicalml/cml/base/label.rb +28 -0
  64. data/lib/chemicalml/cml/base/list.rb +36 -0
  65. data/lib/chemicalml/cml/base/matrix.rb +38 -0
  66. data/lib/chemicalml/cml/base/metadata.rb +30 -0
  67. data/lib/chemicalml/cml/base/metadata_list.rb +28 -0
  68. data/lib/chemicalml/cml/base/molecule.rb +40 -0
  69. data/lib/chemicalml/cml/base/name.rb +26 -0
  70. data/lib/chemicalml/cml/base/parameter.rb +34 -0
  71. data/lib/chemicalml/cml/base/parameter_list.rb +28 -0
  72. data/lib/chemicalml/cml/base/product.rb +22 -0
  73. data/lib/chemicalml/cml/base/product_list.rb +22 -0
  74. data/lib/chemicalml/cml/base/property.rb +34 -0
  75. data/lib/chemicalml/cml/base/property_list.rb +28 -0
  76. data/lib/chemicalml/cml/base/reactant.rb +22 -0
  77. data/lib/chemicalml/cml/base/reactant_list.rb +22 -0
  78. data/lib/chemicalml/cml/base/reaction.rb +32 -0
  79. data/lib/chemicalml/cml/base/reaction_list.rb +22 -0
  80. data/lib/chemicalml/cml/base/scalar.rb +32 -0
  81. data/lib/chemicalml/cml/base/substance.rb +30 -0
  82. data/lib/chemicalml/cml/base/unit.rb +38 -0
  83. data/lib/chemicalml/cml/base/unit_list.rb +30 -0
  84. data/lib/chemicalml/cml/base/unit_type.rb +28 -0
  85. data/lib/chemicalml/cml/base/unit_type_list.rb +30 -0
  86. data/lib/chemicalml/cml/base.rb +51 -0
  87. data/lib/chemicalml/cml/bond.rb +10 -0
  88. data/lib/chemicalml/cml/bond_array.rb +10 -0
  89. data/lib/chemicalml/cml/bond_stereo.rb +10 -0
  90. data/lib/chemicalml/cml/cml_module.rb +10 -0
  91. data/lib/chemicalml/cml/dictionary.rb +10 -0
  92. data/lib/chemicalml/cml/dictionary_entry.rb +10 -0
  93. data/lib/chemicalml/cml/document.rb +10 -0
  94. data/lib/chemicalml/cml/elements.rb +58 -0
  95. data/lib/chemicalml/cml/formula.rb +10 -0
  96. data/lib/chemicalml/cml/identifier.rb +10 -0
  97. data/lib/chemicalml/cml/label.rb +10 -0
  98. data/lib/chemicalml/cml/list.rb +10 -0
  99. data/lib/chemicalml/cml/matrix.rb +10 -0
  100. data/lib/chemicalml/cml/metadata.rb +10 -0
  101. data/lib/chemicalml/cml/metadata_list.rb +10 -0
  102. data/lib/chemicalml/cml/molecule.rb +10 -0
  103. data/lib/chemicalml/cml/name.rb +10 -0
  104. data/lib/chemicalml/cml/namespace.rb +17 -0
  105. data/lib/chemicalml/cml/parameter.rb +10 -0
  106. data/lib/chemicalml/cml/parameter_list.rb +10 -0
  107. data/lib/chemicalml/cml/product.rb +10 -0
  108. data/lib/chemicalml/cml/product_list.rb +10 -0
  109. data/lib/chemicalml/cml/property.rb +10 -0
  110. data/lib/chemicalml/cml/property_list.rb +10 -0
  111. data/lib/chemicalml/cml/reactant.rb +10 -0
  112. data/lib/chemicalml/cml/reactant_list.rb +10 -0
  113. data/lib/chemicalml/cml/reaction.rb +10 -0
  114. data/lib/chemicalml/cml/reaction_list.rb +10 -0
  115. data/lib/chemicalml/cml/role/array.rb +13 -0
  116. data/lib/chemicalml/cml/role/atom.rb +13 -0
  117. data/lib/chemicalml/cml/role/atom_array.rb +13 -0
  118. data/lib/chemicalml/cml/role/atom_parity.rb +13 -0
  119. data/lib/chemicalml/cml/role/bond.rb +13 -0
  120. data/lib/chemicalml/cml/role/bond_array.rb +13 -0
  121. data/lib/chemicalml/cml/role/bond_stereo.rb +13 -0
  122. data/lib/chemicalml/cml/role/cml_module.rb +14 -0
  123. data/lib/chemicalml/cml/role/dictionary.rb +13 -0
  124. data/lib/chemicalml/cml/role/dictionary_entry.rb +13 -0
  125. data/lib/chemicalml/cml/role/document.rb +13 -0
  126. data/lib/chemicalml/cml/role/formula.rb +13 -0
  127. data/lib/chemicalml/cml/role/identifier.rb +13 -0
  128. data/lib/chemicalml/cml/role/label.rb +13 -0
  129. data/lib/chemicalml/cml/role/list.rb +13 -0
  130. data/lib/chemicalml/cml/role/matrix.rb +13 -0
  131. data/lib/chemicalml/cml/role/metadata.rb +13 -0
  132. data/lib/chemicalml/cml/role/metadata_list.rb +13 -0
  133. data/lib/chemicalml/cml/role/molecule.rb +13 -0
  134. data/lib/chemicalml/cml/role/name.rb +13 -0
  135. data/lib/chemicalml/cml/role/parameter.rb +13 -0
  136. data/lib/chemicalml/cml/role/parameter_list.rb +13 -0
  137. data/lib/chemicalml/cml/role/product.rb +13 -0
  138. data/lib/chemicalml/cml/role/product_list.rb +13 -0
  139. data/lib/chemicalml/cml/role/property.rb +13 -0
  140. data/lib/chemicalml/cml/role/property_list.rb +13 -0
  141. data/lib/chemicalml/cml/role/reactant.rb +13 -0
  142. data/lib/chemicalml/cml/role/reactant_list.rb +13 -0
  143. data/lib/chemicalml/cml/role/reaction.rb +13 -0
  144. data/lib/chemicalml/cml/role/reaction_list.rb +13 -0
  145. data/lib/chemicalml/cml/role/scalar.rb +13 -0
  146. data/lib/chemicalml/cml/role/substance.rb +13 -0
  147. data/lib/chemicalml/cml/role/unit.rb +13 -0
  148. data/lib/chemicalml/cml/role/unit_list.rb +13 -0
  149. data/lib/chemicalml/cml/role/unit_type.rb +13 -0
  150. data/lib/chemicalml/cml/role/unit_type_list.rb +13 -0
  151. data/lib/chemicalml/cml/role.rb +54 -0
  152. data/lib/chemicalml/cml/scalar.rb +10 -0
  153. data/lib/chemicalml/cml/schema24/configuration.rb +19 -0
  154. data/lib/chemicalml/cml/schema24.rb +40 -0
  155. data/lib/chemicalml/cml/schema3/configuration.rb +17 -0
  156. data/lib/chemicalml/cml/schema3.rb +40 -0
  157. data/lib/chemicalml/cml/substance.rb +10 -0
  158. data/lib/chemicalml/cml/translator/value_translations.rb +265 -0
  159. data/lib/chemicalml/cml/translator.rb +233 -0
  160. data/lib/chemicalml/cml/unit.rb +10 -0
  161. data/lib/chemicalml/cml/unit_list.rb +10 -0
  162. data/lib/chemicalml/cml/unit_type.rb +10 -0
  163. data/lib/chemicalml/cml/unit_type_list.rb +10 -0
  164. data/lib/chemicalml/cml/visitable.rb +65 -0
  165. data/lib/chemicalml/cml/wire_class_macro.rb +45 -0
  166. data/lib/chemicalml/cml.rb +55 -0
  167. data/lib/chemicalml/context_configuration.rb +127 -0
  168. data/lib/chemicalml/convention/base.rb +48 -0
  169. data/lib/chemicalml/convention/compchem/constraints/compchem_module_must_contain_job_list.rb +33 -0
  170. data/lib/chemicalml/convention/compchem/constraints/job_must_contain_initialization.rb +38 -0
  171. data/lib/chemicalml/convention/compchem/constraints.rb +14 -0
  172. data/lib/chemicalml/convention/compchem.rb +28 -0
  173. data/lib/chemicalml/convention/constraint.rb +79 -0
  174. data/lib/chemicalml/convention/dictionary/constraints/entry_ids_unique_within_dictionary.rb +33 -0
  175. data/lib/chemicalml/convention/dictionary/constraints/entry_must_have_id_and_term.rb +34 -0
  176. data/lib/chemicalml/convention/dictionary/constraints.rb +14 -0
  177. data/lib/chemicalml/convention/dictionary.rb +28 -0
  178. data/lib/chemicalml/convention/molecular/constraints/atom_array_must_contain_atoms.rb +30 -0
  179. data/lib/chemicalml/convention/molecular/constraints/atom_ids_unique_within_molecule.rb +42 -0
  180. data/lib/chemicalml/convention/molecular/constraints/bond_must_reference_atoms_in_same_molecule.rb +54 -0
  181. data/lib/chemicalml/convention/molecular/constraints.rb +19 -0
  182. data/lib/chemicalml/convention/molecular.rb +29 -0
  183. data/lib/chemicalml/convention/registry.rb +50 -0
  184. data/lib/chemicalml/convention/unit_dictionary/constraints/unit_must_have_symbol_and_unit_type.rb +46 -0
  185. data/lib/chemicalml/convention/unit_dictionary/constraints.rb +12 -0
  186. data/lib/chemicalml/convention/unit_dictionary.rb +27 -0
  187. data/lib/chemicalml/convention/unit_type_dictionary/constraints/unit_type_must_have_id_and_name.rb +34 -0
  188. data/lib/chemicalml/convention/unit_type_dictionary/constraints.rb +12 -0
  189. data/lib/chemicalml/convention/unit_type_dictionary.rb +27 -0
  190. data/lib/chemicalml/convention/violation.rb +36 -0
  191. data/lib/chemicalml/convention.rb +39 -0
  192. data/lib/chemicalml/dictionary/entry.rb +59 -0
  193. data/lib/chemicalml/dictionary/enum.rb +51 -0
  194. data/lib/chemicalml/dictionary/link.rb +32 -0
  195. data/lib/chemicalml/dictionary/loader.rb +60 -0
  196. data/lib/chemicalml/dictionary/model.rb +64 -0
  197. data/lib/chemicalml/dictionary/registry.rb +75 -0
  198. data/lib/chemicalml/dictionary.rb +26 -0
  199. data/lib/chemicalml/errors.rb +7 -0
  200. data/lib/chemicalml/model/atom.rb +40 -0
  201. data/lib/chemicalml/model/bond.rb +33 -0
  202. data/lib/chemicalml/model/cml_array.rb +27 -0
  203. data/lib/chemicalml/model/cml_module.rb +45 -0
  204. data/lib/chemicalml/model/document.rb +29 -0
  205. data/lib/chemicalml/model/formula.rb +34 -0
  206. data/lib/chemicalml/model/identifier.rb +21 -0
  207. data/lib/chemicalml/model/label.rb +21 -0
  208. data/lib/chemicalml/model/matrix.rb +29 -0
  209. data/lib/chemicalml/model/metadata.rb +23 -0
  210. data/lib/chemicalml/model/metadata_list.rb +25 -0
  211. data/lib/chemicalml/model/molecule.rb +38 -0
  212. data/lib/chemicalml/model/name.rb +21 -0
  213. data/lib/chemicalml/model/node.rb +45 -0
  214. data/lib/chemicalml/model/parameter.rb +27 -0
  215. data/lib/chemicalml/model/parameter_list.rb +25 -0
  216. data/lib/chemicalml/model/product.rb +21 -0
  217. data/lib/chemicalml/model/product_list.rb +21 -0
  218. data/lib/chemicalml/model/property.rb +28 -0
  219. data/lib/chemicalml/model/property_list.rb +25 -0
  220. data/lib/chemicalml/model/reactant.rb +21 -0
  221. data/lib/chemicalml/model/reactant_list.rb +21 -0
  222. data/lib/chemicalml/model/reaction.rb +41 -0
  223. data/lib/chemicalml/model/reaction_list.rb +23 -0
  224. data/lib/chemicalml/model/scalar.rb +25 -0
  225. data/lib/chemicalml/model/substance.rb +25 -0
  226. data/lib/chemicalml/model.rb +38 -0
  227. data/lib/chemicalml/schema/definition.rb +41 -0
  228. data/lib/chemicalml/schema/registry.rb +30 -0
  229. data/lib/chemicalml/schema.rb +35 -0
  230. data/lib/chemicalml/version.rb +5 -0
  231. data/lib/chemicalml/versioned_parser.rb +43 -0
  232. data/lib/chemicalml.rb +47 -0
  233. data/lib/tasks/reference_fetch.rake +105 -0
  234. data/lib/tasks/scrape_fixtures.rake +133 -0
  235. data/reference-docs/conventions/compchem.md +141 -0
  236. data/reference-docs/conventions/dictionary.md +119 -0
  237. data/reference-docs/conventions/index.md +56 -0
  238. data/reference-docs/conventions/molecular.md +115 -0
  239. data/reference-docs/conventions/unit-dictionary.md +92 -0
  240. data/reference-docs/conventions/unitType-dictionary.md +51 -0
  241. data/reference-docs/dictionaries/compchem.md +335 -0
  242. data/reference-docs/dictionaries/index.md +52 -0
  243. data/reference-docs/examples/schema24-index.md +50 -0
  244. data/reference-docs/examples/schema3-compchem-index.md +14 -0
  245. data/reference-docs/examples/schema3-molecular-index.md +28 -0
  246. data/reference-docs/schemas/schema24/schema.xsd +10624 -0
  247. data/reference-docs/schemas/schema3/schema.xsd +11459 -0
  248. metadata +306 -0
@@ -0,0 +1,335 @@
1
+ <!-- Source: http://www.xml-cml.org/dictionary/compchem/ -->
2
+ <!-- Authors: Peter Murray-Rust, Weerapong Phadungsukanan, Jens Thomas -->
3
+ <!-- License: CC-BY-3.0 (http://creativecommons.org/licenses/by/3.0/) -->
4
+
5
+ # CompChem Dictionary
6
+
7
+ Toplevel dictionary for computational chemistry.
8
+
9
+ Concepts in this dictionary are general throughout computational
10
+ chemistry and are used extensively in the CompChem convention to
11
+ describe the structure of computational chemistry.
12
+
13
+ Author: Weerapong Phadungsukanan.
14
+
15
+ ## Entries
16
+
17
+ ### calculation
18
+
19
+ A calculation module for a computational job.
20
+
21
+ A calculation module represents the concept of the model calculation,
22
+ optimisation or iteration processes for a computational job. Almost any
23
+ computational procedure is a calculation, and calculations can be nested
24
+ to any level. As an example, an SCF calculation consists of an initial
25
+ guess calculation, and a number of iterative calculations, the output of
26
+ the final iteration constituting the results. An SCF geometry optimisation
27
+ process consists of multiple calculation steps, each of which consists of
28
+ an SCF calculation, followed by a gradient calculation.
29
+
30
+ A calculation must contain an initialization module, which defines the
31
+ inputs to the calculation (and therefore the calculation), and a
32
+ finalization module, which holds all outputs. The calculation module may
33
+ contain many other modules describing the process of the calculation, but
34
+ that may not necessarily be desirable as results.
35
+
36
+ ### environment
37
+
38
+ Module holding concepts relating to the environment that the job used or
39
+ required.
40
+
41
+ The computing environment concept refers to a hardware platform, software
42
+ application, the operating system and any hardware and software
43
+ configurations used in order to run the job or computational task. The
44
+ environment includes metadata such as machine id, username, starting and
45
+ finishing date time, tools, compilers, IP, etc.
46
+
47
+ This information is not related to input and output of the model but is
48
+ supplementary to the software application to run properly and may vary
49
+ from machine to machine. Therefore, the computing environment is OPTIONAL
50
+ in the CompChem convention.
51
+
52
+ ### finalization
53
+
54
+ A finalization module for a computational job or calculation.
55
+
56
+ Represents the concept of the model results for a computational job or
57
+ calculation. This will usually be the output properties of the final
58
+ calculation carried out by the job. The finalization module should contain
59
+ a propertyList with scalar, array and matrix quantities, but may also
60
+ contain more complex objects such as molecules or orbitals as cml:lists.
61
+
62
+ ### initialization
63
+
64
+ An initialization module for a computational job or calculation.
65
+
66
+ Represents the concept of the model parameters and inputs. The module
67
+ defines the calculation, so that it should be possible to reproduce the
68
+ calculation based solely on the data in this module. The initialization
69
+ module should contain a parameterList with scalar, array and matrix
70
+ quantities, and the starting molecule, but may also contain more complex
71
+ objects as cml:lists, such as the basis set.
72
+
73
+ ### job
74
+
75
+ A job or computational task.
76
+
77
+ The job concept represents a computational job performed by quantum
78
+ chemistry software, e.g. geometry optimisation job, frequency analysis
79
+ job. The job can be considered as the unit of work that would be
80
+ submitted to a computational resource. In almost all respects a job is
81
+ identical to a calculation, in that it has an initialization module,
82
+ which holds the inputs for the calculation(s) to be run, and a
83
+ finalization module, which holds all outputs. In addition, a job may
84
+ contain an environment module.
85
+
86
+ ### jobList
87
+
88
+ A list of computational jobs.
89
+
90
+ A quantum chemistry calculation is often comprised of a series of
91
+ subtasks, e.g. coarse optimisation -> fine optimisation -> NMR Spectrum
92
+ Analysis. The joblist concept captures these series of successive
93
+ subtasks and links the information from one subtask to the next.
94
+
95
+ ### compileDate
96
+
97
+ The date that the executable was compiled.
98
+
99
+ ### runDate
100
+
101
+ The date that the job commenced.
102
+
103
+ ### executable
104
+
105
+ The path to the executable program.
106
+
107
+ ### hostName
108
+
109
+ The name of the host that the program was run on.
110
+
111
+ ### inputFile
112
+
113
+ A cml module for a single literal representation of an input file.
114
+
115
+ ### inputFileList
116
+
117
+ A cml module containing a list of input files.
118
+
119
+ ### inputFileName
120
+
121
+ A representation of the name of a single input file.
122
+
123
+ ### numProc
124
+
125
+ The number of processors used to run the job.
126
+
127
+ ### program
128
+
129
+ The program being run. Known values:
130
+
131
+ - `nwchem` — The Northwest Computational Chemistry Package (NWChem)
132
+ - `gaussian` — The Gaussian electronic structure code
133
+
134
+ ### programVersion
135
+
136
+ Specifies the version of the code that was used to run the calculation.
137
+
138
+ ### method
139
+
140
+ The type of computational method. Example values: `SCF`, `DFT`, `MP2`.
141
+
142
+ ### task
143
+
144
+ The task being carried out. Example values: `energy`, `frequency`,
145
+ `geometry_optimization`, `gradient`, `initial_guess`, `iteration`, `step`.
146
+
147
+ ### id
148
+
149
+ A CML id. Usable throughout cml documents. Need not be unique.
150
+
151
+ ### index
152
+
153
+ An index. An integer used as an index.
154
+
155
+ ### iterationIndex
156
+
157
+ The serial number of an iteration.
158
+
159
+ ### parameter
160
+
161
+ (TODO)
162
+
163
+ ### property
164
+
165
+ (TODO)
166
+
167
+ ### title
168
+
169
+ An arbitrary title.
170
+
171
+ ### UUID
172
+
173
+ A Universally Unique IDentifier as per RFC 4122.
174
+
175
+ ### cpuTime
176
+
177
+ Elapsed CPU time.
178
+
179
+ ### wallTime
180
+
181
+ Elapsed wallclock time.
182
+
183
+ ### charge
184
+
185
+ The total charge on the system in elementary charge units.
186
+
187
+ ### atomType
188
+
189
+ the type of the element (the atomic symbol).
190
+
191
+ ### numAtoms
192
+
193
+ The number of atoms. Normally the count of atoms in a molecule.
194
+
195
+ ### numElectrons
196
+
197
+ The total number of electrons in a system.
198
+
199
+ ### numAlphaElectrons
200
+
201
+ The total number of alpha spin electrons.
202
+
203
+ ### numBetaElectrons
204
+
205
+ The total number of beta spin electrons.
206
+
207
+ ### numClosedShells
208
+
209
+ The number of closed shells.
210
+
211
+ ### numOpenShells
212
+
213
+ The number of open shells.
214
+
215
+ ### pointGroup
216
+
217
+ The molecular point group in Schoenflies notation.
218
+
219
+ ### spinMultiplicity
220
+
221
+ The spin multiplicity = (alpha electrons) - (beta electrons) + 1.
222
+
223
+ ### wavefunctionType
224
+
225
+ The type of wavefunction. Acceptable values: `closed`, `open`,
226
+ `restricted open`.
227
+
228
+ ### basisSet
229
+
230
+ A cml list container for all information related to the basis set.
231
+
232
+ The basis set is the set of functions from which the electron orbitals
233
+ are constructed.
234
+
235
+ ### basisSetLabel
236
+
237
+ The name of the basis set. Should be one of the names used within the
238
+ EMSL Basis Set Exchange.
239
+
240
+ ### basisSetType
241
+
242
+ The type of the basis set. Valid values: `orbital`, `dftorb`, `dftxfit`,
243
+ `dftcfit`, `periodic`, `ecporb`, `spinorb`, `polarization`, `diffuse`,
244
+ `tight`, `rydberg`.
245
+
246
+ ### basisSetHarmonicType
247
+
248
+ The type of the angular functions. Valid values: `cartesian`, `spherical`.
249
+
250
+ ### basisSetContractionType
251
+
252
+ How the gaussian functions are contracted. Valid values: `segmented`,
253
+ `general`, `uncontracted`.
254
+
255
+ ### basisSetDescription
256
+
257
+ A description of the basis set.
258
+
259
+ ### basisSetContractions
260
+
261
+ The cml:list container for the contractions relating to a particular
262
+ atom type.
263
+
264
+ ### basisSetShell
265
+
266
+ The label for the contraction shell. Valid values: `S`, `P`, `SP`, `D`,
267
+ `F`, `G`, `H`, `I`, `K`, `L`, `M`.
268
+
269
+ ### basisSetContraction
270
+
271
+ The cml:list container for an individual contraction.
272
+
273
+ ### basisSetExponent
274
+
275
+ A cml:array holding the list of exponents for an individual contraction.
276
+
277
+ ### basisSetRExponent
278
+
279
+ A cml:array holding the list of R exponents for an individual ECP
280
+ contraction.
281
+
282
+ ### basisSetCoefficient
283
+
284
+ A cml:array holding the list of coefficients for an individual contraction.
285
+
286
+ ### numElectronsReplaced
287
+
288
+ The number of electrons replaced by an Effective Core Potential (ECP).
289
+
290
+ ### orbital
291
+
292
+ A cml list container for all information related to an Orbital.
293
+
294
+ ### dftFunctional
295
+
296
+ A cml list container for all information related to a DFT Functional.
297
+
298
+ ### dftFunctionalLabel
299
+
300
+ The name of the DFT functional used, if a standard functional was used.
301
+
302
+ ### coulombEnergy
303
+
304
+ The Coulomb component of the electronic energy in a Density Functional
305
+ Calculation.
306
+
307
+ ### correlationEnergy
308
+
309
+ The Correlation Energy.
310
+
311
+ ### e1Energy
312
+
313
+ The one-electron energy. The one-electron kinetic energy component of
314
+ the Hamiltonian operator.
315
+
316
+ ### e2Energy
317
+
318
+ The two-electron energy.
319
+
320
+ ### nuclearRepulsionEnergy
321
+
322
+ The potential energy arising from Coulombic nuclei-nuclei repulsions.
323
+
324
+ ### scfEnergy
325
+
326
+ The Hartree-Fock Self-Consistent Field component of the energy.
327
+
328
+ ### totalEnergy
329
+
330
+ The total energy for a system of electrons and nuclei. Formed from the
331
+ sum of the nuclear, one- and two-electron energies.
332
+
333
+ ### xcEnergy
334
+
335
+ The Exchange correlation energy.
@@ -0,0 +1,52 @@
1
+ <!-- Source: http://www.xml-cml.org/dictionary/ -->
2
+ <!-- License: CC-BY-3.0 (http://creativecommons.org/licenses/by/3.0/) -->
3
+
4
+ # CML Dictionaries
5
+
6
+ Dictionaries allow CML to be *understood* by machines. Much of physical
7
+ science is managed through the dictionary mechanism. We find terms and
8
+ units relating to an aspect of science (such as heat of formation,
9
+ melting point, point group) and create entries for these items in a
10
+ dictionary.
11
+
12
+ The entries can consist of just a unique id (within the dictionary's
13
+ namespace) and some human-understandable definition, but we strongly
14
+ encourage more information: units, upper/lower bounds, data type.
15
+
16
+ Different programs sometimes produce data with the same label but a
17
+ different interpretation; does `density` mean electron density or
18
+ physical density? Each computational chemistry code has its own
19
+ dictionary; the community can then group concepts into a higher-level
20
+ common dictionary (the compchem dictionary).
21
+
22
+ ## Implemented Dictionaries
23
+
24
+ ### Common Concepts
25
+
26
+ - **Fundamental Chemistry Concepts** — namespace:
27
+ `http://www.xml-cml.org/dictionary/cml/`
28
+ - **Chemical Naming Conventions** — namespace:
29
+ `http://www.xml-cml.org/dictionary/cml/name/`
30
+ - **Chemical Formula Conventions** — namespace:
31
+ `http://www.xml-cml.org/dictionary/cml/formula/`
32
+
33
+ ### Crystallography
34
+
35
+ - **CIF Core Definitions** — namespace:
36
+ `http://www.xml-cml.org/dictionary/cif/`
37
+
38
+ ### Computational Chemistry
39
+
40
+ - **Computational Chemistry — Core Concepts** — namespace:
41
+ `http://www.xml-cml.org/dictionary/compchem/`
42
+
43
+ ## Unit Dictionaries
44
+
45
+ ### Units
46
+
47
+ - **SI Units** — namespace: `http://www.xml-cml.org/unit/si/`
48
+ - **Non-SI Units** — namespace: `http://www.xml-cml.org/unit/nonSi/`
49
+
50
+ ### Unit Types
51
+
52
+ - **Unit Types** — namespace: `http://www.xml-cml.org/unit/unitType/`
@@ -0,0 +1,50 @@
1
+ <!-- Source: http://www.xml-cml.org/examples/schema24/ -->
2
+ <!-- License: CC-BY-3.0 (http://creativecommons.org/licenses/by/3.0/) -->
3
+
4
+ # Schema 2.4 Examples
5
+
6
+ We have attempted to provide at least one example for each element.
7
+ (There are also some examples for many of the attributes and types.)
8
+ The examples show minimal examples of how each element can be used and
9
+ so are a guide to its semantics. By convention an element `foo` will
10
+ have an example `foo1.cml`. There may be further examples (`foo2.cml`
11
+ etc.) which are often more complex.
12
+
13
+ ## Example index
14
+
15
+ action1, action2, actionList1, alternative1, alternativeType1, amount1,
16
+ angle1, annotation1, appinfo1, arg1, arg2, array1, array2, array3,
17
+ atom1, atom2, atomArray1, atomArray2, atomicBasisFunction1,
18
+ atomIDType1, atomParity1, atomRefArrayType1, atomRefs21, atomRefs31,
19
+ atomRefs41, atomRefType1, atomSet1, atomTest, atomType1, atomTypeList1,
20
+ band1, basisSet1, basisSet2, basisSet3, bond1, bond2, bond3, bond4,
21
+ bondArray1, bondRefArrayType1, bondSet1, bondStereo1, bondType1,
22
+ bondTypeList1, box31, cml2, cmlone, complexObject1, conditionList1,
23
+ coordinateComponentArrayType1, coordinateComponentArrayType2, countType1,
24
+ crystal1, crystal2, dataTypeType1, definition1, delimiterType1,
25
+ description1, dictionary1, dictionary2, dictRefGroup1, dictRefGroup2,
26
+ dimension1, dimension2, documentation1, eigen1, eigen2, electron1,
27
+ electron2, elementTypeArrayType1, elementTypeType1, entry1, enumeration1,
28
+ expression1, formalChargeType1, formula1, formula2, formula3,
29
+ formulaType1, gradient1, ichi, idArrayType1, identifier1, identifier2,
30
+ isotope1, isotope2, isotope3, isotope4, isotopeList1, join1, kpoint1,
31
+ label1, lattice3, latticeVector1, latticeVector2, length1, line31,
32
+ list1, matrix1, maxType1, mechanism1, mechanismComponent1, metadata1,
33
+ module1, molecule1, moleculeTable1, name1, namespaceRefType1,
34
+ nonNegativeAngleType, object1, observation1, parameter1, parameterList1,
35
+ particleRefType1, peak1, peak2, peakGroup1, peakList1, peakStructure1,
36
+ peakStructure1Schema, peakStructure2, peakStructure2Schema, plane31,
37
+ point31, positiveAngleType, potential1, potentialForm1, potentialList1,
38
+ productList1, property1, propertyList1, reactant1, reactantList1,
39
+ reaction1, reaction10a, reaction10b, reaction11, reaction5, reaction6,
40
+ reaction7, reaction9a, reaction9b, reactionList1, reactionList2,
41
+ reactionScheme1, reactionScheme3, reactionScheme4a, reactionScheme4b,
42
+ reactionStepList1, reactionStepList2, reactionStepList3,
43
+ reactionStepList4, reactionStepList5a, reactiveCentre1, refGroup1,
44
+ region1, region2, sample1, scalar1, space1, spectator1, spectatorList1,
45
+ spectrum1, spectrum2-local, spectrum2, spectrum3, spectrum4, spectrum5,
46
+ spectrumData1, spectrumList1, sphere31, spin1, stateType1, stmml1,
47
+ substance1, substanceList1, substanceList2, symmetry1, symmetry2,
48
+ system1, table1, table4, table5, table6, table7, title1, torsion1,
49
+ transitionState1, unitList1, unitType1, unitType2, vector31, xaxis,
50
+ xaxis1, yaxis, yaxis1, zMatrix1.
@@ -0,0 +1,14 @@
1
+ <!-- Source: http://www.xml-cml.org/examples/schema3/compchem/ -->
2
+ <!-- License: CC-BY-3.0 (http://creativecommons.org/licenses/by/3.0/) -->
3
+
4
+ # Schema 3 CompChem Examples
5
+
6
+ The CML files here were generated by the Jumbo Converters from the
7
+ NWChem log files linked below. The Jumbo NWChem converters are currently
8
+ the reference for generating Convention-Compliant CML.
9
+
10
+ | Title | CML | NWChem Logfile |
11
+ | --- | --- | --- |
12
+ | DFT B3LYP calculation on CH2 with 3-21g basis | `ch2_321g_b3lyp.cml` | `ch2_321g_b3lyp.nwo` |
13
+ | HF SCF optimisation on water with STO-3G basis | `h2o_sto3g_opt.cml` | `h2o_sto3g_opt.nwo` |
14
+ | Two jobs: DFT and MP2 calculations on water with different basis sets | `two_jobs.cml` | `two_jobs.nwo` |
@@ -0,0 +1,28 @@
1
+ <!-- Source: http://www.xml-cml.org/examples/schema3/molecular/ -->
2
+ <!-- License: CC-BY-3.0 (http://creativecommons.org/licenses/by/3.0/) -->
3
+
4
+ # Schema 3 Molecular Examples
5
+
6
+ The following examples are all valid under the molecular convention. The
7
+ files have been used to unit-test the validation service and should
8
+ therefore give a fairly full example of each element.
9
+
10
+ ## Example index
11
+
12
+ - atom with non cml content
13
+ - atoms in formula do not need id
14
+ - bond order other should have dictRef
15
+ - bondStereo atomRefs2 must match parent bonds 1, 2
16
+ - bondStereo atomRefs4 must contain parent bonds 1–8
17
+ - bondStereo other should have dictRef
18
+ - formula must have atomArray or concise or inline 1–7
19
+ - minimal molecule 1–4
20
+ - minimal molecule with foreign sibling
21
+ - minimal molecule with non cml content 1–3
22
+ - molecular convention molecule with non molecular sibling 1, 2
23
+ - molecular convention not as root element
24
+ - molecular molecule within non molecular
25
+ - must be at least one molecule in molecular convention 1, 2
26
+ - property must have dictRef and title
27
+ - repeated atom ids in different molecules
28
+ - scalar must have units and datatype and be child of property