1111
1212m_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
6334class 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
12390class 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
160119class Simulation (general .Simulation ):
0 commit comments