Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
nomad-lab
parser-namd
Commits
b296580f
Commit
b296580f
authored
Jan 27, 2019
by
Mohamed, Fawzi Roberto (fawzi)
Browse files
meta 2.0 changes, to fix
parent
d41015e7
Pipeline
#42787
failed with stage
in 14 minutes and 10 seconds
Changes
3
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
parser/parser-namd/NAMDDictionary.py
View file @
b296580f
...
...
@@ -403,7 +403,7 @@ def get_updateDictionary(self, defname):
# 'settings_geometry_optimization' : MetaInfoMap(startpage),
# 'settings_metadynamics' : MetaInfoMap(startpage),
# 'settings_molecular_dynamics' : MetaInfoMap(startpage),
# 'settings_
M
onte_
C
arlo' : MetaInfoMap(startpage),
# 'settings_
m
onte_
c
arlo' : MetaInfoMap(startpage),
# 'geometry_optimization_energy_change' : MetaInfoMap(startpage,
# depends={
# '' : {'imin' : '1'},
...
...
@@ -617,9 +617,9 @@ def get_updateDictionary(self, defname):
# depends=[{'assign' : 'Force Field'}],
# lookupdict=self.mddataDict
# ),
'energy_
T
0_per_atom'
:
MetaInfoMap
(
startpage
),
'energy_total_
T
0_per_atom'
:
MetaInfoMap
(
startpage
),
'energy_total_
T
0'
:
MetaInfoMap
(
startpage
,
'energy_
t
0_per_atom'
:
MetaInfoMap
(
startpage
),
'energy_total_
t
0_per_atom'
:
MetaInfoMap
(
startpage
),
'energy_total_
t
0'
:
MetaInfoMap
(
startpage
,
depends
=
[{
'value'
:
'POTENTIAL'
}],
valtype
=
'float'
,
unitdict
=
self
.
unitDict
,
...
...
@@ -638,7 +638,7 @@ def get_updateDictionary(self, defname):
'hessian_matrix'
:
MetaInfoMap
(
startpage
),
'single_configuration_calculation_converged'
:
MetaInfoMap
(
startpage
),
'single_configuration_calculation_to_system_ref'
:
MetaInfoMap
(
startpage
),
'single_configuration_
to_
calculation_method_ref'
:
MetaInfoMap
(
startpage
),
'single_configuration_calculation_
to_
method_ref'
:
MetaInfoMap
(
startpage
),
'time_calculation'
:
MetaInfoMap
(
startpage
),
'time_single_configuration_calculation_cpu1_end'
:
MetaInfoMap
(
startpage
),
'time_single_configuration_calculation_cpu1_start'
:
MetaInfoMap
(
startpage
),
...
...
@@ -661,14 +661,14 @@ def get_updateDictionary(self, defname):
# section_single_energy_van_der_Waals of section_single_configuration_calculation
singlevdw
=
{
'energy_van_der_
W
aals_value'
:
MetaInfoMap
(
startpage
,
'energy_van_der_
w
aals_value'
:
MetaInfoMap
(
startpage
,
depends
=
[{
'value'
:
'VDW'
}],
lookupdict
=
self
.
mddataDict
,
valtype
=
'float'
,
unitdict
=
self
.
unitDict
,
unit
=
'kilo-joule/mol'
,
#autoSections=True,
activeSections
=
[
'section_energy_van_der_
W
aals'
]
activeSections
=
[
'section_energy_van_der_
w
aals'
]
),
}
...
...
@@ -676,13 +676,13 @@ def get_updateDictionary(self, defname):
# Definitions for section_frame_sequence
# ------------------------------------------
frameseq
=
{
#'frame_sequence_conserved_quantity_frames' : MetaInfoMap(startpage,
#'
xxx_to_rm_
frame_sequence_conserved_quantity_frames' : MetaInfoMap(startpage,
# depends=[{'store' : 'TS'}],
# valtype='int',
# lookupdict=self.mddataDict
# ),
#'frame_sequence_conserved_quantity_stats' : MetaInfoMap(startpage),
#'
frame_sequence
_conserved_quantity' : MetaInfoMap(startpage,
#'
xxx
_conserved_quantity' : MetaInfoMap(startpage,
# depends=[{'store' : ''}],
# valtype='float',
# unitdict=self.unitDict,
...
...
@@ -691,27 +691,27 @@ def get_updateDictionary(self, defname):
# ),
'frame_sequence_continuation_kind'
:
MetaInfoMap
(
startpage
),
'frame_sequence_external_url'
:
MetaInfoMap
(
startpage
),
'frame_sequence_kinetic_energy_frames'
:
MetaInfoMap
(
startpage
,
'
xxx_to_rm_
frame_sequence_kinetic_energy_frames'
:
MetaInfoMap
(
startpage
,
depends
=
[{
'store'
:
'TS'
}],
valtype
=
'int'
,
lookupdict
=
self
.
mddataDict
),
'frame_sequence_kinetic_energy_stats'
:
MetaInfoMap
(
startpage
),
'
frame_sequence
_kinetic_energy'
:
MetaInfoMap
(
startpage
,
'
xxx
_kinetic_energy'
:
MetaInfoMap
(
startpage
,
depends
=
[{
'store'
:
'KINETIC'
}],
valtype
=
'float'
,
unitdict
=
self
.
unitDict
,
unit
=
'kilo-joule/mol'
,
lookupdict
=
self
.
mddataDict
),
'frame_sequence_
local
_frames_ref'
:
MetaInfoMap
(
startpage
),
'frame_sequence_potential_energy_frames'
:
MetaInfoMap
(
startpage
,
'frame_sequence_
to
_frames_ref'
:
MetaInfoMap
(
startpage
),
'
xxx_to_rm_
frame_sequence_potential_energy_frames'
:
MetaInfoMap
(
startpage
,
depends
=
[{
'store'
:
'TS'
}],
valtype
=
'int'
,
lookupdict
=
self
.
mddataDict
),
'frame_sequence_potential_energy_stats'
:
MetaInfoMap
(
startpage
),
'
frame_sequence
_potential_energy'
:
MetaInfoMap
(
startpage
,
'
xxx
_potential_energy'
:
MetaInfoMap
(
startpage
,
depends
=
[{
'store'
:
'POTENTIAL'
}],
valtype
=
'float'
,
unitdict
=
self
.
unitDict
,
...
...
@@ -730,13 +730,13 @@ def get_updateDictionary(self, defname):
unit
=
'bar'
,
lookupdict
=
self
.
mddataDict
),
'frame_sequence_pressure_frames'
:
MetaInfoMap
(
startpage
,
'
xxx_to_rm_
frame_sequence_pressure_frames'
:
MetaInfoMap
(
startpage
,
depends
=
[{
'store'
:
'TS'
}],
valtype
=
'int'
,
lookupdict
=
self
.
mddataDict
),
'frame_sequence_pressure_stats'
:
MetaInfoMap
(
startpage
),
'
frame_sequence
_pressure'
:
MetaInfoMap
(
startpage
,
'
xxx_instant
_pressure'
:
MetaInfoMap
(
startpage
,
depends
=
[{
'store'
:
'PRESSURE'
}],
valtype
=
'float'
,
unitdict
=
self
.
unitDict
,
...
...
@@ -755,13 +755,13 @@ def get_updateDictionary(self, defname):
unit
=
'Kelvin'
,
lookupdict
=
self
.
mddataDict
),
'frame_sequence_temperature_frames'
:
MetaInfoMap
(
startpage
,
'
xxx_to_rm_
frame_sequence_temperature_frames'
:
MetaInfoMap
(
startpage
,
depends
=
[{
'store'
:
'TS'
}],
valtype
=
'int'
,
lookupdict
=
self
.
mddataDict
),
'frame_sequence_temperature_stats'
:
MetaInfoMap
(
startpage
),
'
frame_sequence
_temperature'
:
MetaInfoMap
(
startpage
,
'
xxx_instant
_temperature'
:
MetaInfoMap
(
startpage
,
depends
=
[{
'store'
:
'TEMP'
}],
valtype
=
'float'
,
unitdict
=
self
.
unitDict
,
...
...
@@ -943,7 +943,7 @@ def get_updateDictionary(self, defname):
unit
=
'kilo-joule/mol'
,
lookupdict
=
self
.
mddataDict
),
#'frame_sequence_to_sampling_ref' : MetaInfoMap(startpage),
#'frame_sequence_to_sampling_
method_
ref' : MetaInfoMap(startpage),
'geometry_optimization_converged'
:
MetaInfoMap
(
startpage
,
value
=
self
.
minConverged
),
...
...
@@ -956,7 +956,7 @@ def get_updateDictionary(self, defname):
# value=(lambda x: np.array(x['val']).flatten().shape[0] if(
# x is not None and x['val'] is not None) else None)(
# self.metaStorage.fetchAttrValue(
# 'frame_sequence_conserved_quantity_frames'
# '
xxx_to_rm_
frame_sequence_conserved_quantity_frames'
# )
# )
# ),
...
...
@@ -964,7 +964,7 @@ def get_updateDictionary(self, defname):
value
=
(
lambda
x
:
np
.
array
(
x
[
'val'
]).
flatten
().
shape
[
0
]
if
(
x
is
not
None
and
x
[
'val'
]
is
not
None
)
else
None
)(
self
.
metaStorage
.
fetchAttrValue
(
'frame_sequence_potential_energy_frames'
'
xxx_to_rm_
frame_sequence_potential_energy_frames'
)
)
),
...
...
@@ -972,7 +972,7 @@ def get_updateDictionary(self, defname):
value
=
(
lambda
x
:
np
.
array
(
x
[
'val'
]).
flatten
().
shape
[
0
]
if
(
x
is
not
None
and
x
[
'val'
]
is
not
None
)
else
None
)(
self
.
metaStorage
.
fetchAttrValue
(
'frame_sequence_kinetic_energy_frames'
'
xxx_to_rm_
frame_sequence_kinetic_energy_frames'
)
)
),
...
...
@@ -981,7 +981,7 @@ def get_updateDictionary(self, defname):
value
=
(
lambda
x
:
np
.
array
(
x
[
'val'
]).
flatten
().
shape
[
0
]
if
(
x
is
not
None
and
x
[
'val'
]
is
not
None
)
else
None
)(
self
.
metaStorage
.
fetchAttrValue
(
'frame_sequence_potential_energy_frames'
'
xxx_to_rm_
frame_sequence_potential_energy_frames'
)
)
),
...
...
@@ -990,7 +990,7 @@ def get_updateDictionary(self, defname):
value
=
(
lambda
x
:
np
.
array
(
x
[
'val'
]).
flatten
().
shape
[
0
]
if
(
x
is
not
None
and
x
[
'val'
]
is
not
None
)
else
None
)(
self
.
metaStorage
.
fetchAttrValue
(
'frame_sequence_pressure_frames'
'
xxx_to_rm_
frame_sequence_pressure_frames'
)
)
),
...
...
@@ -999,7 +999,7 @@ def get_updateDictionary(self, defname):
value
=
(
lambda
x
:
np
.
array
(
x
[
'val'
]).
flatten
().
shape
[
0
]
if
(
x
is
not
None
and
x
[
'val'
]
is
not
None
)
else
None
)(
self
.
metaStorage
.
fetchAttrValue
(
'frame_sequence_temperature_frames'
'
xxx_to_rm_
frame_sequence_temperature_frames'
)
)
),
...
...
@@ -1144,7 +1144,7 @@ def get_updateDictionary(self, defname):
'number_of_symmetry_operations'
:
MetaInfoMap
(
startpage
),
'reduced_symmetry_matrices'
:
MetaInfoMap
(
startpage
),
'reduced_symmetry_translations'
:
MetaInfoMap
(
startpage
),
'
SC
_matrix'
:
MetaInfoMap
(
startpage
),
'
sc
_matrix'
:
MetaInfoMap
(
startpage
),
'spacegroup_3D_choice'
:
MetaInfoMap
(
startpage
),
'spacegroup_3D_hall'
:
MetaInfoMap
(
startpage
),
'spacegroup_3D_international'
:
MetaInfoMap
(
startpage
),
...
...
parser/parser-namd/NAMDParser.py
View file @
b296580f
...
...
@@ -56,7 +56,7 @@ class NAMDParser(SmartParser.ParserBase):
# dictionary of energy values, which are tracked between SCF iterations and written after convergence
self
.
totalEnergyList
=
{
'energy_electrostatic'
:
None
,
'energy_total_
T
0_per_atom'
:
None
,
'energy_total_
t
0_per_atom'
:
None
,
'energy_free_per_atom'
:
None
,
}
SmartParser
.
ParserBase
.
__init__
(
...
...
@@ -214,8 +214,8 @@ class NAMDParser(SmartParser.ParserBase):
self
.
metaStorage
.
updateBackend
(
backend
.
superBackend
,
startsection
=
[
'section_frame_sequence'
],
autoopenclose
=
False
)
backend
.
addValue
(
"frame_sequence_to_sampling_ref"
,
self
.
secSamplingGIndex
)
backend
.
addArrayValues
(
"frame_sequence_
local
_frames_ref"
,
np
.
asarray
(
self
.
singleConfCalcs
))
backend
.
addValue
(
"frame_sequence_to_sampling_
method_
ref"
,
self
.
secSamplingGIndex
)
backend
.
addArrayValues
(
"frame_sequence_
to
_frames_ref"
,
np
.
asarray
(
self
.
singleConfCalcs
))
backend
.
closeSection
(
"section_frame_sequence"
,
frameSequenceGIndex
)
# reset all variables
...
...
@@ -657,16 +657,16 @@ class NAMDParser(SmartParser.ParserBase):
section_singlevdw_Dict
=
get_updateDictionary
(
self
,
'singlevdw'
)
updateDictVDW
=
{
'startSection'
:
[
[
'section_energy_van_der_
W
aals'
]],
[
'section_energy_van_der_
w
aals'
]],
#'muteSections' : [['section_sampling_method']],
'dictionary'
:
section_singlevdw_Dict
}
self
.
secVDWGIndex
=
backend
.
superBackend
.
openSection
(
"section_energy_van_der_
W
aals"
)
self
.
secVDWGIndex
=
backend
.
superBackend
.
openSection
(
"section_energy_van_der_
w
aals"
)
self
.
metaStorage
.
update
(
updateDictVDW
)
self
.
metaStorage
.
updateBackend
(
backend
.
superBackend
,
startsection
=
[
'section_energy_van_der_
W
aals'
],
startsection
=
[
'section_energy_van_der_
w
aals'
],
autoopenclose
=
False
)
backend
.
superBackend
.
closeSection
(
"section_energy_van_der_
W
aals"
,
self
.
secVDWGIndex
)
backend
.
superBackend
.
closeSection
(
"section_energy_van_der_
w
aals"
,
self
.
secVDWGIndex
)
section_singlecalc_Dict
=
get_updateDictionary
(
self
,
'singleconfcalc'
)
updateDict
=
{
'startSection'
:
[
...
...
@@ -683,7 +683,7 @@ class NAMDParser(SmartParser.ParserBase):
#if callable(pos_obj):
if
self
.
trajectory
.
forces
is
not
None
:
# Forces in PDB/NAMD binary/DCD files are stored in kcal/mol/A
SloppyBackend
.
addArrayValues
(
'atom_forces'
,
np
.
transpose
(
np
.
asarray
(
SloppyBackend
.
addArrayValues
(
'atom_forces
_xxx
'
,
np
.
transpose
(
np
.
asarray
(
self
.
metaStorage
.
convertUnits
(
self
.
atompositions
.
velocities
,
"kcal/(mol*Angstrom)"
,
self
.
unitDict
))))
# need to transpose array since its shape is [number_of_atoms,3] in the metadata
...
...
src/main/scala/eu/nomad_lab/parsers/NAMDParser.scala
View file @
b296580f
...
...
@@ -48,7 +48,7 @@ object NamdParser extends SimpleExternalParserGenerator(
"parser-namd/setup_paths.py"
,
"nomad_meta_info/public.nomadmetainfo.json"
,
"nomad_meta_info/common.nomadmetainfo.json"
,
"nomad_meta_info/meta
_types
.nomadmetainfo.json"
,
"nomad_meta_info/meta.nomadmetainfo.json"
,
"nomad_meta_info/namd.nomadmetainfo.json"
)
++
DefaultPythonInterpreter
.
commonFiles
(),
dirMap
=
Map
(
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment