diff --git a/parser/parser-dftb+/parser_dftb_plus.py b/parser/parser-dftb+/parser_dftb_plus.py index 47a1e654afbdc822c46a9101742ecaf12717a001..87034de4b871346f37f63decd87e2b35c25101b0 100644 --- a/parser/parser-dftb+/parser_dftb_plus.py +++ b/parser/parser-dftb+/parser_dftb_plus.py @@ -62,7 +62,9 @@ class dftb_plusContext(object): if forces is not None: atom_force.append(forces) if atom_force: + fId = backend.openSection('section_atom_forces') backend.addArrayValues('atom_forces', np.transpose(np.asarray(atom_force))) + backend.closeSection('section_atom_forces', fId) def onClose_section_system(self, backend, gIndex, section): @@ -101,7 +103,7 @@ mainFileDescription = SM( sections = ['section_system','section_topology','section_molecule_type'], subMatchers = [ SM(r"\s*Coordinates of moved atoms\s*\(?(au)?\)?:"), - SM(r"\s*(?P<atom>\d+)\s*(?P<x_dftbp_atom_positions_X__bohr>[+-]?\d+\.\d+)\s*(?P<x_dftbp_atom_positions_Y__bohr>[+-]?\d+\.\d+)\s*(?P<x_dftbp_atom_positions_Z__bohr>[+-]?\d+\.\d+)\s*", repeats = True), + SM(r"\s*(?P<atom>\d+)\s*(?P<x_dftbp_atom_positions_x__bohr>[+-]?\d+\.\d+)\s*(?P<x_dftbp_atom_positions_y__bohr>[+-]?\d+\.\d+)\s*(?P<x_dftbp_atom_positions_z__bohr>[+-]?\d+\.\d+)\s*", repeats = True), ], ), SM(name = 'charges', @@ -159,7 +161,7 @@ mainFileDescription = SM( sections = ['section_single_configuration_calculation'], subMatchers = [ SM(r"\s*Total Forces*"), - SM(r"\s*(?P<x_dftbp_atom_forces_X__forceAu>[+-]?\d+\.\d+E?[+-]?\d+)\s*(?P<x_dftbp_atom_forces_Y__forceAu>[+-]?\d+\.\d+E?[+-]?\d+)\s*(?P<x_dftbp_atom_forces_Z__forceAu>[+-]?\d+\.\d+E?[+-]?\d+)\s*", repeats = True), + SM(r"\s*(?P<x_dftbp_atom_forces_x__forceAu>[+-]?\d+\.\d+E?[+-]?\d+)\s*(?P<x_dftbp_atom_forces_y__forceAu>[+-]?\d+\.\d+E?[+-]?\d+)\s*(?P<x_dftbp_atom_forces_z__forceAu>[+-]?\d+\.\d+E?[+-]?\d+)\s*", repeats = True), SM(r"\s*Maximal derivative component:\s*(?P<x_dftbp_force_max__forceAu>[+-]?\d+\.\d+E?[+-]?\d+)\s*(au)?"), SM(r"\s*Max force for moved atoms::\s*(?P<x_dftbp_force_max_mov__forceAu>[+-]?\d+\.\d+E?[+-]?\d+)\s*(au)?"), ], diff --git a/src/main/scala/eu/nomad_lab/parsers/DftbPlusParser.scala b/src/main/scala/eu/nomad_lab/parsers/DftbPlusParser.scala index d00eefe32e57acd650c09bb224babac0be41cc78..5a5c2ca2e313827f015c4fb3365c40821949a6b2 100644 --- a/src/main/scala/eu/nomad_lab/parsers/DftbPlusParser.scala +++ b/src/main/scala/eu/nomad_lab/parsers/DftbPlusParser.scala @@ -48,7 +48,7 @@ object DftbPlusParser extends SimpleExternalParserGenerator( "parser-dftb+/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/dftb_plus.nomadmetainfo.json" ) ++ DefaultPythonInterpreter.commonFiles(), dirMap = Map( diff --git a/src/test/scala/eu/nomad_lab/parsers/DftbPlusParserSpec.scala b/src/test/scala/eu/nomad_lab/parsers/DftbPlusParserSpec.scala index 227b4f20b4b0c57c7b4f075aca673ef1849b57eb..5fa4c92357f8dfe0ec9c416d97cb5651d3a16141 100644 --- a/src/test/scala/eu/nomad_lab/parsers/DftbPlusParserSpec.scala +++ b/src/test/scala/eu/nomad_lab/parsers/DftbPlusParserSpec.scala @@ -21,10 +21,10 @@ import org.specs2.mutable.Specification object DftbPlusTests extends Specification { "DftbPlusParserTest" >> { "test with json-events" >> { - ParserRun.parse(DftbPlusParser, "parsers/dftbPlus/test/examples/detailed.out", "json-events") must_== ParseResult.ParseSuccess + ParserRun.parse(DftbPlusParser, "parsers/dftb-plus/test/examples/detailed.out", "json-events") must_== ParseResult.ParseSuccess } "test with json" >> { - ParserRun.parse(DftbPlusParser, "parsers/dftbPlus/test/examples/detailed.out", "json") must_== ParseResult.ParseSuccess + ParserRun.parse(DftbPlusParser, "parsers/dftb-plus/test/examples/detailed.out", "json") must_== ParseResult.ParseSuccess } } }