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,1117 @@
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
+
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_gulp_section_main_keyword(MSection):
43
+ """
44
+ Section for GULP calculation mode input variable
45
+ """
46
+
47
+ m_def = Section(validate=False)
48
+
49
+ x_gulp_main_keyword = Quantity(
50
+ type=str,
51
+ shape=[],
52
+ description="""
53
+ GULP calculation mode input variable
54
+ """,
55
+ )
56
+
57
+
58
+ class x_gulp_section_forcefield(MSection):
59
+ """
60
+ Section for GULP force field specification
61
+ """
62
+
63
+ m_def = Section(validate=False)
64
+
65
+ x_gulp_forcefield_species_1 = Quantity(
66
+ type=str,
67
+ shape=[],
68
+ description="""
69
+ GULP force field species 1
70
+ """,
71
+ )
72
+
73
+ x_gulp_forcefield_species_2 = Quantity(
74
+ type=str,
75
+ shape=[],
76
+ description="""
77
+ GULP force field species 2
78
+ """,
79
+ )
80
+
81
+ x_gulp_forcefield_species_3 = Quantity(
82
+ type=str,
83
+ shape=[],
84
+ description="""
85
+ GULP force field species 3
86
+ """,
87
+ )
88
+
89
+ x_gulp_forcefield_species_4 = Quantity(
90
+ type=str,
91
+ shape=[],
92
+ description="""
93
+ GULP force field species 4
94
+ """,
95
+ )
96
+
97
+ x_gulp_forcefield_speciestype_1 = Quantity(
98
+ type=str,
99
+ shape=[],
100
+ description="""
101
+ GULP force field speciestype 1
102
+ """,
103
+ )
104
+
105
+ x_gulp_forcefield_speciestype_2 = Quantity(
106
+ type=str,
107
+ shape=[],
108
+ description="""
109
+ GULP force field speciestype 2
110
+ """,
111
+ )
112
+
113
+ x_gulp_forcefield_speciestype_3 = Quantity(
114
+ type=str,
115
+ shape=[],
116
+ description="""
117
+ GULP force field speciestype 3
118
+ """,
119
+ )
120
+
121
+ x_gulp_forcefield_speciestype_4 = Quantity(
122
+ type=str,
123
+ shape=[],
124
+ description="""
125
+ GULP force field speciestype 4
126
+ """,
127
+ )
128
+
129
+ x_gulp_forcefield_potential_name = Quantity(
130
+ type=str,
131
+ shape=[],
132
+ description="""
133
+ GULP force field potential name
134
+ """,
135
+ )
136
+
137
+ x_gulp_forcefield_parameter_a = Quantity(
138
+ type=np.float64,
139
+ shape=[],
140
+ description="""
141
+ GULP force field parameter A
142
+ """,
143
+ )
144
+
145
+ x_gulp_forcefield_parameter_b = Quantity(
146
+ type=np.float64,
147
+ shape=[],
148
+ description="""
149
+ GULP force field parameter B
150
+ """,
151
+ )
152
+
153
+ x_gulp_forcefield_parameter_c = Quantity(
154
+ type=np.float64,
155
+ shape=[],
156
+ description="""
157
+ GULP force field parameter C
158
+ """,
159
+ )
160
+
161
+ x_gulp_forcefield_parameter_d = Quantity(
162
+ type=np.float64,
163
+ shape=[],
164
+ description="""
165
+ GULP force field parameter D
166
+ """,
167
+ )
168
+
169
+ x_gulp_forcefield_cutoff_min = Quantity(
170
+ type=str,
171
+ shape=[],
172
+ description="""
173
+ GULP force field cutoff min (can also be a string like 3Bond for some reason)
174
+ """,
175
+ )
176
+
177
+ x_gulp_forcefield_cutoff_max = Quantity(
178
+ type=np.float64,
179
+ shape=[],
180
+ description="""
181
+ GULP force field cutoff max
182
+ """,
183
+ )
184
+
185
+ x_gulp_forcefield_threebody_1 = Quantity(
186
+ type=str,
187
+ shape=[],
188
+ description="""
189
+ GULP 3-body force field parameter 1
190
+ """,
191
+ )
192
+
193
+ x_gulp_forcefield_threebody_2 = Quantity(
194
+ type=np.float64,
195
+ shape=[],
196
+ description="""
197
+ GULP 3-body force field parameter 2
198
+ """,
199
+ )
200
+
201
+ x_gulp_forcefield_threebody_3 = Quantity(
202
+ type=np.float64,
203
+ shape=[],
204
+ description="""
205
+ GULP 3-body force field parameter 3
206
+ """,
207
+ )
208
+
209
+ x_gulp_forcefield_threebody_theta = Quantity(
210
+ type=np.float64,
211
+ shape=[],
212
+ description="""
213
+ GULP 3-body force field parameter theta
214
+ """,
215
+ )
216
+
217
+ x_gulp_forcefield_fourbody_force_constant = Quantity(
218
+ type=np.float64,
219
+ shape=[],
220
+ description="""
221
+ GULP 4-body force field parameter force constant
222
+ """,
223
+ )
224
+
225
+ x_gulp_forcefield_fourbody_sign = Quantity(
226
+ type=str,
227
+ shape=[],
228
+ description="""
229
+ GULP 4-body force field parameter sign
230
+ """,
231
+ )
232
+
233
+ x_gulp_forcefield_fourbody_phase = Quantity(
234
+ type=np.float64,
235
+ shape=[],
236
+ description="""
237
+ GULP 4-body force field parameter phase
238
+ """,
239
+ )
240
+
241
+ x_gulp_forcefield_fourbody_phi0 = Quantity(
242
+ type=np.float64,
243
+ shape=[],
244
+ description="""
245
+ GULP 4-body force field parameter phi0
246
+ """,
247
+ )
248
+
249
+
250
+ class System(runschema.system.System):
251
+ m_def = Section(validate=False, extends_base_section=True)
252
+
253
+ x_gulp_patterson_group = Quantity(
254
+ type=str,
255
+ shape=[],
256
+ description="""
257
+ Patterson group
258
+ """,
259
+ )
260
+
261
+ x_gulp_space_group = Quantity(
262
+ type=str,
263
+ shape=[],
264
+ description="""
265
+ Space group
266
+ """,
267
+ )
268
+
269
+ x_gulp_formula = Quantity(
270
+ type=str,
271
+ shape=[],
272
+ description="""
273
+ GULP chemical formula
274
+ """,
275
+ )
276
+
277
+ x_gulp_cell_alpha = Quantity(
278
+ type=np.float64,
279
+ shape=[],
280
+ description="""
281
+ grrr
282
+ """,
283
+ )
284
+
285
+ x_gulp_cell_beta = Quantity(
286
+ type=np.float64,
287
+ shape=[],
288
+ description="""
289
+ grrr
290
+ """,
291
+ )
292
+
293
+ x_gulp_cell_gamma = Quantity(
294
+ type=np.float64,
295
+ shape=[],
296
+ description="""
297
+ grrr
298
+ """,
299
+ )
300
+
301
+ x_gulp_cell_a = Quantity(
302
+ type=np.float64,
303
+ shape=[],
304
+ description="""
305
+ grrr
306
+ """,
307
+ )
308
+
309
+ x_gulp_cell_b = Quantity(
310
+ type=np.float64,
311
+ shape=[],
312
+ description="""
313
+ grrr
314
+ """,
315
+ )
316
+
317
+ x_gulp_cell_c = Quantity(
318
+ type=np.float64,
319
+ shape=[],
320
+ description="""
321
+ grrr
322
+ """,
323
+ )
324
+
325
+ x_gulp_prim_cell_alpha = Quantity(
326
+ type=np.float64,
327
+ shape=[],
328
+ description="""
329
+ grrr
330
+ """,
331
+ )
332
+
333
+ x_gulp_prim_cell_beta = Quantity(
334
+ type=np.float64,
335
+ shape=[],
336
+ description="""
337
+ grrr
338
+ """,
339
+ )
340
+
341
+ x_gulp_prim_cell_gamma = Quantity(
342
+ type=np.float64,
343
+ shape=[],
344
+ description="""
345
+ grrr
346
+ """,
347
+ )
348
+
349
+ x_gulp_prim_cell_a = Quantity(
350
+ type=np.float64,
351
+ shape=[],
352
+ description="""
353
+ grrr
354
+ """,
355
+ )
356
+
357
+ x_gulp_prim_cell_b = Quantity(
358
+ type=np.float64,
359
+ shape=[],
360
+ description="""
361
+ grrr
362
+ """,
363
+ )
364
+
365
+ x_gulp_prim_cell_c = Quantity(
366
+ type=np.float64,
367
+ shape=[],
368
+ description="""
369
+ grrr
370
+ """,
371
+ )
372
+
373
+ x_gulp_pbc = Quantity(
374
+ type=np.int32,
375
+ shape=[],
376
+ description="""
377
+ grrr
378
+ """,
379
+ )
380
+
381
+
382
+ class Run(runschema.run.Run):
383
+ m_def = Section(validate=False, extends_base_section=True)
384
+
385
+ x_gulp_title = Quantity(
386
+ type=str,
387
+ shape=[],
388
+ description="""
389
+ Title of GULP calculation
390
+ """,
391
+ )
392
+
393
+ x_gulp_n_cpu = Quantity(
394
+ type=np.int32,
395
+ shape=[],
396
+ description="""
397
+ """,
398
+ )
399
+
400
+ x_gulp_host_name = Quantity(
401
+ type=str,
402
+ shape=[],
403
+ description="""
404
+ """,
405
+ )
406
+
407
+ x_gulp_total_n_configurations_input = Quantity(
408
+ type=np.int32,
409
+ shape=[],
410
+ description="""
411
+ """,
412
+ )
413
+
414
+ x_gulp_section_main_keyword = SubSection(
415
+ sub_section=SectionProxy('x_gulp_section_main_keyword'), repeats=True
416
+ )
417
+
418
+
419
+ class Method(runschema.method.Method):
420
+ m_def = Section(validate=False, extends_base_section=True)
421
+
422
+ x_gulp_number_of_species = Quantity(
423
+ type=int,
424
+ shape=[],
425
+ description="""
426
+ Number of species in GULP
427
+ """,
428
+ )
429
+
430
+ x_gulp_species_charge = Quantity(
431
+ type=np.float64,
432
+ shape=['x_gulp_number_of_species'],
433
+ description="""
434
+ Number of species in GULP
435
+ """,
436
+ )
437
+
438
+ x_gulp_section_forcefield = SubSection(
439
+ sub_section=SectionProxy('x_gulp_section_forcefield'), repeats=True
440
+ )
441
+
442
+
443
+ class AtomParameters(runschema.method.AtomParameters):
444
+ m_def = Section(validate=False, extends_base_section=True)
445
+
446
+ x_gulp_type = Quantity(
447
+ type=str,
448
+ shape=[],
449
+ description="""
450
+ """,
451
+ )
452
+
453
+ x_gulp_covalent_radius = Quantity(
454
+ type=np.float64,
455
+ shape=[],
456
+ unit='m',
457
+ description="""
458
+ """,
459
+ )
460
+
461
+ x_gulp_ionic_radius = Quantity(
462
+ type=np.float64,
463
+ shape=[],
464
+ unit='m',
465
+ description="""
466
+ """,
467
+ )
468
+
469
+ x_gulp_vdw_radius = Quantity(
470
+ type=np.float64,
471
+ shape=[],
472
+ unit='m',
473
+ description="""
474
+ """,
475
+ )
476
+
477
+
478
+ class Energy(runschema.calculation.Energy):
479
+ m_def = Section(validate=False, extends_base_section=True)
480
+
481
+ x_gulp_attachment_energy = Quantity(
482
+ type=np.float64,
483
+ shape=[],
484
+ unit='joule',
485
+ description="""
486
+ GULP energy term for attachment_energy
487
+ """,
488
+ )
489
+
490
+ x_gulp_attachment_unit = Quantity(
491
+ type=np.float64,
492
+ shape=[],
493
+ unit='joule',
494
+ description="""
495
+ GULP energy term for attachment_energy_unit
496
+ """,
497
+ )
498
+
499
+ x_gulp_bond_order_potentials = Quantity(
500
+ type=np.float64,
501
+ shape=[],
502
+ unit='joule',
503
+ description="""
504
+ GULP energy term for bond_order_potentials
505
+ """,
506
+ )
507
+
508
+ x_gulp_brenner_potentials = Quantity(
509
+ type=np.float64,
510
+ shape=[],
511
+ unit='joule',
512
+ description="""
513
+ GULP energy term for brenner_potentials
514
+ """,
515
+ )
516
+
517
+ x_gulp_bulk = Quantity(
518
+ type=np.float64,
519
+ shape=[],
520
+ unit='joule',
521
+ description="""
522
+ GULP energy term for bulk_energy
523
+ """,
524
+ )
525
+
526
+ x_gulp_dispersion_real_recip = Quantity(
527
+ type=np.float64,
528
+ shape=[],
529
+ unit='joule',
530
+ description="""
531
+ GULP energy term for dispersion_real_recip
532
+ """,
533
+ )
534
+
535
+ x_gulp_electric_field_times_distance = Quantity(
536
+ type=np.float64,
537
+ shape=[],
538
+ unit='joule',
539
+ description="""
540
+ GULP energy term for electric_field_times_distance
541
+ """,
542
+ )
543
+
544
+ x_gulp_shift = Quantity(
545
+ type=np.float64,
546
+ shape=[],
547
+ unit='joule',
548
+ description="""
549
+ GULP energy term for energy_shift
550
+ """,
551
+ )
552
+
553
+ x_gulp_four_body_potentials = Quantity(
554
+ type=np.float64,
555
+ shape=[],
556
+ unit='joule',
557
+ description="""
558
+ GULP energy term for four_body_potentials
559
+ """,
560
+ )
561
+
562
+ x_gulp_improper_torsions = Quantity(
563
+ type=np.float64,
564
+ shape=[],
565
+ unit='joule',
566
+ description="""
567
+ GULP energy term for improper_torsions
568
+ """,
569
+ )
570
+
571
+ x_gulp_interatomic_potentials = Quantity(
572
+ type=np.float64,
573
+ shape=[],
574
+ unit='joule',
575
+ description="""
576
+ GULP energy term for interatomic_potentials
577
+ """,
578
+ )
579
+
580
+ x_gulp_many_body_potentials = Quantity(
581
+ type=np.float64,
582
+ shape=[],
583
+ unit='joule',
584
+ description="""
585
+ GULP energy term for many_body_potentials
586
+ """,
587
+ )
588
+
589
+ x_gulp_monopole_monopole_real = Quantity(
590
+ type=np.float64,
591
+ shape=[],
592
+ unit='joule',
593
+ description="""
594
+ GULP energy term for monopole_monopole_real
595
+ """,
596
+ )
597
+
598
+ x_gulp_monopole_monopole_recip = Quantity(
599
+ type=np.float64,
600
+ shape=[],
601
+ unit='joule',
602
+ description="""
603
+ GULP energy term for monopole_monopole_recip
604
+ """,
605
+ )
606
+
607
+ x_gulp_monopole_monopole_total = Quantity(
608
+ type=np.float64,
609
+ shape=[],
610
+ unit='joule',
611
+ description="""
612
+ GULP energy term for monopole_monopole_total
613
+ """,
614
+ )
615
+
616
+ x_gulp_neutralising = Quantity(
617
+ type=np.float64,
618
+ shape=[],
619
+ unit='joule',
620
+ description="""
621
+ GULP energy term for neutralising_energy
622
+ """,
623
+ )
624
+
625
+ x_gulp_non_primitive_unit_cell = Quantity(
626
+ type=np.float64,
627
+ shape=[],
628
+ unit='joule',
629
+ description="""
630
+ GULP energy term for non_primitive_unit_cell
631
+ """,
632
+ )
633
+
634
+ x_gulp_out_of_plane_potentials = Quantity(
635
+ type=np.float64,
636
+ shape=[],
637
+ unit='joule',
638
+ description="""
639
+ GULP energy term for out_of_plane_potentials
640
+ """,
641
+ )
642
+
643
+ x_gulp_primitive_unit_cell = Quantity(
644
+ type=np.float64,
645
+ shape=[],
646
+ unit='joule',
647
+ description="""
648
+ GULP energy term for primitive_unit_cell
649
+ """,
650
+ )
651
+
652
+ x_gulp_reaxff_force_field = Quantity(
653
+ type=np.float64,
654
+ shape=[],
655
+ unit='joule',
656
+ description="""
657
+ GULP energy term for reaxff_force_field
658
+ """,
659
+ )
660
+
661
+ x_gulp_region_1_2_interaction = Quantity(
662
+ type=np.float64,
663
+ shape=[],
664
+ unit='joule',
665
+ description="""
666
+ GULP energy term for region_1_2_interaction
667
+ """,
668
+ )
669
+
670
+ x_gulp_region_2_2_interaction = Quantity(
671
+ type=np.float64,
672
+ shape=[],
673
+ unit='joule',
674
+ description="""
675
+ GULP energy term for region_2_2_interaction
676
+ """,
677
+ )
678
+
679
+ x_gulp_self_eem_qeq_sm = Quantity(
680
+ type=np.float64,
681
+ shape=[],
682
+ unit='joule',
683
+ description="""
684
+ GULP energy term for self_energy_eem_qeq_sm
685
+ """,
686
+ )
687
+
688
+ x_gulp_sm_coulomb_correction = Quantity(
689
+ type=np.float64,
690
+ shape=[],
691
+ unit='joule',
692
+ description="""
693
+ GULP energy term for sm_coulomb_correction
694
+ """,
695
+ )
696
+
697
+ x_gulp_solvation = Quantity(
698
+ type=np.float64,
699
+ shape=[],
700
+ unit='joule',
701
+ description="""
702
+ GULP energy term for solvation_energy
703
+ """,
704
+ )
705
+
706
+ x_gulp_three_body_potentials = Quantity(
707
+ type=np.float64,
708
+ shape=[],
709
+ unit='joule',
710
+ description="""
711
+ GULP energy term for three_body_potentials
712
+ """,
713
+ )
714
+
715
+ x_gulp_total_averaged = SubSection(
716
+ sub_section=runschema.calculation.EnergyEntry.m_def
717
+ )
718
+
719
+
720
+ class x_gulp_bulk_optimisation_cycle(MSection):
721
+ m_def = Section(validate=False)
722
+
723
+ x_gulp_energy = Quantity(
724
+ type=np.float64,
725
+ shape=[],
726
+ unit='joule',
727
+ description="""
728
+ """,
729
+ )
730
+
731
+ x_gulp_gnorm = Quantity(
732
+ type=np.float64,
733
+ shape=[],
734
+ description="""
735
+ """,
736
+ )
737
+
738
+ x_gulp_cpu_time = Quantity(
739
+ type=np.float64,
740
+ shape=[],
741
+ unit='s',
742
+ description="""
743
+ """,
744
+ )
745
+
746
+
747
+ class x_gulp_bulk_optimisation(MSection):
748
+ m_def = Section(validate=False)
749
+
750
+ x_gulp_n_variables = Quantity(
751
+ type=np.int32,
752
+ shape=[],
753
+ description="""
754
+ """,
755
+ )
756
+
757
+ x_gulp_max_n_calculations = Quantity(
758
+ type=np.int32,
759
+ shape=[],
760
+ description="""
761
+ """,
762
+ )
763
+
764
+ x_gulp_max_hessian_update_interval = Quantity(
765
+ type=np.int32,
766
+ shape=[],
767
+ description="""
768
+ """,
769
+ )
770
+
771
+ x_gulp_max_step_size = Quantity(
772
+ type=np.float64,
773
+ shape=[],
774
+ description="""
775
+ """,
776
+ )
777
+
778
+ x_gulp_max_parameter_tolerance = Quantity(
779
+ type=np.float64,
780
+ shape=[],
781
+ description="""
782
+ """,
783
+ )
784
+
785
+ x_gulp_max_function_tolerance = Quantity(
786
+ type=np.float64,
787
+ shape=[],
788
+ description="""
789
+ """,
790
+ )
791
+
792
+ x_gulp_max_gradient_tolerance = Quantity(
793
+ type=np.float64,
794
+ shape=[],
795
+ description="""
796
+ """,
797
+ )
798
+
799
+ x_gulp_max_gradient_component = Quantity(
800
+ type=np.float64,
801
+ shape=[],
802
+ description="""
803
+ """,
804
+ )
805
+
806
+ x_gulp_optimiser = Quantity(
807
+ type=str,
808
+ shape=[],
809
+ description="""
810
+ """,
811
+ )
812
+
813
+ x_gulp_hessian_updater = Quantity(
814
+ type=np.float64,
815
+ shape=[],
816
+ description="""
817
+ """,
818
+ )
819
+
820
+ x_gulp_bulk_optimisation_cycle = SubSection(
821
+ sub_section=x_gulp_bulk_optimisation_cycle, repeats=True
822
+ )
823
+
824
+
825
+ class Calculation(runschema.calculation.Calculation):
826
+ m_def = Section(validate=False, extends_base_section=True)
827
+
828
+ x_gulp_md_time = Quantity(
829
+ type=np.float64,
830
+ shape=[],
831
+ description="""
832
+ GULP molecular dynamics time
833
+ """,
834
+ )
835
+
836
+ x_gulp_md_kinetic_energy = Quantity(
837
+ type=np.float64,
838
+ shape=[],
839
+ description="""
840
+ GULP molecular dynamics kinetic energy
841
+ """,
842
+ )
843
+
844
+ x_gulp_md_potential_energy = Quantity(
845
+ type=np.float64,
846
+ shape=[],
847
+ description="""
848
+ GULP molecular dynamics potential energy
849
+ """,
850
+ )
851
+
852
+ x_gulp_md_total_energy = Quantity(
853
+ type=np.float64,
854
+ shape=[],
855
+ description="""
856
+ GULP molecular dynamics total energy
857
+ """,
858
+ )
859
+
860
+ x_gulp_md_temperature = Quantity(
861
+ type=np.float64,
862
+ shape=[],
863
+ description="""
864
+ GULP molecular dynamics temperature
865
+ """,
866
+ )
867
+
868
+ x_gulp_md_pressure = Quantity(
869
+ type=np.float64,
870
+ shape=[],
871
+ description="""
872
+ GULP molecular dynamics pressure
873
+ """,
874
+ )
875
+
876
+ x_gulp_temperature_averaged = Quantity(
877
+ type=np.float64,
878
+ shape=[],
879
+ unit='kelvin',
880
+ description="""
881
+ """,
882
+ )
883
+
884
+ x_gulp_pressure_averaged = Quantity(
885
+ type=np.float64,
886
+ shape=[],
887
+ unit='pascal',
888
+ description="""
889
+ """,
890
+ )
891
+
892
+ x_gulp_piezoelectric_strain_matrix = Quantity(
893
+ type=np.float64,
894
+ shape=[3, 6],
895
+ unit='C / m**2',
896
+ description="""
897
+ """,
898
+ )
899
+
900
+ x_gulp_piezoelectric_stress_matrix = Quantity(
901
+ type=np.float64,
902
+ shape=[3, 6],
903
+ unit='C / N',
904
+ description="""
905
+ """,
906
+ )
907
+
908
+ x_gulp_static_dielectric_constant_tensor = Quantity(
909
+ type=np.float64,
910
+ shape=[3, 3],
911
+ description="""
912
+ """,
913
+ )
914
+
915
+ x_gulp_high_frequency_dielectric_constant_tensor = Quantity(
916
+ type=np.float64,
917
+ shape=[3, 3],
918
+ description="""
919
+ """,
920
+ )
921
+
922
+ x_gulp_static_refractive_indices = Quantity(
923
+ type=np.float64,
924
+ shape=[3],
925
+ description="""
926
+ """,
927
+ )
928
+
929
+ x_gulp_high_frequency_refractive_indices = Quantity(
930
+ type=np.float64,
931
+ shape=[3],
932
+ description="""
933
+ """,
934
+ )
935
+
936
+ x_gulp_bulk_optimisation = SubSection(sub_section=x_gulp_bulk_optimisation.m_def)
937
+
938
+
939
+ class ElasticResults(simulationworkflowschema.ElasticResults):
940
+ m_def = Section(validate=False, extends_base_section=True)
941
+
942
+ x_gulp_velocity_s_wave_reuss = Quantity(
943
+ type=np.float64,
944
+ shape=[],
945
+ unit='m / s',
946
+ description="""
947
+ """,
948
+ )
949
+
950
+ x_gulp_velocity_s_wave_voigt = Quantity(
951
+ type=np.float64,
952
+ shape=[],
953
+ unit='m / s',
954
+ description="""
955
+ """,
956
+ )
957
+
958
+ x_gulp_velocity_s_wave_hill = Quantity(
959
+ type=np.float64,
960
+ shape=[],
961
+ unit='m / s',
962
+ description="""
963
+ """,
964
+ )
965
+
966
+ x_gulp_velocity_p_wave_reuss = Quantity(
967
+ type=np.float64,
968
+ shape=[],
969
+ unit='m / s',
970
+ description="""
971
+ """,
972
+ )
973
+
974
+ x_gulp_velocity_p_wave_voigt = Quantity(
975
+ type=np.float64,
976
+ shape=[],
977
+ unit='m / s',
978
+ description="""
979
+ """,
980
+ )
981
+
982
+ x_gulp_velocity_p_wave_hill = Quantity(
983
+ type=np.float64,
984
+ shape=[],
985
+ unit='m / s',
986
+ description="""
987
+ """,
988
+ )
989
+
990
+ x_gulp_compressibility = Quantity(
991
+ type=np.float64,
992
+ shape=[],
993
+ unit='1 / pascal',
994
+ description="""
995
+ """,
996
+ )
997
+
998
+ # TODO determine if these values can be transformed to the top level definitions
999
+ x_gulp_youngs_modulus_x = Quantity(
1000
+ type=np.float64,
1001
+ shape=[],
1002
+ unit='pascal',
1003
+ description="""
1004
+ """,
1005
+ )
1006
+
1007
+ x_gulp_youngs_modulus_y = Quantity(
1008
+ type=np.float64,
1009
+ shape=[],
1010
+ unit='pascal',
1011
+ description="""
1012
+ """,
1013
+ )
1014
+
1015
+ x_gulp_youngs_modulus_z = Quantity(
1016
+ type=np.float64,
1017
+ shape=[],
1018
+ unit='pascal',
1019
+ description="""
1020
+ """,
1021
+ )
1022
+
1023
+ x_gulp_poissons_ratio = Quantity(
1024
+ type=np.float64,
1025
+ shape=[3, 3],
1026
+ description="""
1027
+ """,
1028
+ )
1029
+
1030
+
1031
+ class MolecularDynamics(simulationworkflowschema.MolecularDynamics):
1032
+ m_def = Section(validate=False, extends_base_section=True)
1033
+
1034
+ x_gulp_friction_temperature_bath = Quantity(
1035
+ type=np.float64,
1036
+ shape=[],
1037
+ description="""
1038
+ """,
1039
+ )
1040
+
1041
+ x_gulp_n_mobile_ions = Quantity(
1042
+ type=np.int32,
1043
+ shape=[],
1044
+ description="""
1045
+ """,
1046
+ )
1047
+
1048
+ x_gulp_n_degrees_of_freedom = Quantity(
1049
+ type=np.int32,
1050
+ shape=[],
1051
+ description="""
1052
+ """,
1053
+ )
1054
+
1055
+ x_gulp_equilibration_time = Quantity(
1056
+ type=np.float64,
1057
+ shape=[],
1058
+ unit='s',
1059
+ description="""
1060
+ """,
1061
+ )
1062
+
1063
+ x_gulp_production_time = Quantity(
1064
+ type=np.float64,
1065
+ shape=[],
1066
+ unit='s',
1067
+ description="""
1068
+ """,
1069
+ )
1070
+
1071
+ x_gulp_scaling_time = Quantity(
1072
+ type=np.float64,
1073
+ shape=[],
1074
+ unit='s',
1075
+ description="""
1076
+ """,
1077
+ )
1078
+
1079
+ x_gulp_scaling_frequency = Quantity(
1080
+ type=np.float64,
1081
+ shape=[],
1082
+ unit='s',
1083
+ description="""
1084
+ """,
1085
+ )
1086
+
1087
+ x_gulp_sampling_frequency = Quantity(
1088
+ type=np.float64,
1089
+ shape=[],
1090
+ unit='s',
1091
+ description="""
1092
+ """,
1093
+ )
1094
+
1095
+ x_gulp_write_frequency = Quantity(
1096
+ type=np.float64,
1097
+ shape=[],
1098
+ unit='s',
1099
+ description="""
1100
+ """,
1101
+ )
1102
+
1103
+ x_gulp_td_force_start_time = Quantity(
1104
+ type=np.float64,
1105
+ shape=[],
1106
+ unit='s',
1107
+ description="""
1108
+ """,
1109
+ )
1110
+
1111
+ x_gulp_td_field_start_time = Quantity(
1112
+ type=np.float64,
1113
+ shape=[],
1114
+ unit='s',
1115
+ description="""
1116
+ """,
1117
+ )