From 02386cdfc1e7e98f1c829c3951c798274d829fc2 Mon Sep 17 00:00:00 2001 From: Markus Scheidgen <markus.scheidgen@gmail.com> Date: Thu, 19 Mar 2020 12:22:41 +0100 Subject: [PATCH] Added metainfo python code. --- setup.py | 4 +- .../parser}/wien2kparser/__init__.py | 0 .../parser}/wien2kparser/setup_paths.py | 0 .../parser}/wien2kparser/wien2k_parser.py | 0 .../parser}/wien2kparser/wien2k_parser_in0.py | 0 .../parser}/wien2kparser/wien2k_parser_in1.py | 0 .../wien2kparser/wien2k_parser_in1c.py | 0 .../parser}/wien2kparser/wien2k_parser_in2.py | 0 .../wien2kparser/wien2k_parser_in2c.py | 0 .../wien2kparser/wien2k_parser_struct.py | 0 .../wien2kparser => wien2kparser}/__init__.py | 0 wien2kparser/metainfo/__init__.py | 13 + wien2kparser/metainfo/wien2k.py | 765 ++++++++++++++++++ .../parser_wien2k.py | 0 .../setup_paths.py | 0 .../wien2k_parser_in0.py | 0 .../wien2k_parser_in1.py | 0 .../wien2k_parser_in1c.py | 0 .../wien2k_parser_in2.py | 2 +- .../wien2k_parser_in2c.py | 0 .../wien2k_parser_struct.py | 0 21 files changed, 781 insertions(+), 3 deletions(-) rename {parser => to_delete/parser}/wien2kparser/__init__.py (100%) rename {parser/parser-wien2k => to_delete/parser}/wien2kparser/setup_paths.py (100%) rename {parser => to_delete/parser}/wien2kparser/wien2k_parser.py (100%) rename {parser => to_delete/parser}/wien2kparser/wien2k_parser_in0.py (100%) rename {parser => to_delete/parser}/wien2kparser/wien2k_parser_in1.py (100%) rename {parser => to_delete/parser}/wien2kparser/wien2k_parser_in1c.py (100%) rename {parser => to_delete/parser}/wien2kparser/wien2k_parser_in2.py (100%) rename {parser => to_delete/parser}/wien2kparser/wien2k_parser_in2c.py (100%) rename {parser => to_delete/parser}/wien2kparser/wien2k_parser_struct.py (100%) rename {parser/parser-wien2k/wien2kparser => wien2kparser}/__init__.py (100%) create mode 100644 wien2kparser/metainfo/__init__.py create mode 100644 wien2kparser/metainfo/wien2k.py rename {parser/parser-wien2k/wien2kparser => wien2kparser}/parser_wien2k.py (100%) rename {parser/wien2kparser => wien2kparser}/setup_paths.py (100%) rename {parser/parser-wien2k/wien2kparser => wien2kparser}/wien2k_parser_in0.py (100%) rename {parser/parser-wien2k/wien2kparser => wien2kparser}/wien2k_parser_in1.py (100%) rename {parser/parser-wien2k/wien2kparser => wien2kparser}/wien2k_parser_in1c.py (100%) rename {parser/parser-wien2k/wien2kparser => wien2kparser}/wien2k_parser_in2.py (99%) rename {parser/parser-wien2k/wien2kparser => wien2kparser}/wien2k_parser_in2c.py (100%) rename {parser/parser-wien2k/wien2kparser => wien2kparser}/wien2k_parser_struct.py (100%) diff --git a/setup.py b/setup.py index de3817d..eb70a8c 100644 --- a/setup.py +++ b/setup.py @@ -21,8 +21,8 @@ def main(): version='0.1', description='NOMAD parser implementation for Wien2k.', license='APACHE 2.0', - package_dir={'': 'parser/parser-wien2k'}, - packages=find_packages('parser/parser-wien2k'), + package_dir={'': './'}, + packages=find_packages(), install_requires=[ 'nomadcore' ], diff --git a/parser/wien2kparser/__init__.py b/to_delete/parser/wien2kparser/__init__.py similarity index 100% rename from parser/wien2kparser/__init__.py rename to to_delete/parser/wien2kparser/__init__.py diff --git a/parser/parser-wien2k/wien2kparser/setup_paths.py b/to_delete/parser/wien2kparser/setup_paths.py similarity index 100% rename from parser/parser-wien2k/wien2kparser/setup_paths.py rename to to_delete/parser/wien2kparser/setup_paths.py diff --git a/parser/wien2kparser/wien2k_parser.py b/to_delete/parser/wien2kparser/wien2k_parser.py similarity index 100% rename from parser/wien2kparser/wien2k_parser.py rename to to_delete/parser/wien2kparser/wien2k_parser.py diff --git a/parser/wien2kparser/wien2k_parser_in0.py b/to_delete/parser/wien2kparser/wien2k_parser_in0.py similarity index 100% rename from parser/wien2kparser/wien2k_parser_in0.py rename to to_delete/parser/wien2kparser/wien2k_parser_in0.py diff --git a/parser/wien2kparser/wien2k_parser_in1.py b/to_delete/parser/wien2kparser/wien2k_parser_in1.py similarity index 100% rename from parser/wien2kparser/wien2k_parser_in1.py rename to to_delete/parser/wien2kparser/wien2k_parser_in1.py diff --git a/parser/wien2kparser/wien2k_parser_in1c.py b/to_delete/parser/wien2kparser/wien2k_parser_in1c.py similarity index 100% rename from parser/wien2kparser/wien2k_parser_in1c.py rename to to_delete/parser/wien2kparser/wien2k_parser_in1c.py diff --git a/parser/wien2kparser/wien2k_parser_in2.py b/to_delete/parser/wien2kparser/wien2k_parser_in2.py similarity index 100% rename from parser/wien2kparser/wien2k_parser_in2.py rename to to_delete/parser/wien2kparser/wien2k_parser_in2.py diff --git a/parser/wien2kparser/wien2k_parser_in2c.py b/to_delete/parser/wien2kparser/wien2k_parser_in2c.py similarity index 100% rename from parser/wien2kparser/wien2k_parser_in2c.py rename to to_delete/parser/wien2kparser/wien2k_parser_in2c.py diff --git a/parser/wien2kparser/wien2k_parser_struct.py b/to_delete/parser/wien2kparser/wien2k_parser_struct.py similarity index 100% rename from parser/wien2kparser/wien2k_parser_struct.py rename to to_delete/parser/wien2kparser/wien2k_parser_struct.py diff --git a/parser/parser-wien2k/wien2kparser/__init__.py b/wien2kparser/__init__.py similarity index 100% rename from parser/parser-wien2k/wien2kparser/__init__.py rename to wien2kparser/__init__.py diff --git a/wien2kparser/metainfo/__init__.py b/wien2kparser/metainfo/__init__.py new file mode 100644 index 0000000..84301d5 --- /dev/null +++ b/wien2kparser/metainfo/__init__.py @@ -0,0 +1,13 @@ +import sys +from nomad.metainfo import Environment +from nomad.metainfo.legacy import LegacyMetainfoEnvironment +import wien2kparser.metainfo.wien2k +import nomad.datamodel.metainfo.common +import nomad.datamodel.metainfo.public +import nomad.datamodel.metainfo.general + +m_env = LegacyMetainfoEnvironment() +m_env.m_add_sub_section(Environment.packages, sys.modules['wien2kparser.metainfo.wien2k'].m_package) # type: ignore +m_env.m_add_sub_section(Environment.packages, sys.modules['nomad.datamodel.metainfo.common'].m_package) # type: ignore +m_env.m_add_sub_section(Environment.packages, sys.modules['nomad.datamodel.metainfo.public'].m_package) # type: ignore +m_env.m_add_sub_section(Environment.packages, sys.modules['nomad.datamodel.metainfo.general'].m_package) # type: ignore diff --git a/wien2kparser/metainfo/wien2k.py b/wien2kparser/metainfo/wien2k.py new file mode 100644 index 0000000..c18d040 --- /dev/null +++ b/wien2kparser/metainfo/wien2k.py @@ -0,0 +1,765 @@ +import numpy as np # pylint: disable=unused-import +import typing # pylint: disable=unused-import +from nomad.metainfo import ( # pylint: disable=unused-import + MSection, MCategory, Category, Package, Quantity, Section, SubSection, SectionProxy, + Reference +) +from nomad.metainfo.legacy import LegacyDefinition + +from nomad.datamodel.metainfo import public + +m_package = Package( + name='wien2k_nomadmetainfo_json', + description='None', + a_legacy=LegacyDefinition(name='wien2k.nomadmetainfo.json')) + + +class x_wien2k_header(MSection): + ''' + header (labels) of wien2k. + ''' + + m_def = Section(validate=False, a_legacy=LegacyDefinition(name='x_wien2k_header')) + + x_wien2k_release_date = Quantity( + type=str, + shape=[], + description=''' + Release date of wien2k. + ''', + a_legacy=LegacyDefinition(name='x_wien2k_release_date')) + + x_wien2k_version = Quantity( + type=str, + shape=[], + description=''' + Version of WIEN2k. + ''', + a_legacy=LegacyDefinition(name='x_wien2k_version')) + + +class x_wien2k_section_XC(MSection): + ''' + exchange-correlation potential, in in0 + ''' + + m_def = Section(validate=False, a_legacy=LegacyDefinition(name='x_wien2k_section_XC')) + + x_wien2k_indxc = Quantity( + type=str, + shape=[], + description=''' + exchange-correlation potential, in in0 + ''', + a_legacy=LegacyDefinition(name='x_wien2k_indxc')) + + +class x_wien2k_section_equiv_atoms(MSection): + ''' + section containing a class of equivalent atoms + ''' + + m_def = Section(validate=False, a_legacy=LegacyDefinition(name='x_wien2k_section_equiv_atoms')) + + x_wien2k_atom_pos_x = Quantity( + type=np.dtype(np.float64), + shape=[], + unit='meter', + description=''' + position of atom x in internal units + ''', + a_legacy=LegacyDefinition(name='x_wien2k_atom_pos_x')) + + x_wien2k_atom_pos_y = Quantity( + type=np.dtype(np.float64), + shape=[], + unit='meter', + description=''' + position of atom y in internal units + ''', + a_legacy=LegacyDefinition(name='x_wien2k_atom_pos_y')) + + x_wien2k_atom_pos_z = Quantity( + type=np.dtype(np.float64), + shape=[], + unit='meter', + description=''' + position of atom z in internal units + ''', + a_legacy=LegacyDefinition(name='x_wien2k_atom_pos_z')) + + x_wien2k_atom_name = Quantity( + type=str, + shape=[], + description=''' + name of atom, labelling non-equvalent atoms + ''', + a_legacy=LegacyDefinition(name='x_wien2k_atom_name')) + + x_wien2k_NPT = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + number of radial mesh points + ''', + a_legacy=LegacyDefinition(name='x_wien2k_NPT')) + + x_wien2k_RMT = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + atomic sphere radius (muffin-tin radius) + ''', + a_legacy=LegacyDefinition(name='x_wien2k_RMT')) + + x_wien2k_R0 = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + first radial mesh point + ''', + a_legacy=LegacyDefinition(name='x_wien2k_R0')) + + x_wien2k_atomic_number_Z = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + atomic number Z + ''', + a_legacy=LegacyDefinition(name='x_wien2k_atomic_number_Z')) + + +class section_run(public.section_run): + + m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_run')) + + x_wien2k_header = SubSection( + sub_section=SectionProxy('x_wien2k_header'), + repeats=True, + a_legacy=LegacyDefinition(name='x_wien2k_header')) + + +class section_scf_iteration(public.section_scf_iteration): + + m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_scf_iteration')) + + x_wien2k_iteration_number = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + scf iteration number + ''', + a_legacy=LegacyDefinition(name='x_wien2k_iteration_number')) + + x_wien2k_nr_of_independent_atoms = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + number of independent atoms in the cell + ''', + a_legacy=LegacyDefinition(name='x_wien2k_nr_of_independent_atoms')) + + x_wien2k_potential_option = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + exchange correlation potential option + ''', + a_legacy=LegacyDefinition(name='x_wien2k_potential_option')) + + x_wien2k_system_name = Quantity( + type=str, + shape=[], + description=''' + user given name for this system + ''', + a_legacy=LegacyDefinition(name='x_wien2k_system_name')) + + x_wien2k_total_atoms = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + total number of atoms in the cell + ''', + a_legacy=LegacyDefinition(name='x_wien2k_total_atoms')) + + x_wien2k_lattice_const_a = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + lattice parameter a in this calculation + ''', + a_legacy=LegacyDefinition(name='x_wien2k_lattice_const_a')) + + x_wien2k_lattice_const_b = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + lattice parameter b in this calculation + ''', + a_legacy=LegacyDefinition(name='x_wien2k_lattice_const_b')) + + x_wien2k_lattice_const_c = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + lattice parameter c in this calculation + ''', + a_legacy=LegacyDefinition(name='x_wien2k_lattice_const_c')) + + x_wien2k_unit_cell_volume_bohr3 = Quantity( + type=np.dtype(np.float64), + shape=[], + unit='bohr ** 3', + description=''' + unit cell volume + ''', + a_legacy=LegacyDefinition(name='x_wien2k_unit_cell_volume_bohr3')) + + x_wien2k_energy_total = Quantity( + type=np.dtype(np.float64), + shape=[], + unit='joule', + description=''' + energy total + ''', + a_legacy=LegacyDefinition(name='x_wien2k_energy_total')) + + x_wien2k_fermi_ene = Quantity( + type=np.dtype(np.float64), + shape=[], + unit='joule', + description=''' + Fermi energy + ''', + a_legacy=LegacyDefinition(name='x_wien2k_fermi_ene')) + + x_wien2k_noe = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + number of electrons + ''', + a_legacy=LegacyDefinition(name='x_wien2k_noe')) + + x_wien2k_nr_kpts = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + number of k-points + ''', + a_legacy=LegacyDefinition(name='x_wien2k_nr_kpts')) + + x_wien2k_cutoff = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Potential and charge cut-off, Ry**.5 + ''', + a_legacy=LegacyDefinition(name='x_wien2k_cutoff')) + + x_wien2k_ene_gap = Quantity( + type=np.dtype(np.float64), + shape=[], + unit='joule', + description=''' + energy gap in Ry + ''', + a_legacy=LegacyDefinition(name='x_wien2k_ene_gap')) + + x_wien2k_ene_gap_eV = Quantity( + type=np.dtype(np.float64), + shape=[], + unit='electron_volt', + description=''' + energy gap in eV + ''', + a_legacy=LegacyDefinition(name='x_wien2k_ene_gap_eV')) + + x_wien2k_matrix_size = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + matrix size + ''', + a_legacy=LegacyDefinition(name='x_wien2k_matrix_size')) + + x_wien2k_rkm = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + rkm + ''', + a_legacy=LegacyDefinition(name='x_wien2k_rkm')) + + x_wien2k_LOs = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + LOs + ''', + a_legacy=LegacyDefinition(name='x_wien2k_LOs')) + + x_wien2k_mmtot = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + total magnetic moment in cell + ''', + a_legacy=LegacyDefinition(name='x_wien2k_mmtot')) + + x_wien2k_mmint = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + magnetic moment in the interstital region + ''', + a_legacy=LegacyDefinition(name='x_wien2k_mmint')) + + x_wien2k_mmi001 = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + magnetic moment inside the sphere + ''', + a_legacy=LegacyDefinition(name='x_wien2k_mmi001')) + + x_wien2k_charge_distance = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + charge distance between last 2 iterations + ''', + a_legacy=LegacyDefinition(name='x_wien2k_charge_distance')) + + x_wien2k_for_abs = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + force on atom xx in mRy/bohr (in the local (for each atom) cartesian coordinate + system): |F| + ''', + a_legacy=LegacyDefinition(name='x_wien2k_for_abs')) + + x_wien2k_for_x = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + force on atom xx in mRy/bohr (in the local (for each atom) cartesian coordinate + system): Fx + ''', + a_legacy=LegacyDefinition(name='x_wien2k_for_x')) + + x_wien2k_for_y = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + force on atom xx in mRy/bohr (in the local (for each atom) cartesian coordinate + system): Fy + ''', + a_legacy=LegacyDefinition(name='x_wien2k_for_y')) + + x_wien2k_for_z = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + force on atom xx in mRy/bohr (in the local (for each atom) cartesian coordinate + system): Fz + ''', + a_legacy=LegacyDefinition(name='x_wien2k_for_z')) + + x_wien2k_for_x_gl = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + force on atom xx in mRy/bohr (in the global coordinate system of the unit cell (in + the same way as the atomic positions are specified)): Fx + ''', + a_legacy=LegacyDefinition(name='x_wien2k_for_x_gl')) + + x_wien2k_for_y_gl = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + force on atom xx in mRy/bohr (in the global coordinate system of the unit cell (in + the same way as the atomic positions are specified)): Fy + ''', + a_legacy=LegacyDefinition(name='x_wien2k_for_y_gl')) + + x_wien2k_for_z_gl = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + force on atom xx in mRy/bohr (in the global coordinate system of the unit cell (in + the same way as the atomic positions are specified)): Fz + ''', + a_legacy=LegacyDefinition(name='x_wien2k_for_z_gl')) + + x_wien2k_atom_nr = Quantity( + type=str, + shape=[], + description=''' + number of atom, labelling atoms + ''', + a_legacy=LegacyDefinition(name='x_wien2k_atom_nr')) + + x_wien2k_sphere_nr = Quantity( + type=str, + shape=[], + description=''' + number of sphere, labelling spheres + ''', + a_legacy=LegacyDefinition(name='x_wien2k_sphere_nr')) + + x_wien2k_tot_diff_charge = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + total difference charge density for atom xx between last 2 iterations + ''', + a_legacy=LegacyDefinition(name='x_wien2k_tot_diff_charge')) + + x_wien2k_tot_int_charge = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + total interstitial charge (mixed after MIXER) + ''', + a_legacy=LegacyDefinition(name='x_wien2k_tot_int_charge')) + + x_wien2k_tot_charge_in_sphere = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + total charge in sphere xx (mixed after MIXER) + ''', + a_legacy=LegacyDefinition(name='x_wien2k_tot_charge_in_sphere')) + + x_wien2k_tot_int_charge_nm = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + total interstitial charge (new (not mixed) from LAPW2+LCORE + ''', + a_legacy=LegacyDefinition(name='x_wien2k_tot_int_charge_nm')) + + x_wien2k_tot_charge_in_sphere_nm = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + total charge in sphere xx (new (not mixed) from LAPW2+LCORE + ''', + a_legacy=LegacyDefinition(name='x_wien2k_tot_charge_in_sphere_nm')) + + x_wien2k_tot_val_charge_cell = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + total valence charge inside unit cell + ''', + a_legacy=LegacyDefinition(name='x_wien2k_tot_val_charge_cell')) + + x_wien2k_tot_val_charge_sphere = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + total valence charge in sphere xx + ''', + a_legacy=LegacyDefinition(name='x_wien2k_tot_val_charge_sphere')) + + x_wien2k_density_at_nucleus_valence = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + density for atom xx at the nucleus (first radial mesh point); valence + ''', + a_legacy=LegacyDefinition(name='x_wien2k_density_at_nucleus_valence')) + + x_wien2k_density_at_nucleus_semicore = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + density for atom xx at the nucleus (first radial mesh point); semi-core + ''', + a_legacy=LegacyDefinition(name='x_wien2k_density_at_nucleus_semicore')) + + x_wien2k_density_at_nucleus_core = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + density for atom xx at the nucleus (first radial mesh point); core + ''', + a_legacy=LegacyDefinition(name='x_wien2k_density_at_nucleus_core')) + + x_wien2k_density_at_nucleus_tot = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + density for atom xx at the nucleus (first radial mesh point); total + ''', + a_legacy=LegacyDefinition(name='x_wien2k_density_at_nucleus_tot')) + + x_wien2k_nuclear_charge = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + nuclear and electronic charge; normalization check of electronic charge densities. + If a significant amount of electrons is missing, one might have core states, whose + charge density is not completely confined within the respective atomic sphere. In + such a case the corresponding states should be treated as band states (using LOs). + ''', + a_legacy=LegacyDefinition(name='x_wien2k_nuclear_charge')) + + x_wien2k_electronic_charge = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + nuclear and electronic charge; normalization check of electronic charge densities. + If a significant amount of electrons is missing, one might have core states, whose + charge density is not completely confined within the respective atomic sphere. In + such a case the corresponding states should be treated as band states (using LOs). + ''', + a_legacy=LegacyDefinition(name='x_wien2k_electronic_charge')) + + x_wien2k_necnr = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + number of the nec test, labelling nec + ''', + a_legacy=LegacyDefinition(name='x_wien2k_necnr')) + + +class section_system(public.section_system): + + m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_system')) + + x_wien2k_nonequiv_atoms = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + number of inequivalent atoms in the unit cell + ''', + a_legacy=LegacyDefinition(name='x_wien2k_nonequiv_atoms')) + + x_wien2k_system_nameIn = Quantity( + type=str, + shape=[], + description=''' + user given name for this system given in the struct file + ''', + a_legacy=LegacyDefinition(name='x_wien2k_system_nameIn')) + + x_wien2k_calc_mode = Quantity( + type=str, + shape=[], + description=''' + relativistic or nonrelativistic calculation mode + ''', + a_legacy=LegacyDefinition(name='x_wien2k_calc_mode')) + + x_wien2k_unit_cell_param_a = Quantity( + type=np.dtype(np.float64), + shape=[], + unit='meter', + description=''' + unit cell parameters - a + ''', + a_legacy=LegacyDefinition(name='x_wien2k_unit_cell_param_a')) + + x_wien2k_unit_cell_param_b = Quantity( + type=np.dtype(np.float64), + shape=[], + unit='meter', + description=''' + unit cell parameters - b + ''', + a_legacy=LegacyDefinition(name='x_wien2k_unit_cell_param_b')) + + x_wien2k_unit_cell_param_c = Quantity( + type=np.dtype(np.float64), + shape=[], + unit='meter', + description=''' + unit cell parameters - c + ''', + a_legacy=LegacyDefinition(name='x_wien2k_unit_cell_param_c')) + + x_wien2k_angle_between_unit_axis_alfa = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + unit cell parameters - alfa + ''', + a_legacy=LegacyDefinition(name='x_wien2k_angle_between_unit_axis_alfa')) + + x_wien2k_angle_between_unit_axis_beta = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + unit cell parameters - beta + ''', + a_legacy=LegacyDefinition(name='x_wien2k_angle_between_unit_axis_beta')) + + x_wien2k_angle_between_unit_axis_gamma = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + unit cell parameters - gamma + ''', + a_legacy=LegacyDefinition(name='x_wien2k_angle_between_unit_axis_gamma')) + + x_wien2k_section_equiv_atoms = SubSection( + sub_section=SectionProxy('x_wien2k_section_equiv_atoms'), + repeats=True, + a_legacy=LegacyDefinition(name='x_wien2k_section_equiv_atoms')) + + +class section_method(public.section_method): + + m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_method')) + + x_wien2k_switch = Quantity( + type=str, + shape=[], + description=''' + switch in in0 between TOT, KXC, POT, MULT, COUL, EXCH + ''', + a_legacy=LegacyDefinition(name='x_wien2k_switch')) + + x_wien2k_ifft_x = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + FFT-mesh parameters in x direction for the calculation of the XC-potential in the + interstitial region, in in0 + ''', + a_legacy=LegacyDefinition(name='x_wien2k_ifft_x')) + + x_wien2k_ifft_y = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + FFT-mesh parameters in y direction for the calculation of the XC-potential in the + interstitial region, in in0 + ''', + a_legacy=LegacyDefinition(name='x_wien2k_ifft_y')) + + x_wien2k_ifft_z = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + FFT-mesh parameters in z direction for the calculation of the XC-potential in the + interstitial region, in in0 + ''', + a_legacy=LegacyDefinition(name='x_wien2k_ifft_z')) + + x_wien2k_ifft_factor = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Multiplicative factor to the IFFT grid, in in0 + ''', + a_legacy=LegacyDefinition(name='x_wien2k_ifft_factor')) + + x_wien2k_iprint = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + optional print switch, in in0 + ''', + a_legacy=LegacyDefinition(name='x_wien2k_iprint')) + + x_wien2k_wf_switch = Quantity( + type=str, + shape=[], + description=''' + wave function switch between WFFIL, SUPWF, WPPRI + ''', + a_legacy=LegacyDefinition(name='x_wien2k_wf_switch')) + + x_wien2k_rkmax = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + RmtKmax - determines matrix size (convergence), where Kmax is the plane wave cut- + off, Rmt is the smallest of all atomic sphere radii + ''', + a_legacy=LegacyDefinition(name='x_wien2k_rkmax')) + + x_wien2k_in2c_switch = Quantity( + type=str, + shape=[], + description=''' + switch, in in2c between (TOT,FOR,QTL,EFG,ALM,CLM,FERMI) + ''', + a_legacy=LegacyDefinition(name='x_wien2k_in2c_switch')) + + x_wien2k_in2c_emin = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + lower energy cut-off for defining the range of occupied states; in in2c + ''', + a_legacy=LegacyDefinition(name='x_wien2k_in2c_emin')) + + x_wien2k_in2c_ne = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + number of electrons (per unit cell) in given energy range in in2c + ''', + a_legacy=LegacyDefinition(name='x_wien2k_in2c_ne')) + + x_wien2k_in2c_espermin = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + LAPW2 tries to find the .mean. energies for each l channel, for both the valence + and the semicore states. To define .valence. and .semicore. it starts at (EF - + .esepermin.) and searches for a .gap. with a width of at least .eseper0. and + defines this as separation energy of valence and semicore; in in2c + ''', + a_legacy=LegacyDefinition(name='x_wien2k_in2c_espermin')) + + x_wien2k_in2c_esper0 = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + minimum gap width; in in2c + ''', + a_legacy=LegacyDefinition(name='x_wien2k_in2c_esper0')) + + x_wien2k_smearing_kind = Quantity( + type=str, + shape=[], + description=''' + determines how EF is determined; in in2c + ''', + a_legacy=LegacyDefinition(name='x_wien2k_smearing_kind')) + + x_wien2k_smearing_width = Quantity( + type=np.dtype(np.float64), + shape=[], + unit='joule', + description=''' + specifies the width of the broadening, if efmod is set to ALL, eval specifies the + upper limit of the energy window; in in2c + ''', + a_legacy=LegacyDefinition(name='x_wien2k_smearing_width')) + + x_wien2k_in2c_gmax = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + max. G (magnitude of largest vector) in charge density Fourier expansion; in in2c + ''', + a_legacy=LegacyDefinition(name='x_wien2k_in2c_gmax')) + + x_wien2k_section_XC = SubSection( + sub_section=SectionProxy('x_wien2k_section_XC'), + repeats=True, + a_legacy=LegacyDefinition(name='x_wien2k_section_XC')) + + +m_package.__init_metainfo__() diff --git a/parser/parser-wien2k/wien2kparser/parser_wien2k.py b/wien2kparser/parser_wien2k.py similarity index 100% rename from parser/parser-wien2k/wien2kparser/parser_wien2k.py rename to wien2kparser/parser_wien2k.py diff --git a/parser/wien2kparser/setup_paths.py b/wien2kparser/setup_paths.py similarity index 100% rename from parser/wien2kparser/setup_paths.py rename to wien2kparser/setup_paths.py diff --git a/parser/parser-wien2k/wien2kparser/wien2k_parser_in0.py b/wien2kparser/wien2k_parser_in0.py similarity index 100% rename from parser/parser-wien2k/wien2kparser/wien2k_parser_in0.py rename to wien2kparser/wien2k_parser_in0.py diff --git a/parser/parser-wien2k/wien2kparser/wien2k_parser_in1.py b/wien2kparser/wien2k_parser_in1.py similarity index 100% rename from parser/parser-wien2k/wien2kparser/wien2k_parser_in1.py rename to wien2kparser/wien2k_parser_in1.py diff --git a/parser/parser-wien2k/wien2kparser/wien2k_parser_in1c.py b/wien2kparser/wien2k_parser_in1c.py similarity index 100% rename from parser/parser-wien2k/wien2kparser/wien2k_parser_in1c.py rename to wien2kparser/wien2k_parser_in1c.py diff --git a/parser/parser-wien2k/wien2kparser/wien2k_parser_in2.py b/wien2kparser/wien2k_parser_in2.py similarity index 99% rename from parser/parser-wien2k/wien2kparser/wien2k_parser_in2.py rename to wien2kparser/wien2k_parser_in2.py index 61716b1..452918a 100644 --- a/parser/parser-wien2k/wien2kparser/wien2k_parser_in2.py +++ b/wien2kparser/wien2k_parser_in2.py @@ -82,4 +82,4 @@ def get_cachingLevelForMetaName(metaInfoEnv, CachingLvl): } return cachingLevelForMetaName -# loading metadata from nomad-meta-info/meta_info/nomad_meta_info/fhi_aims.nomadmetainfo.json +# loading metadata from nomad-meta-info/meta_info/nomad_meta_info/fhiaims.nomadmetainfo.json diff --git a/parser/parser-wien2k/wien2kparser/wien2k_parser_in2c.py b/wien2kparser/wien2k_parser_in2c.py similarity index 100% rename from parser/parser-wien2k/wien2kparser/wien2k_parser_in2c.py rename to wien2kparser/wien2k_parser_in2c.py diff --git a/parser/parser-wien2k/wien2kparser/wien2k_parser_struct.py b/wien2kparser/wien2k_parser_struct.py similarity index 100% rename from parser/parser-wien2k/wien2kparser/wien2k_parser_struct.py rename to wien2kparser/wien2k_parser_struct.py -- GitLab