Commit d54553aa authored by Lauri Himanen's avatar Lauri Himanen
Browse files

Added cell parsing to MD parser, added some general parsing to commonmatcher.

parent eaa6fd34
...@@ -24,7 +24,9 @@ class CommonMatcher(object): ...@@ -24,7 +24,9 @@ class CommonMatcher(object):
self.cache_service = parser_context.cache_service self.cache_service = parser_context.cache_service
self.regex_f = "-?\d+\.\d+(?:E(?:\+|-)\d+)?" # Regex for a floating point value self.regex_f = "-?\d+\.\d+(?:E(?:\+|-)\d+)?" # Regex for a floating point value
self.regex_i = "-?\d+" # Regex for an integer self.regex_i = "-?\d+" # Regex for an integer
self.regex_word = "[^\s]+" # Regex for a single word. Can contain anything else but whitespace self.regex_word = "[\S]+" # Regex for a single word. Can contain anything else but whitespace
self.regex_letter = "[^\W\d_]" # Regex for a single alphabetical letter
self.regex_eol = "[^\n]+" # Regex for a single alphabetical letter
self.section_method_index = None self.section_method_index = None
self.section_system_index = None self.section_system_index = None
...@@ -34,11 +36,12 @@ class CommonMatcher(object): ...@@ -34,11 +36,12 @@ class CommonMatcher(object):
'x_cp2k_atoms': CachingLevel.ForwardAndCache, 'x_cp2k_atoms': CachingLevel.ForwardAndCache,
'section_XC_functionals': CachingLevel.ForwardAndCache, 'section_XC_functionals': CachingLevel.ForwardAndCache,
'self_interaction_correction_method': CachingLevel.Cache, 'self_interaction_correction_method': CachingLevel.Cache,
'x_cp2k_section_programinformation': CachingLevel.ForwardAndCache,
} }
#======================================================================= #=======================================================================
# Globally cached values # Globally cached values
self.cache_service.add_cache_object("simulation_cell", single=False, update=False) self.cache_service.add_cache_object("simulation_cell", single=False, update=True)
self.cache_service.add_cache_object("number_of_scf_iterations", 0) self.cache_service.add_cache_object("number_of_scf_iterations", 0)
self.cache_service.add_cache_object("atom_positions", single=False, update=True) self.cache_service.add_cache_object("atom_positions", single=False, update=True)
self.cache_service.add_cache_object("atom_labels", single=False, update=False) self.cache_service.add_cache_object("atom_labels", single=False, update=False)
...@@ -49,25 +52,72 @@ class CommonMatcher(object): ...@@ -49,25 +52,72 @@ class CommonMatcher(object):
# SimpleMatcher for the header that is common to all run types # SimpleMatcher for the header that is common to all run types
def header(self): def header(self):
return SM(r" DBCSR\| Multiplication driver", return SM( " DBCSR\| Multiplication driver",
forwardMatch=True, forwardMatch=True,
subMatchers=[ subMatchers=[
SM( r" DBCSR\| Multiplication driver", SM( " DBCSR\| Multiplication driver",
forwardMatch=True,
sections=['x_cp2k_section_dbcsr'], sections=['x_cp2k_section_dbcsr'],
subMatchers=[
SM( " DBCSR\| Multiplication driver\s+(?P<x_cp2k_dbcsr_multiplication_driver>{})".format(self.regex_word)),
SM( " DBCSR\| Multrec recursion limit\s+(?P<x_cp2k_dbcsr_multrec_recursion_limit>{})".format(self.regex_i)),
SM( " DBCSR\| Multiplication stack size\s+(?P<x_cp2k_dbcsr_multiplication_stack_size>{})".format(self.regex_i)),
SM( " DBCSR\| Multiplication size stacks\s+(?P<x_cp2k_dbcsr_multiplication_size_stacks>{})".format(self.regex_i)),
SM( " DBCSR\| Use subcommunicators\s+(?P<x_cp2k_dbcsr_use_subcommunicators>{})".format(self.regex_letter)),
SM( " DBCSR\| Use MPI combined types\s+(?P<x_cp2k_dbcsr_use_mpi_combined_types>{})".format(self.regex_letter)),
SM( " DBCSR\| Use MPI memory allocation\s+(?P<x_cp2k_dbcsr_use_mpi_memory_allocation>{})".format(self.regex_letter)),
SM( " DBCSR\| Use Communication thread\s+(?P<x_cp2k_dbcsr_use_communication_thread>{})".format(self.regex_letter)),
SM( " DBCSR\| Communication thread load\s+(?P<x_cp2k_dbcsr_communication_thread_load>{})".format(self.regex_i)),
]
), ),
SM( r" \*\*\*\* \*\*\*\* \*\*\*\*\*\* \*\* PROGRAM STARTED AT\s+(?P<x_cp2k_run_start_date>\d{4}-\d{2}-\d{2}) (?P<x_cp2k_run_start_time>\d{2}:\d{2}:\d{2}.\d{3})", SM( " **** **** ****** ** PROGRAM STARTED AT".replace("*", "\*"),
forwardMatch=True,
sections=['x_cp2k_section_startinformation'], sections=['x_cp2k_section_startinformation'],
subMatchers=[
SM( " **** **** ****** ** PROGRAM STARTED AT\s+(?P<x_cp2k_start_time>{})".replace("*", "\*").format(self.regex_eol)),
SM( " ***** ** *** *** ** PROGRAM STARTED ON\s+(?P<x_cp2k_start_host>{})".replace("*", "\*").format(self.regex_word)),
SM( " ** **** ****** PROGRAM STARTED BY\s+(?P<x_cp2k_start_user>{})".replace("*", "\*").format(self.regex_word)),
SM( " ***** ** ** ** ** PROGRAM PROCESS ID\s+(?P<x_cp2k_start_id>{})".replace("*", "\*").format(self.regex_i)),
SM( " **** ** ******* ** PROGRAM STARTED IN".replace("*", "\*"),
forwardMatch=True,
adHoc=self.adHoc_run_dir(),
)
]
), ),
SM( r" CP2K\|", SM( " CP2K\| version string:",
sections=['x_cp2k_section_programinformation'], sections=['x_cp2k_section_programinformation'],
forwardMatch=True, forwardMatch=True,
subMatchers=[ subMatchers=[
SM( r" CP2K\| version string:\s+(?P<program_version>[\w\d\W\s]+)"), SM( " CP2K\| version string:\s+(?P<program_version>{})".format(self.regex_eol)),
SM( r" CP2K\| source code revision number:\s+svn:(?P<x_cp2k_svn_revision>\d+)"), SM( " CP2K\| source code revision number:\s+svn:(?P<x_cp2k_svn_revision>\d+)"),
SM( " CP2K\| is freely available from{}".format(self.regex_word)),
SM( " CP2K\| Program compiled at{}".format(self.regex_word)),
SM( " CP2K\| Program compiled on{}".format(self.regex_word)),
SM( " CP2K\| Program compiled for{}".format(self.regex_word)),
SM( " CP2K\| Input file name\s+(?P<x_cp2k_input_filename>{})".format(self.regex_eol)),
] ]
), ),
SM( r" CP2K\| Input file name\s+(?P<x_cp2k_input_filename>.+$)", SM( " GLOBAL\|",
sections=['x_cp2k_section_filenames'], sections=['x_cp2k_section_global_settings'],
subMatchers=[
SM( " GLOBAL\| Force Environment number"),
SM( " GLOBAL\| Basis set file name\s+(?P<x_cp2k_basis_set_filename>{})".format(self.regex_eol)),
SM( " GLOBAL\| Geminal file name\s+(?P<x_cp2k_geminal_filename>{})".format(self.regex_eol)),
SM( " GLOBAL\| Potential file name\s+(?P<x_cp2k_potential_filename>{})".format(self.regex_eol)),
SM( " GLOBAL\| MM Potential file name\s+(?P<x_cp2k_mm_potential_filename>{})".format(self.regex_eol)),
SM( " GLOBAL\| Coordinate file name\s+(?P<x_cp2k_coordinate_filename>{})".format(self.regex_eol)),
SM( " GLOBAL\| Method name\s+(?P<x_cp2k_method_name>{})".format(self.regex_eol)),
SM( " GLOBAL\| Project name"),
SM( " GLOBAL\| Preferred FFT library\s+(?P<x_cp2k_preferred_fft_library>{})".format(self.regex_eol)),
SM( " GLOBAL\| Preferred diagonalization lib.\s+(?P<x_cp2k_preferred_diagonalization_library>{})".format(self.regex_eol)),
SM( " GLOBAL\| Run type\s+(?P<x_cp2k_run_type>{})".format(self.regex_eol)),
SM( " GLOBAL\| All-to-all communication in single precision"),
SM( " GLOBAL\| FFTs using library dependent lengths"),
SM( " GLOBAL\| Global print level"),
SM( " GLOBAL\| Total number of message passing processes"),
SM( " GLOBAL\| Number of threads for this process"),
SM( " GLOBAL\| This output is from process"),
],
otherMetaInfo=[ otherMetaInfo=[
"section_XC_functionals", "section_XC_functionals",
'XC_functional_name', 'XC_functional_name',
...@@ -77,51 +127,11 @@ class CommonMatcher(object): ...@@ -77,51 +127,11 @@ class CommonMatcher(object):
"stress_tensor_method", "stress_tensor_method",
"atom_positions", "atom_positions",
], ],
subMatchers=[
SM( r" GLOBAL\| Basis set file name\s+(?P<x_cp2k_basis_set_filename>.+$)"),
SM( r" GLOBAL\| Geminal file name\s+(?P<x_cp2k_geminal_filename>.+$)"),
SM( r" GLOBAL\| Potential file name\s+(?P<x_cp2k_potential_filename>.+$)"),
SM( r" GLOBAL\| MM Potential file name\s+(?P<x_cp2k_mm_potential_filename>.+$)"),
SM( r" GLOBAL\| Coordinate file name\s+(?P<x_cp2k_coordinate_filename>.+$)"),
]
), ),
SM( " CELL\|", SM( " CELL\|",
adHoc=self.adHoc_x_cp2k_section_cell(), adHoc=self.adHoc_x_cp2k_section_cell(),
otherMetaInfo=["simulation_cell"] otherMetaInfo=["simulation_cell"]
), ),
SM( " DFT\|",
otherMetaInfo=["self_interaction_correction_method"],
forwardMatch=True,
subMatchers=[
SM( " DFT\| Multiplicity\s+(?P<spin_target_multiplicity>{})".format(self.regex_i)),
SM( " DFT\| Charge\s+(?P<total_charge>{})".format(self.regex_i)),
SM( " DFT\| Self-interaction correction \(SIC\)\s+(?P<self_interaction_correction_method>[^\n]+)"),
]
),
SM( " Total number of",
forwardMatch=True,
sections=["x_cp2k_section_total_numbers"],
subMatchers=[
SM( " Total number of - Atomic kinds:\s+(?P<x_cp2k_atomic_kinds>\d+)"),
SM( "\s+- Atoms:\s+(?P<x_cp2k_atoms>\d+)",
otherMetaInfo=["number_of_atoms"],
),
SM( "\s+- Shell sets:\s+(?P<x_cp2k_shell_sets>\d+)"),
SM( "\s+- Shells:\s+(?P<x_cp2k_shells>\d+)"),
SM( "\s+- Primitive Cartesian functions:\s+(?P<x_cp2k_primitive_cartesian_functions>\d+)"),
SM( "\s+- Cartesian basis functions:\s+(?P<x_cp2k_cartesian_basis_functions>\d+)"),
SM( "\s+- Spherical basis functions:\s+(?P<x_cp2k_spherical_basis_functions>\d+)"),
]
),
SM( " Maximum angular momentum of",
forwardMatch=True,
sections=["x_cp2k_section_maximum_angular_momentum"],
subMatchers=[
SM( " Maximum angular momentum of- Orbital basis functions::\s+(?P<x_cp2k_orbital_basis_functions>\d+)"),
SM( "\s+- Local part of the GTH pseudopotential:\s+(?P<x_cp2k_local_part_of_gth_pseudopotential>\d+)"),
SM( "\s+- Non-local part of the GTH pseudopotential:\s+(?P<x_cp2k_non_local_part_of_gth_pseudopotential>\d+)"),
]
)
] ]
) )
...@@ -177,8 +187,43 @@ class CommonMatcher(object): ...@@ -177,8 +187,43 @@ class CommonMatcher(object):
# SimpleMatcher the stuff that is done to initialize a quickstep calculation # SimpleMatcher the stuff that is done to initialize a quickstep calculation
def quickstep_header(self): def quickstep_header(self):
return SM( return SM( " *******************************************************************************".replace("*", "\*"),
" MODULE QUICKSTEP: ATOMIC COORDINATES IN angstrom", forwardMatch=True,
subMatchers=[
SM( " DFT\|",
forwardMatch=True,
subMatchers=[
SM( " DFT\| Multiplicity\s+(?P<spin_target_multiplicity>{})".format(self.regex_i)),
SM( " DFT\| Charge\s+(?P<total_charge>{})".format(self.regex_i)),
SM( " DFT\| Self-interaction correction \(SIC\)\s+(?P<self_interaction_correction_method>[^\n]+)"),
],
otherMetaInfo=["self_interaction_correction_method"],
),
SM( " Total number of",
forwardMatch=True,
sections=["x_cp2k_section_total_numbers"],
subMatchers=[
SM( " Total number of - Atomic kinds:\s+(?P<x_cp2k_atomic_kinds>\d+)"),
SM( "\s+- Atoms:\s+(?P<x_cp2k_atoms>\d+)",
otherMetaInfo=["number_of_atoms"],
),
SM( "\s+- Shell sets:\s+(?P<x_cp2k_shell_sets>\d+)"),
SM( "\s+- Shells:\s+(?P<x_cp2k_shells>\d+)"),
SM( "\s+- Primitive Cartesian functions:\s+(?P<x_cp2k_primitive_cartesian_functions>\d+)"),
SM( "\s+- Cartesian basis functions:\s+(?P<x_cp2k_cartesian_basis_functions>\d+)"),
SM( "\s+- Spherical basis functions:\s+(?P<x_cp2k_spherical_basis_functions>\d+)"),
]
),
SM( " Maximum angular momentum of",
forwardMatch=True,
sections=["x_cp2k_section_maximum_angular_momentum"],
subMatchers=[
SM( " Maximum angular momentum of- Orbital basis functions::\s+(?P<x_cp2k_orbital_basis_functions>\d+)"),
SM( "\s+- Local part of the GTH pseudopotential:\s+(?P<x_cp2k_local_part_of_gth_pseudopotential>\d+)"),
SM( "\s+- Non-local part of the GTH pseudopotential:\s+(?P<x_cp2k_non_local_part_of_gth_pseudopotential>\d+)"),
]
),
SM( " MODULE QUICKSTEP: ATOMIC COORDINATES IN angstrom",
forwardMatch=True, forwardMatch=True,
subMatchers=[ subMatchers=[
SM( " MODULE QUICKSTEP: ATOMIC COORDINATES IN angstrom", SM( " MODULE QUICKSTEP: ATOMIC COORDINATES IN angstrom",
...@@ -187,6 +232,8 @@ class CommonMatcher(object): ...@@ -187,6 +232,8 @@ class CommonMatcher(object):
) )
] ]
) )
]
)
#=========================================================================== #===========================================================================
# onClose triggers # onClose triggers
...@@ -229,12 +276,13 @@ class CommonMatcher(object): ...@@ -229,12 +276,13 @@ class CommonMatcher(object):
except: except:
pass pass
def onClose_x_cp2k_section_filenames(self, backend, gIndex, section): def onClose_x_cp2k_section_programinformation(self, backend, gIndex, section):
"""
"""
# If the input file is available, parse it
input_file = section.get_latest_value("x_cp2k_input_filename") input_file = section.get_latest_value("x_cp2k_input_filename")
filepath = self.file_service.get_absolute_path_to_file(input_file) self.file_service.set_file_id(input_file, "input")
def onClose_x_cp2k_section_global_settings(self, backend, gIndex, section):
# If the input file is available, parse it
filepath = self.file_service.get_file_by_id("input")
if filepath is not None: if filepath is not None:
input_parser = CP2KInputParser(filepath, self.parser_context) input_parser = CP2KInputParser(filepath, self.parser_context)
input_parser.parse() input_parser.parse()
...@@ -407,6 +455,27 @@ class CommonMatcher(object): ...@@ -407,6 +455,27 @@ class CommonMatcher(object):
return wrapper return wrapper
def adHoc_run_dir(self):
def wrapper(parser):
end_str = "\n"
end = False
path_array = []
# Loop through coordinates until the sum of forces is read
while not end:
line = parser.fIn.readline()
if line.startswith(end_str):
end = True
else:
path_part = line.split()[-1]
path_array.append(path_part)
# Form the final path and push to backend
path = "".join(path_array)
parser.backend.addValue("x_cp2k_start_path", path)
return wrapper
def debug(self): def debug(self):
def wrapper(parser): def wrapper(parser):
print "FOUND" print "FOUND"
......
...@@ -24,17 +24,16 @@ class CP2KMDParser(MainHierarchicalParser): ...@@ -24,17 +24,16 @@ class CP2KMDParser(MainHierarchicalParser):
self.setup_common_matcher(CommonMatcher(parser_context)) self.setup_common_matcher(CommonMatcher(parser_context))
self.traj_iterator = None self.traj_iterator = None
self.energy_iterator = None self.energy_iterator = None
self.cell_iterator = None
self.n_steps = None self.n_steps = None
self.output_freq = None self.output_freq = None
self.coord_freq = None self.coord_freq = None
self.velo_freq = None self.velo_freq = None
self.energy_freq = None self.energy_freq = None
self.cell_freq = None
#======================================================================= #=======================================================================
# Globally cached values # Globally cached values
self.cache_service.add_cache_object("number_of_frames_in_sequence", 0)
self.cache_service.add_cache_object("frame_sequence_potential_energy", [])
self.cache_service.add_cache_object("frame_sequence_local_frames_ref", [])
#======================================================================= #=======================================================================
# Cache levels # Cache levels
...@@ -162,6 +161,7 @@ class CP2KMDParser(MainHierarchicalParser): ...@@ -162,6 +161,7 @@ class CP2KMDParser(MainHierarchicalParser):
self.energy_freq = section.get_latest_value("x_cp2k_md_energies_print_frequency") self.energy_freq = section.get_latest_value("x_cp2k_md_energies_print_frequency")
self.coord_freq = section.get_latest_value("x_cp2k_md_coordinates_print_frequency") self.coord_freq = section.get_latest_value("x_cp2k_md_coordinates_print_frequency")
self.velo_freq = section.get_latest_value("x_cp2k_md_velocities_print_frequency") self.velo_freq = section.get_latest_value("x_cp2k_md_velocities_print_frequency")
self.cell_freq = section.get_latest_value("x_cp2k_md_simulation_cell_print_frequency")
# Step number # Step number
self.n_steps = section.get_latest_value("x_cp2k_md_number_of_time_steps") self.n_steps = section.get_latest_value("x_cp2k_md_number_of_time_steps")
...@@ -170,8 +170,10 @@ class CP2KMDParser(MainHierarchicalParser): ...@@ -170,8 +170,10 @@ class CP2KMDParser(MainHierarchicalParser):
coord_filename = section.get_latest_value("x_cp2k_md_coordinates_filename") coord_filename = section.get_latest_value("x_cp2k_md_coordinates_filename")
velocities_filename = section.get_latest_value("x_cp2k_md_velocities_filename") velocities_filename = section.get_latest_value("x_cp2k_md_velocities_filename")
energies_filename = section.get_latest_value("x_cp2k_md_energies_filename") energies_filename = section.get_latest_value("x_cp2k_md_energies_filename")
cell_filename = section.get_latest_value("x_cp2k_md_simulation_cell_filename")
self.file_service.set_file_id(coord_filename, "coordinates") self.file_service.set_file_id(coord_filename, "coordinates")
self.file_service.set_file_id(velocities_filename, "velocities") self.file_service.set_file_id(velocities_filename, "velocities")
cell_filepath = self.file_service.set_file_id(cell_filename, "cell")
energies_filepath = self.file_service.set_file_id(energies_filename, "energies") energies_filepath = self.file_service.set_file_id(energies_filename, "energies")
# Setup trajectory iterator # Setup trajectory iterator
...@@ -192,6 +194,10 @@ class CP2KMDParser(MainHierarchicalParser): ...@@ -192,6 +194,10 @@ class CP2KMDParser(MainHierarchicalParser):
if energies_filepath is not None: if energies_filepath is not None:
self.energy_iterator = cp2kparser.generic.csvparsing.iread(energies_filepath, columns=[0, 1, 2, 3, 4, 5, 6], comments="#") self.energy_iterator = cp2kparser.generic.csvparsing.iread(energies_filepath, columns=[0, 1, 2, 3, 4, 5, 6], comments="#")
# Setup cell file iterator
if cell_filepath is not None:
self.cell_iterator = cp2kparser.generic.csvparsing.iread(cell_filepath, columns=[2, 3, 4, 5, 6, 7, 8, 9, 10], comments="#")
def onClose_x_cp2k_section_md(self, backend, gIndex, section): def onClose_x_cp2k_section_md(self, backend, gIndex, section):
# Determine the highest print frequency and use that as the number of # Determine the highest print frequency and use that as the number of
...@@ -201,6 +207,7 @@ class CP2KMDParser(MainHierarchicalParser): ...@@ -201,6 +207,7 @@ class CP2KMDParser(MainHierarchicalParser):
"coordinates": [self.coord_freq, True], "coordinates": [self.coord_freq, True],
"velocities": [self.velo_freq, True], "velocities": [self.velo_freq, True],
"energies": [self.energy_freq, True], "energies": [self.energy_freq, True],
"cell": [self.cell_freq, True],
} }
# See if the files actually exist # See if the files actually exist
...@@ -213,15 +220,9 @@ class CP2KMDParser(MainHierarchicalParser): ...@@ -213,15 +220,9 @@ class CP2KMDParser(MainHierarchicalParser):
energies_file = self.file_service.get_file_by_id("energies") energies_file = self.file_service.get_file_by_id("energies")
if energies_file is None: if energies_file is None:
freqs["energies"][1] = False freqs["energies"][1] = False
cell_file = self.file_service.get_file_by_id("cell")
# Determine the highest available frequency if cell_file is None:
max_freq = 0 freqs["cell"][1] = False
for freq in freqs.itervalues():
if freq[0] is not None and freq[1] is not None:
if freq[0] > max_freq:
max_freq = freq[1]
else:
freq[1] = False
# Trajectory print settings # Trajectory print settings
add_last_traj = False add_last_traj = False
...@@ -278,6 +279,13 @@ class CP2KMDParser(MainHierarchicalParser): ...@@ -278,6 +279,13 @@ class CP2KMDParser(MainHierarchicalParser):
backend.addValue("energy_total", conserved_quantity) backend.addValue("energy_total", conserved_quantity)
backend.addValue("time_calculation", wall_time) backend.addValue("time_calculation", wall_time)
# Cell file
if self.cell_iterator is not None:
if (i_step + 1) % freqs["cell"][0] == 0:
line = self.cell_iterator.next()
cell = np.reshape(line, (3, 3))
self.cache_service["simulation_cell"] = cell
# Output file # Output file
if md_steps: if md_steps:
if (i_step + 1) % freqs["output"][0] == 0: if (i_step + 1) % freqs["output"][0] == 0:
......
# Step Nr. Time[fs] Kin.[a.u.] Temp[K] Pot.[a.u.] Cons Qty[a.u.] UsedTime[s] # Step Nr. Time[fs] Kin.[a.u.] Temp[K] Pot.[a.u.] Cons Qty[a.u.] UsedTime[s]
0 0.000000 0.007125335 300.000000000 -34.336403530 -34.324047996 0.000000000 0 0.000000 0.007125335 300.000000000 -34.336403530 -34.324047996 0.000000000
1 0.500000 0.007358038 309.797597156 -34.336638312 -34.324054403 2.979168899 1 0.500000 0.007358038 309.797597156 -34.336638312 -34.324054403 2.884762674
2 1.000000 0.007414878 312.190722217 -34.336698674 -34.324056733 0.842197949 2 1.000000 0.007414878 312.190722217 -34.336698674 -34.324056733 0.846901371
3 1.500000 0.007245416 305.055835462 -34.336539787 -34.324059082 1.418614861 3 1.500000 0.007245416 305.055835462 -34.336539787 -34.324059082 1.401093733
4 2.000000 0.006832946 287.689475065 -34.336141815 -34.324057040 1.415143902 4 2.000000 0.006832946 287.689475065 -34.336141815 -34.324057040 1.396403917
5 2.500000 0.006241331 262.780549510 -34.335562912 -34.324043992 1.398936698 5 2.500000 0.006241331 262.780549510 -34.335562912 -34.324043992 1.396984484
6 3.000000 0.005685824 239.391887129 -34.335021181 -34.324022684 0.867581070 6 3.000000 0.005685824 239.391887129 -34.335021181 -34.324022684 0.848225022
7 3.500000 0.005480859 230.762197167 -34.334844452 -34.324007616 1.268830910 7 3.500000 0.005480859 230.762197167 -34.334844452 -34.324007616 1.259262077
8 4.000000 0.005835031 245.673981276 -34.335254239 -34.324014235 1.262329495 8 4.000000 0.005835031 245.673981276 -34.335254239 -34.324014235 1.244773507
9 4.500000 0.006642601 279.675336061 -34.336142063 -34.324043595 1.263161745 9 4.500000 0.006642601 279.675336061 -34.336142063 -34.324043595 1.243345618
10 5.000000 0.007478540 314.871094720 -34.337060810 -34.324078054 1.387408595 10 5.000000 0.007478540 314.871094720 -34.337060810 -34.324078054 1.577752011
...@@ -73,4 +73,8 @@ ...@@ -73,4 +73,8 @@
PRESSURE 1 PRESSURE 1
&END BAROSTAT &END BAROSTAT
&END MD &END MD
&PRINT
&CELL MEDIUM
&END CELL
&END PRINT
&END MOTION &END MOTION
...@@ -9,10 +9,10 @@ ...@@ -9,10 +9,10 @@
DBCSR| Communication thread load 87 DBCSR| Communication thread load 87
**** **** ****** ** PROGRAM STARTED AT 2016-06-08 14:46:55.207 **** **** ****** ** PROGRAM STARTED AT 2016-06-11 10:35:13.332
***** ** *** *** ** PROGRAM STARTED ON lauri-Lenovo-Z50-70 ***** ** *** *** ** PROGRAM STARTED ON lauri-Lenovo-Z50-70
** **** ****** PROGRAM STARTED BY lauri ** **** ****** PROGRAM STARTED BY lauri
***** ** ** ** ** PROGRAM PROCESS ID 14709 ***** ** ** ** ** PROGRAM PROCESS ID 5514
**** ** ******* ** PROGRAM STARTED IN /home/lauri/Dropbox/nomad-dev/nomad-l **** ** ******* ** PROGRAM STARTED IN /home/lauri/Dropbox/nomad-dev/nomad-l
ab-base/parsers/cp2k/test/unittests/c ab-base/parsers/cp2k/test/unittests/c
p2k_2.6.2/md/npt p2k_2.6.2/md/npt
...@@ -45,13 +45,13 @@ ...@@ -45,13 +45,13 @@
MEMORY| system memory details [Kb] MEMORY| system memory details [Kb]
MEMORY| rank 0 min max average MEMORY| rank 0 min max average
MEMORY| MemTotal 8070360 8070360 8070360 8070360 MEMORY| MemTotal 8070364 8070364 8070364 8070364
MEMORY| MemFree 1787192 1787192 1787192 1787192 MEMORY| MemFree 2826576 2826576 2826576 2826576
MEMORY| Buffers 925448 925448 925448 925448 MEMORY| Buffers 887736 887736 887736 887736
MEMORY| Cached 2599116 2599116 2599116 2599116 MEMORY| Cached 1753152 1753152 1753152 1753152
MEMORY| Slab 542952 542952 542952 542952 MEMORY| Slab 493820 493820 493820 493820
MEMORY| SReclaimable 503128 503128 503128 503128 MEMORY| SReclaimable 457008 457008 457008 457008
MEMORY| MemLikelyFree 5814884 5814884 5814884 5814884 MEMORY| MemLikelyFree 5924472 5924472 5924472 5924472
*** Fundamental physical constants (SI units) *** *** Fundamental physical constants (SI units) ***
...@@ -1018,7 +1018,7 @@ ...@@ -1018,7 +1018,7 @@
CONSERVED QUANTITY [hartree] = -0.343240544028E+02 CONSERVED QUANTITY [hartree] = -0.343240544028E+02
INSTANTANEOUS AVERAGES INSTANTANEOUS AVERAGES
CPU TIME [s] = 2.98 2.98 CPU TIME [s] = 2.88 2.88
ENERGY DRIFT PER ATOM [K] = -0.337174401249E+00 0.000000000000E+00 ENERGY DRIFT PER ATOM [K] = -0.337174401249E+00 0.000000000000E+00
POTENTIAL ENERGY[hartree] = -0.343366383116E+02 -0.343366383116E+02 POTENTIAL ENERGY[hartree] = -0.343366383116E+02 -0.343366383116E+02
KINETIC ENERGY [hartree] = 0.735803837990E-02 0.735803837990E-02 KINETIC ENERGY [hartree] = 0.735803837990E-02 0.735803837990E-02
...@@ -1229,7 +1229,7 @@ ...@@ -1229,7 +1229,7 @@
CONSERVED QUANTITY [hartree] = -0.343240567328E+02 CONSERVED QUANTITY [hartree] = -0.343240567328E+02
INSTANTANEOUS AVERAGES INSTANTANEOUS AVERAGES
CPU TIME [s] = 0.84 1.91 CPU TIME [s] = 0.85 1.87
ENERGY DRIFT PER ATOM [K] = -0.459802540657E+00 -0.229901270328E+00 ENERGY DRIFT PER ATOM [K] = -0.459802540657E+00 -0.229901270328E+00
POTENTIAL ENERGY[hartree] = -0.343366986739E+02 -0.343366684928E+02 POTENTIAL ENERGY[hartree] = -0.343366986739E+02 -0.343366684928E+02
KINETIC ENERGY [hartree] = 0.741487776862E-02 0.738645807426E-02 KINETIC ENERGY [hartree] = 0.741487776862E-02 0.738645807426E-02
...@@ -1472,7 +1472,7 @@ ...@@ -1472,7 +1472,7 @@
CONSERVED QUANTITY [hartree] = -0.343240590823E+02 CONSERVED QUANTITY [hartree] = -0.343240590823E+02
INSTANTANEOUS AVERAGES INSTANTANEOUS AVERAGES
CPU TIME [s] = 1.42 1.75 CPU TIME [s] = 1.40 1.71
ENERGY DRIFT PER ATOM [K] = -0.583452867095E+00 -0.347751802584E+00 ENERGY DRIFT PER ATOM [K] = -0.583452867095E+00 -0.347751802584E+00
POTENTIAL ENERGY[hartree] = -0.343365397866E+02 -0.343366255907E+02 POTENTIAL ENERGY[hartree] = -0.343365397866E+02 -0.343366255907E+02
KINETIC ENERGY [hartree] = 0.724541625225E-02 0.733944413359E-02 KINETIC ENERGY [hartree] = 0.724541625225E-02 0.733944413359E-02
...@@ -1617,7 +1617,7 @@ ...@@ -1617,7 +1617,7 @@
Total charge density on r-space grids: 0.0000038259 Total charge density on r-space grids: 0.0000038259
Total charge density g-space grids: 0.0000038259 Total charge density g-space grids: 0.0000038259
4 DIIS/Diag. 0.26E-04 0.2 0.00007385 -34.3361418148 -6.73E-08 4 DIIS/Diag. 0.26E-04 0.1 0.00007385 -34.3361418148 -6.73E-08
Trace(PS): 16.0000000000 Trace(PS): 16.0000000000
Electronic density on regular grids: -15.9999961737 0.0000038263 Electronic density on regular grids: -15.9999961737 0.0000038263
...@@ -1715,7 +1715,7 @@ ...@@ -1715,7 +1715,7 @@
CONSERVED QUANTITY [hartree] = -0.343240570397E+02 CONSERVED QUANTITY [hartree] = -0.343240570397E+02
INSTANTANEOUS AVERAGES INSTANTANEOUS AVERAGES
CPU TIME [s] = 1.42 1.66 CPU TIME [s] = 1.40 1.63
ENERGY DRIFT PER ATOM [K] = -0.475954806481E+00 -0.379802553558E+00 ENERGY DRIFT PER ATOM [K] = -0.475954806481E+00 -0.379802553558E+00
POTENTIAL ENERGY[hartree] = -0.343361418152E+02 -0.343365046468E+02 POTENTIAL ENERGY[hartree] = -0.343361418152E+02 -0.343365046468E+02
KINETIC ENERGY [hartree] = 0.683294582803E-02 0.721281955720E-02 KINETIC ENERGY [hartree] = 0.683294582803E-02 0.721281955720E-02
...@@ -1958,7 +1958,7 @@ ...@@ -1958,7 +1958,7 @@
CONSERVED QUANTITY [hartree] = -0.343240439921E+02 CONSERVED QUANTITY [hartree] = -0.343240439921E+02
INSTANTANEOUS AVERAGES INSTANTANEOUS AVERAGES