nomad-parser-plugins-atomistic 1.0__py3-none-any.whl

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 (80) hide show
  1. atomisticparsers/__init__.py +400 -0
  2. atomisticparsers/amber/__init__.py +19 -0
  3. atomisticparsers/amber/__main__.py +31 -0
  4. atomisticparsers/amber/metainfo/__init__.py +19 -0
  5. atomisticparsers/amber/metainfo/amber.py +495 -0
  6. atomisticparsers/amber/parser.py +42 -0
  7. atomisticparsers/asap/__init__.py +19 -0
  8. atomisticparsers/asap/__main__.py +31 -0
  9. atomisticparsers/asap/metainfo/__init__.py +19 -0
  10. atomisticparsers/asap/metainfo/asap.py +75 -0
  11. atomisticparsers/asap/parser.py +197 -0
  12. atomisticparsers/bopfox/__init__.py +19 -0
  13. atomisticparsers/bopfox/__main__.py +31 -0
  14. atomisticparsers/bopfox/metainfo/__init__.py +19 -0
  15. atomisticparsers/bopfox/metainfo/bopfox.py +225 -0
  16. atomisticparsers/bopfox/parser.py +808 -0
  17. atomisticparsers/dftbplus/__init__.py +19 -0
  18. atomisticparsers/dftbplus/__main__.py +31 -0
  19. atomisticparsers/dftbplus/metainfo/__init__.py +19 -0
  20. atomisticparsers/dftbplus/metainfo/dftbplus.py +217 -0
  21. atomisticparsers/dftbplus/parser.py +500 -0
  22. atomisticparsers/dlpoly/__init__.py +19 -0
  23. atomisticparsers/dlpoly/__main__.py +31 -0
  24. atomisticparsers/dlpoly/metainfo/__init__.py +19 -0
  25. atomisticparsers/dlpoly/metainfo/dl_poly.py +312 -0
  26. atomisticparsers/dlpoly/parser.py +798 -0
  27. atomisticparsers/gromacs/__init__.py +19 -0
  28. atomisticparsers/gromacs/__main__.py +31 -0
  29. atomisticparsers/gromacs/metainfo/__init__.py +19 -0
  30. atomisticparsers/gromacs/metainfo/gromacs.py +2388 -0
  31. atomisticparsers/gromacs/parser.py +1581 -0
  32. atomisticparsers/gromos/__init__.py +19 -0
  33. atomisticparsers/gromos/__main__.py +31 -0
  34. atomisticparsers/gromos/metainfo/__init__.py +19 -0
  35. atomisticparsers/gromos/metainfo/gromos.py +1995 -0
  36. atomisticparsers/gromos/parser.py +58 -0
  37. atomisticparsers/gulp/__init__.py +19 -0
  38. atomisticparsers/gulp/__main__.py +31 -0
  39. atomisticparsers/gulp/metainfo/__init__.py +19 -0
  40. atomisticparsers/gulp/metainfo/gulp.py +1117 -0
  41. atomisticparsers/gulp/parser.py +1316 -0
  42. atomisticparsers/h5md/__init__.py +19 -0
  43. atomisticparsers/h5md/__main__.py +31 -0
  44. atomisticparsers/h5md/metainfo/__init__.py +19 -0
  45. atomisticparsers/h5md/metainfo/h5md.py +239 -0
  46. atomisticparsers/h5md/parser.py +901 -0
  47. atomisticparsers/lammps/__init__.py +19 -0
  48. atomisticparsers/lammps/__main__.py +31 -0
  49. atomisticparsers/lammps/metainfo/__init__.py +19 -0
  50. atomisticparsers/lammps/metainfo/lammps.py +1417 -0
  51. atomisticparsers/lammps/parser.py +1753 -0
  52. atomisticparsers/libatoms/__init__.py +19 -0
  53. atomisticparsers/libatoms/__main__.py +31 -0
  54. atomisticparsers/libatoms/metainfo/__init__.py +19 -0
  55. atomisticparsers/libatoms/metainfo/lib_atoms.py +251 -0
  56. atomisticparsers/libatoms/parser.py +38 -0
  57. atomisticparsers/namd/__init__.py +19 -0
  58. atomisticparsers/namd/__main__.py +31 -0
  59. atomisticparsers/namd/metainfo/__init__.py +19 -0
  60. atomisticparsers/namd/metainfo/namd.py +1605 -0
  61. atomisticparsers/namd/parser.py +312 -0
  62. atomisticparsers/tinker/__init__.py +19 -0
  63. atomisticparsers/tinker/__main__.py +31 -0
  64. atomisticparsers/tinker/metainfo/__init__.py +18 -0
  65. atomisticparsers/tinker/metainfo/tinker.py +1363 -0
  66. atomisticparsers/tinker/parser.py +685 -0
  67. atomisticparsers/utils/__init__.py +22 -0
  68. atomisticparsers/utils/mdanalysis.py +662 -0
  69. atomisticparsers/utils/parsers.py +226 -0
  70. atomisticparsers/xtb/__init__.py +19 -0
  71. atomisticparsers/xtb/__main__.py +32 -0
  72. atomisticparsers/xtb/metainfo/__init__.py +19 -0
  73. atomisticparsers/xtb/metainfo/xtb.py +256 -0
  74. atomisticparsers/xtb/parser.py +979 -0
  75. nomad_parser_plugins_atomistic-1.0.dist-info/LICENSE +202 -0
  76. nomad_parser_plugins_atomistic-1.0.dist-info/METADATA +327 -0
  77. nomad_parser_plugins_atomistic-1.0.dist-info/RECORD +80 -0
  78. nomad_parser_plugins_atomistic-1.0.dist-info/WHEEL +5 -0
  79. nomad_parser_plugins_atomistic-1.0.dist-info/entry_points.txt +15 -0
  80. nomad_parser_plugins_atomistic-1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,495 @@
1
+ #
2
+ # Copyright The NOMAD Authors.
3
+ #
4
+ # This file is part of NOMAD.
5
+ # See https://nomad-lab.eu for further info.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ import numpy as np # pylint: disable=unused-import
20
+ import typing # pylint: disable=unused-import
21
+ from nomad.metainfo import ( # pylint: disable=unused-import
22
+ MSection,
23
+ MCategory,
24
+ Category,
25
+ Package,
26
+ Quantity,
27
+ Section,
28
+ SubSection,
29
+ SectionProxy,
30
+ Reference,
31
+ )
32
+ import runschema.run # pylint: disable=unused-import
33
+ import runschema.calculation # pylint: disable=unused-import
34
+ import runschema.method # pylint: disable=unused-import
35
+ import runschema.system # pylint: disable=unused-import
36
+ import simulationworkflowschema
37
+
38
+
39
+ m_package = Package()
40
+
41
+
42
+ class x_amber_mdin_method(MCategory):
43
+ """
44
+ Parameters of mdin belonging to section method.
45
+ """
46
+
47
+ m_def = Category()
48
+
49
+
50
+ class x_amber_mdout_single_configuration_calculation(MCategory):
51
+ """
52
+ Parameters of mdout belonging to section_single_configuration_calculation.
53
+ """
54
+
55
+ m_def = Category()
56
+
57
+
58
+ class x_amber_mdout_method(MCategory):
59
+ """
60
+ Parameters of mdin belonging to section method.
61
+ """
62
+
63
+ m_def = Category()
64
+
65
+
66
+ class x_amber_mdout_run(MCategory):
67
+ """
68
+ Parameters of mdin belonging to settings run.
69
+ """
70
+
71
+ m_def = Category()
72
+
73
+
74
+ class x_amber_mdin_run(MCategory):
75
+ """
76
+ Parameters of mdin belonging to settings run.
77
+ """
78
+
79
+ m_def = Category()
80
+
81
+
82
+ class x_amber_section_input_output_files(MSection):
83
+ """
84
+ Temperory variable to store input and output file keywords
85
+ """
86
+
87
+ m_def = Section(validate=False)
88
+
89
+
90
+ class x_amber_section_single_configuration_calculation(MSection):
91
+ """
92
+ section for gathering values for MD steps
93
+ """
94
+
95
+ m_def = Section(validate=False)
96
+
97
+
98
+ class System(runschema.system.System):
99
+ m_def = Section(validate=False, extends_base_section=True)
100
+
101
+ x_amber_atom_positions_image_index = Quantity(
102
+ type=np.int32,
103
+ shape=['number_of_atoms', 3],
104
+ unit='dimensionless',
105
+ description="""
106
+ PBC image flag index.
107
+ """,
108
+ )
109
+
110
+ x_amber_atom_positions_scaled = Quantity(
111
+ type=np.float64,
112
+ shape=['number_of_atoms', 3],
113
+ unit='dimensionless',
114
+ description="""
115
+ Position of the atoms in a scaled format [0, 1].
116
+ """,
117
+ )
118
+
119
+ x_amber_atom_positions_wrapped = Quantity(
120
+ type=np.float64,
121
+ shape=['number_of_atoms', 3],
122
+ unit='meter',
123
+ description="""
124
+ Position of the atoms wrapped back to the periodic box.
125
+ """,
126
+ )
127
+
128
+ x_amber_dummy = Quantity(
129
+ type=str,
130
+ shape=[],
131
+ description="""
132
+ dummy
133
+ """,
134
+ )
135
+
136
+ x_amber_mdin_finline = Quantity(
137
+ type=str,
138
+ shape=[],
139
+ description="""
140
+ finline in mdin
141
+ """,
142
+ )
143
+
144
+ x_amber_traj_timestep_store = Quantity(
145
+ type=str,
146
+ shape=[],
147
+ description="""
148
+ tmp
149
+ """,
150
+ )
151
+
152
+ x_amber_traj_number_of_atoms_store = Quantity(
153
+ type=str,
154
+ shape=[],
155
+ description="""
156
+ tmp
157
+ """,
158
+ )
159
+
160
+ x_amber_traj_box_bound_store = Quantity(
161
+ type=str,
162
+ shape=[],
163
+ description="""
164
+ tmp
165
+ """,
166
+ )
167
+
168
+ x_amber_traj_box_bounds_store = Quantity(
169
+ type=str,
170
+ shape=[],
171
+ description="""
172
+ tmp
173
+ """,
174
+ )
175
+
176
+ x_amber_traj_variables_store = Quantity(
177
+ type=str,
178
+ shape=[],
179
+ description="""
180
+ tmp
181
+ """,
182
+ )
183
+
184
+ x_amber_traj_atoms_store = Quantity(
185
+ type=str,
186
+ shape=[],
187
+ description="""
188
+ tmp
189
+ """,
190
+ )
191
+
192
+
193
+ class MolecularDynamics(simulationworkflowschema.MolecularDynamics):
194
+ m_def = Section(validate=False, extends_base_section=True)
195
+
196
+ x_amber_barostat_target_pressure = Quantity(
197
+ type=np.float64,
198
+ shape=[],
199
+ unit='pascal',
200
+ description="""
201
+ MD barostat target pressure.
202
+ """,
203
+ )
204
+
205
+ x_amber_barostat_tau = Quantity(
206
+ type=np.float64,
207
+ shape=[],
208
+ unit='second',
209
+ description="""
210
+ MD barostat relaxation time.
211
+ """,
212
+ )
213
+
214
+ x_amber_barostat_type = Quantity(
215
+ type=str,
216
+ shape=[],
217
+ description="""
218
+ MD barostat type, valid values are defined in the barostat_type wiki page.
219
+ """,
220
+ )
221
+
222
+ x_amber_integrator_dt = Quantity(
223
+ type=np.float64,
224
+ shape=[],
225
+ unit='second',
226
+ description="""
227
+ MD integration time step.
228
+ """,
229
+ )
230
+
231
+ x_amber_integrator_type = Quantity(
232
+ type=str,
233
+ shape=[],
234
+ description="""
235
+ MD integrator type, valid values are defined in the integrator_type wiki page.
236
+ """,
237
+ )
238
+
239
+ x_amber_periodicity_type = Quantity(
240
+ type=str,
241
+ shape=[],
242
+ description="""
243
+ Periodic boundary condition type in the sampling (non-PBC or PBC).
244
+ """,
245
+ )
246
+
247
+ x_amber_langevin_gamma = Quantity(
248
+ type=np.float64,
249
+ shape=[],
250
+ unit='second',
251
+ description="""
252
+ Langevin thermostat damping factor.
253
+ """,
254
+ )
255
+
256
+ x_amber_number_of_steps_requested = Quantity(
257
+ type=np.float64,
258
+ shape=[],
259
+ description="""
260
+ Number of requested MD integration time steps.
261
+ """,
262
+ )
263
+
264
+ x_amber_thermostat_level = Quantity(
265
+ type=str,
266
+ shape=[],
267
+ description="""
268
+ MD thermostat level (see wiki: single, multiple, regional).
269
+ """,
270
+ )
271
+
272
+ x_amber_thermostat_target_temperature = Quantity(
273
+ type=np.float64,
274
+ shape=[],
275
+ unit='kelvin',
276
+ description="""
277
+ MD thermostat target temperature.
278
+ """,
279
+ )
280
+
281
+ x_amber_thermostat_tau = Quantity(
282
+ type=np.float64,
283
+ shape=[],
284
+ unit='second',
285
+ description="""
286
+ MD thermostat relaxation time.
287
+ """,
288
+ )
289
+
290
+ x_amber_thermostat_type = Quantity(
291
+ type=str,
292
+ shape=[],
293
+ description="""
294
+ MD thermostat type, valid values are defined in the thermostat_type wiki page.
295
+ """,
296
+ )
297
+
298
+
299
+ class AtomParameters(runschema.method.AtomParameters):
300
+ m_def = Section(validate=False, extends_base_section=True)
301
+
302
+ x_amber_atom_type_element = Quantity(
303
+ type=str,
304
+ shape=[],
305
+ description="""
306
+ Element symbol of an atom type.
307
+ """,
308
+ )
309
+
310
+ x_amber_atom_type_radius = Quantity(
311
+ type=np.float64,
312
+ shape=[],
313
+ description="""
314
+ van der Waals radius of an atom type.
315
+ """,
316
+ )
317
+
318
+
319
+ class Interaction(runschema.method.Interaction):
320
+ m_def = Section(validate=False, extends_base_section=True)
321
+
322
+ x_amber_interaction_atom_to_atom_type_ref = Quantity(
323
+ type=runschema.method.AtomParameters,
324
+ shape=['number_of_atoms_per_interaction'],
325
+ description="""
326
+ Reference to the atom type of each interaction atoms.
327
+ """,
328
+ )
329
+
330
+ x_amber_number_of_defined_pair_interactions = Quantity(
331
+ type=np.int32,
332
+ shape=[],
333
+ description="""
334
+ Number of defined pair interactions (L-J pairs).
335
+ """,
336
+ )
337
+
338
+ x_amber_pair_interaction_atom_type_ref = Quantity(
339
+ type=runschema.method.AtomParameters,
340
+ shape=[
341
+ 'x_amber_number_of_defined_pair_interactions',
342
+ 'number_of_atoms_per_interaction',
343
+ ],
344
+ description="""
345
+ Reference to the atom type for pair interactions.
346
+ """,
347
+ )
348
+
349
+ x_amber_pair_interaction_parameters = Quantity(
350
+ type=np.float64,
351
+ shape=['x_amber_number_of_defined_pair_interactions', 2],
352
+ description="""
353
+ Pair interactions parameters.
354
+ """,
355
+ )
356
+
357
+ x_amber_molecule_interaction_atom_to_atom_type_ref = Quantity(
358
+ type=runschema.method.AtomParameters,
359
+ shape=['number_of_atoms_per_interaction'],
360
+ description="""
361
+ Reference to the atom type of each molecule interaction atoms.
362
+ """,
363
+ )
364
+
365
+ x_amber_number_of_defined_molecule_pair_interactions = Quantity(
366
+ type=np.int32,
367
+ shape=[],
368
+ description="""
369
+ Number of defined pair interactions within a molecule (L-J pairs).
370
+ """,
371
+ )
372
+
373
+ x_amber_pair_molecule_interaction_parameters = Quantity(
374
+ type=np.float64,
375
+ shape=['number_of_defined_molecule_pair_interactions', 2],
376
+ description="""
377
+ Molecule pair interactions parameters.
378
+ """,
379
+ )
380
+
381
+ x_amber_pair_molecule_interaction_to_atom_type_ref = Quantity(
382
+ type=runschema.method.AtomParameters,
383
+ shape=[
384
+ 'x_amber_number_of_defined_pair_interactions',
385
+ 'number_of_atoms_per_interaction',
386
+ ],
387
+ description="""
388
+ Reference to the atom type for pair interactions within a molecule.
389
+ """,
390
+ )
391
+
392
+
393
+ class Run(runschema.run.Run):
394
+ m_def = Section(validate=False, extends_base_section=True)
395
+
396
+ x_amber_program_version_date = Quantity(
397
+ type=str,
398
+ shape=[],
399
+ description="""
400
+ Program version date.
401
+ """,
402
+ )
403
+
404
+ x_amber_xlo_xhi = Quantity(
405
+ type=str,
406
+ shape=[],
407
+ description="""
408
+ test
409
+ """,
410
+ )
411
+
412
+ x_amber_data_file_store = Quantity(
413
+ type=str,
414
+ shape=[],
415
+ description="""
416
+ Filename of data file
417
+ """,
418
+ )
419
+
420
+ x_amber_program_working_path = Quantity(
421
+ type=str,
422
+ shape=[],
423
+ description="""
424
+ tmp
425
+ """,
426
+ )
427
+
428
+ x_amber_program_execution_host = Quantity(
429
+ type=str,
430
+ shape=[],
431
+ description="""
432
+ tmp
433
+ """,
434
+ )
435
+
436
+ x_amber_program_execution_path = Quantity(
437
+ type=str,
438
+ shape=[],
439
+ description="""
440
+ tmp
441
+ """,
442
+ )
443
+
444
+ x_amber_program_module = Quantity(
445
+ type=str,
446
+ shape=[],
447
+ description="""
448
+ tmp
449
+ """,
450
+ )
451
+
452
+ x_amber_program_execution_date = Quantity(
453
+ type=str,
454
+ shape=[],
455
+ description="""
456
+ tmp
457
+ """,
458
+ )
459
+
460
+ x_amber_program_execution_time = Quantity(
461
+ type=str,
462
+ shape=[],
463
+ description="""
464
+ tmp
465
+ """,
466
+ )
467
+
468
+ x_amber_mdin_header = Quantity(
469
+ type=str,
470
+ shape=[],
471
+ description="""
472
+ tmp
473
+ """,
474
+ )
475
+
476
+ x_amber_mdin_wt = Quantity(
477
+ type=str,
478
+ shape=[],
479
+ description="""
480
+ tmp
481
+ """,
482
+ )
483
+
484
+ x_amber_section_input_output_files = SubSection(
485
+ sub_section=SectionProxy('x_amber_section_input_output_files'), repeats=False
486
+ )
487
+
488
+
489
+ class Calculation(runschema.calculation.Calculation):
490
+ m_def = Section(validate=False, extends_base_section=True)
491
+
492
+ x_amber_section_single_configuration_calculation = SubSection(
493
+ sub_section=SectionProxy('x_amber_section_single_configuration_calculation'),
494
+ repeats=True,
495
+ )
@@ -0,0 +1,42 @@
1
+ #
2
+ # Copyright The NOMAD Authors.
3
+ #
4
+ # This file is part of NOMAD.
5
+ # See https://nomad-lab.eu for further info.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+
20
+ from nomad.units import ureg
21
+ from simulationparsers.utils import BasicParser
22
+
23
+
24
+ class AmberParser:
25
+ def __init__(self):
26
+ re_f = r'\-*\d+\.\d+E*\-*\+*\d*'
27
+ self._parser = BasicParser(
28
+ 'Amber',
29
+ units_mapping=dict(length=ureg.angstrom, energy=ureg.eV),
30
+ program_version=r'Amber\s*(\d+)\s*(\w+)\s*(\d+)',
31
+ # will only read initial coordinates
32
+ auxilliary_files=r'(\S+\.inpcrd|\S+\.prmtop)',
33
+ atom_positions=(
34
+ rf'\d+\s+({re_f} +{re_f} +{re_f} +{re_f} +{re_f} +{re_f}[\s\S]+)',
35
+ lambda x: x.strip().split(),
36
+ ),
37
+ atom_atom_number=r'\%FLAG ATOMIC_NUMBER\s*\%FORMAT\(.+\)\s*([\d\s]+)',
38
+ energy_total=rf'NSTEP\s*ENERGY.+\s*\d+\s*({re_f})',
39
+ )
40
+
41
+ def parse(self, mainfile, archive, logger=None):
42
+ self._parser.parse(mainfile, archive, logger=None)
@@ -0,0 +1,19 @@
1
+ #
2
+ # Copyright The NOMAD Authors.
3
+ #
4
+ # This file is part of NOMAD.
5
+ # See https://nomad-lab.eu for further info.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ from .parser import AsapParser
@@ -0,0 +1,31 @@
1
+ #
2
+ # Copyright The NOMAD Authors.
3
+ #
4
+ # This file is part of NOMAD.
5
+ # See https://nomad-lab.eu for further info.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ import sys
20
+ import json
21
+ import logging
22
+
23
+ from nomad.utils import configure_logging
24
+ from nomad.datamodel import EntryArchive
25
+ from atomisticparsers.asap import AsapParser
26
+
27
+ if __name__ == '__main__':
28
+ configure_logging(console_log_level=logging.DEBUG)
29
+ archive = EntryArchive()
30
+ AsapParser().parse(sys.argv[1], archive, logging)
31
+ json.dump(archive.m_to_dict(), sys.stdout, indent=2)
@@ -0,0 +1,19 @@
1
+ #
2
+ # Copyright The NOMAD Authors.
3
+ #
4
+ # This file is part of NOMAD.
5
+ # See https://nomad-lab.eu for further info.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ from . import asap
@@ -0,0 +1,75 @@
1
+ #
2
+ # Copyright The NOMAD Authors.
3
+ #
4
+ # This file is part of NOMAD.
5
+ # See https://nomad-lab.eu for further info.
6
+ #
7
+ # Licensed under the Apache License, Version 2.0 (the "License");
8
+ # you may not use this file except in compliance with the License.
9
+ # You may obtain a copy of the License at
10
+ #
11
+ # http://www.apache.org/licenses/LICENSE-2.0
12
+ #
13
+ # Unless required by applicable law or agreed to in writing, software
14
+ # distributed under the License is distributed on an "AS IS" BASIS,
15
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ # See the License for the specific language governing permissions and
17
+ # limitations under the License.
18
+ #
19
+ import numpy as np # pylint: disable=unused-import
20
+ import typing # pylint: disable=unused-import
21
+ from nomad.metainfo import ( # pylint: disable=unused-import
22
+ MSection,
23
+ MCategory,
24
+ Category,
25
+ Package,
26
+ Quantity,
27
+ Section,
28
+ SubSection,
29
+ SectionProxy,
30
+ Reference,
31
+ )
32
+ import simulationworkflowschema
33
+
34
+
35
+ m_package = Package()
36
+
37
+
38
+ class MolecularDynamics(simulationworkflowschema.MolecularDynamics):
39
+ m_def = Section(validate=False, extends_base_section=True)
40
+
41
+ x_asap_langevin_friction = Quantity(
42
+ type=np.float64,
43
+ shape=[],
44
+ description="""
45
+ Friction coeffient used in Langevin dynamics
46
+ """,
47
+ )
48
+
49
+ x_asap_temperature = Quantity(
50
+ type=np.float64,
51
+ shape=[],
52
+ description="""
53
+ Temperature used in molecular-dynamics
54
+ """,
55
+ )
56
+
57
+ x_asap_timestep = Quantity(
58
+ type=np.float64,
59
+ shape=[],
60
+ description="""
61
+ Timestep in molecular dynamics
62
+ """,
63
+ )
64
+
65
+
66
+ class GeometryOptimization(simulationworkflowschema.GeometryOptimization):
67
+ m_def = Section(validate=False, extends_base_section=True)
68
+
69
+ x_asap_maxstep = Quantity(
70
+ type=np.float64,
71
+ shape=[],
72
+ description="""
73
+ Maxstep in Angstrom for geometry optimization
74
+ """,
75
+ )