Skip to content

Commit 67a71ad

Browse files
committed
parser format updates
1 parent b893564 commit 67a71ad

File tree

5 files changed

+43
-85
lines changed

5 files changed

+43
-85
lines changed

src/nomad_simulation_parsers/parsers/gromacs/mdanalysis_parser.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -158,9 +158,7 @@ def get_force_field_parameters(
158158
)
159159
return []
160160
gromacs_version = (
161-
gromacs_version.split('.', maxsplit=1)[0]
162-
if gromacs_version
163-
else None
161+
gromacs_version.split('.', maxsplit=1)[0] if gromacs_version else None
164162
)
165163
if gromacs_version == '2024':
166164
self.logger.warning(

src/nomad_simulation_parsers/schema_packages/abinit.py

Lines changed: 36 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -11,53 +11,24 @@
1111

1212
m_package = SchemaPackage()
1313

14-
# TODO Implement for new model
15-
"""class GeometryOptimizationMethod(
16-
workflow.geometry_optimization.GeometryOptimizationMethod
17-
):
18-
workflow.geometry_optimization.GeometryOptimizationMethod.convergence_tolerance_energy_difference.m_annotations.setdefault(
19-
MAPPING_ANNOTATION_KEY, {}
20-
).update(
21-
dict(
22-
out=Mapper(
23-
mapper=(
24-
'get_input_var',
25-
[],
26-
dict(name='tolmxde', n_dataset=1, default=0.0),
27-
),
28-
unit='hartree',
29-
)
30-
)
31-
)
32-
add_mapping_annotation(
33-
workflow.geometry_optimization.GeometryOptimizationMethod.convergence_targets,
34-
OUT_KEY,
35-
('get_geometry_convergence', []),
36-
)
14+
OUT_KEY = 'abinit_out'
15+
DOS_KEY = 'abinit_dos'
3716

3817

39-
""" add_mapping_annotation(
40-
workflow.geometry_optimization.GeometryOptimizationMethod.convergence_tolerance_energy_difference,
41-
OUT_KEY,
42-
('get_input_var', [], dict(name='tolmxde', n_dataset=1, default=0.0)),
43-
unit='hartree',
44-
)
18+
class GeometryOptimizationMethod(
19+
workflow.geometry_optimization.GeometryOptimizationMethod
20+
):
4521
add_mapping_annotation(
46-
workflow.geometry_optimization.GeometryOptimizationMethod.convergence_tolerance_force_maximum,
22+
workflow.geometry_optimization.GeometryOptimizationMethod.optimization_method,
4723
OUT_KEY,
48-
('get_input_var', [], dict(name='tolmxf', n_dataset=1, default=0.0)),
49-
unit='hartree/bohr',
24+
('get_workflow_method', []),
5025
)
51-
"""
52-
# Geometry Optimization
5326

54-
workflow.geometry_optimization.GeometryOptimizationMethod.m_def.m_annotations.setdefault(
55-
MAPPING_ANNOTATION_KEY, {}
56-
).update(dict(out=Mapper(mapper='@')))
5727

58-
workflow.GeometryOptimization.m_def.m_annotations.setdefault(
59-
MAPPING_ANNOTATION_KEY, {}
60-
).update(dict(out=Mapper(mapper='@')))
28+
add_mapping_annotation(
29+
workflow.geometry_optimization.GeometryOptimizationMethod.m_def, OUT_KEY, '@'
30+
)
31+
add_mapping_annotation(workflow.GeometryOptimization.m_def, OUT_KEY, '@')
6132

6233

6334
class Program(general.Program):
@@ -96,28 +67,24 @@ class XCComponent(model_method.XCComponent):
9667
)
9768

9869

99-
# class XCFunctional(model_method.XCFunctional):
100-
# model_method.XCFunctional.libxc_name.m_annotations.setdefault(
101-
# MAPPING_ANNOTATION_KEY, {}
102-
# ).update(dict(out=Mapper(mapper='.XC_functional_name')))
70+
class XCFunctional(model_method.XCFunctional):
71+
add_mapping_annotation(
72+
model_method.XCFunctional.components, OUT_KEY, ('get_xc_functionals', [])
73+
)
10374

10475

105-
# class DFT(model_method.DFT):
106-
# model_method.DFT.xc_functionals.m_annotations.setdefault(
107-
# MAPPING_ANNOTATION_KEY, {}
108-
# ).update(dict(out=Mapper(mapper=('get_xc_functionals', []))))
76+
class DFT(model_method.DFT):
77+
add_mapping_annotation(model_method.DFT.xc, OUT_KEY, '.@')
10978

11079

111-
# class TotalEnergy(outputs.TotalEnergy):
112-
# outputs.TotalEnergy.value.m_annotations.setdefault(
113-
# MAPPING_ANNOTATION_KEY, {}
114-
# ).update(dict(out=Mapper(mapper='.value || .energy_total')))
115-
# outputs.TotalEnergy.name.m_annotations.setdefault(
116-
# MAPPING_ANNOTATION_KEY, {}
117-
# ).update(dict(out=Mapper(mapper='.name')))
118-
# outputs.TotalEnergy.contributions.m_annotations.setdefault(
119-
# MAPPING_ANNOTATION_KEY, {}
120-
# ).update(dict(out=Mapper(mapper=('get_energy_contributions', ['.@']))))
80+
class TotalEnergy(outputs.TotalEnergy):
81+
add_mapping_annotation(
82+
outputs.TotalEnergy.value, OUT_KEY, '.value || .energy_total'
83+
)
84+
add_mapping_annotation(outputs.TotalEnergy.name, OUT_KEY, '.name')
85+
add_mapping_annotation(
86+
outputs.TotalEnergy.contributions, OUT_KEY, ('get_energy_contributions', ['.@'])
87+
)
12188

12289

12390
class TotalForce(outputs.TotalForce):
@@ -136,25 +103,17 @@ class ElectronicBandStructure(outputs.ElectronicBandStructure):
136103
)
137104

138105

139-
# class Outputs(outputs.Outputs):
140-
# outputs.Outputs.total_energies.m_annotations.setdefault(
141-
# MAPPING_ANNOTATION_KEY, {}
142-
# ).update(dict(out=Mapper(mapper='.@')))
143-
# outputs.Outputs.total_forces.m_annotations.setdefault(
144-
# MAPPING_ANNOTATION_KEY, {}
145-
# ).update(dict(out=Mapper(mapper='.@')))
146-
# outputs.Outputs.electronic_dos.m_annotations.setdefault(
147-
# MAPPING_ANNOTATION_KEY, {}
148-
# ).update(dict(dos=Mapper(mapper=('get_dos', ['.data']))))
149-
# outputs.Outputs.electronic_band_structures.m_annotations.setdefault(
150-
# MAPPING_ANNOTATION_KEY, {}
151-
# ).update(
152-
# dict(
153-
# out=Mapper(
154-
# mapper=('get_bandstructures', ['.eigenvalues', '.occupation_numbers'])
155-
# )
156-
# )
157-
# )
106+
class Outputs(outputs.Outputs):
107+
add_mapping_annotation(outputs.Outputs.total_energies, OUT_KEY, '.@')
108+
add_mapping_annotation(outputs.Outputs.total_forces, OUT_KEY, '.@')
109+
add_mapping_annotation(
110+
outputs.Outputs.electronic_dos, DOS_KEY, ('get_dos', ['.data'])
111+
)
112+
add_mapping_annotation(
113+
outputs.Outputs.electronic_band_structures,
114+
OUT_KEY,
115+
('get_bandstructures', ['.eigenvalues', '.occupation_numbers']),
116+
)
158117

159118

160119
class Simulation(general.Simulation):

src/nomad_simulation_parsers/schema_packages/ams.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,10 @@ class ElectronicEigenvalues(outputs.ElectronicEigenvalues):
7777
outputs.ElectronicEigenvalues.occupation, OUT_KEY, '.occupations'
7878
)
7979

80-
81-
# class Outputs(outputs.Outputs):
82-
# outputs.Outputs.total_energies.m_annotations.setdefault(
83-
# MAPPING_ANNOTATION_KEY, {}
84-
# ).update(dict(out=Mapper(mapper='.@')))
80+
# class Outputs(outputs.Outputs):
81+
# outputs.Outputs.total_energies.m_annotations.setdefault(
82+
# MAPPING_ANNOTATION_KEY, {}
83+
# ).update(dict(out=Mapper(mapper='.@')))
8584
outputs.Outputs.total_forces.m_annotations.setdefault(
8685
MAPPING_ANNOTATION_KEY, {}
8786
).update(dict(out=Mapper(mapper='.@')))

src/nomad_simulation_parsers/schema_packages/exciting.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ def add_mapping_annotations(*args):
2626
for mapping_tuple in args:
2727
add_mapping_annotation(*mapping_tuple)
2828

29+
2930
# TODO Use this structure?:
3031
# add_mapping_annotations(
3132
# model_method.DFT.m_def,

tests/parsers/test_quantumespresso_parser.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ def test_gipaw_epr_deltag_text():
115115
LOGGER,
116116
)
117117

118+
118119
def test_gipaw_epr_deltag_xml():
119120
parser = QuantumEspressoParser()
120121
archive = EntryArchive()

0 commit comments

Comments
 (0)