From ca6d9a765cda0f67f3b78e820c5590bf6ed250cf Mon Sep 17 00:00:00 2001 From: Markus Scheidgen <markus.scheidgen@gmail.com> Date: Thu, 19 Mar 2020 12:22:47 +0100 Subject: [PATCH] Added metainfo python code. --- quantumespressoparser/metainfo/__init__.py | 13 + .../metainfo/quantum_espresso.py | 3291 +++++++++++++++++ 2 files changed, 3304 insertions(+) create mode 100644 quantumespressoparser/metainfo/__init__.py create mode 100644 quantumespressoparser/metainfo/quantum_espresso.py diff --git a/quantumespressoparser/metainfo/__init__.py b/quantumespressoparser/metainfo/__init__.py new file mode 100644 index 0000000..2bf11e9 --- /dev/null +++ b/quantumespressoparser/metainfo/__init__.py @@ -0,0 +1,13 @@ +import sys +from nomad.metainfo import Environment +from nomad.metainfo.legacy import LegacyMetainfoEnvironment +import quantumespressoparser.metainfo.quantum_espresso +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['quantumespressoparser.metainfo.quantum_espresso'].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/quantumespressoparser/metainfo/quantum_espresso.py b/quantumespressoparser/metainfo/quantum_espresso.py new file mode 100644 index 0000000..b664eb1 --- /dev/null +++ b/quantumespressoparser/metainfo/quantum_espresso.py @@ -0,0 +1,3291 @@ +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='quantum_espresso_nomadmetainfo_json', + description='None', + a_legacy=LegacyDefinition(name='quantum_espresso.nomadmetainfo.json')) + + +class x_qe_section_parallel(MSection): + ''' + section for run-time parallization options of Quantum Espresso + ''' + + m_def = Section(validate=False, a_legacy=LegacyDefinition(name='x_qe_section_parallel')) + + x_qe_nthreads = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Number of OpenMP threads + ''', + a_legacy=LegacyDefinition(name='x_qe_nthreads')) + + x_qe_nproc = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Number of MPI ranks + ''', + a_legacy=LegacyDefinition(name='x_qe_nproc')) + + x_qe_npool = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Number of K-Point pools + ''', + a_legacy=LegacyDefinition(name='x_qe_npool')) + + +class x_qe_section_compile_options(MSection): + ''' + section for compile-time options of Quantum Espresso + ''' + + m_def = Section(validate=False, a_legacy=LegacyDefinition(name='x_qe_section_compile_options')) + + x_qe_ntypx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Maximum number of different atom species + ''', + a_legacy=LegacyDefinition(name='x_qe_ntypx')) + + x_qe_ndmx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Maximum dimension of radial grid (Pseudopotential) + ''', + a_legacy=LegacyDefinition(name='x_qe_ndmx')) + + x_qe_npk = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Maximum number of k-points + ''', + a_legacy=LegacyDefinition(name='x_qe_npk')) + + x_qe_lmaxx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Maximum non local angular momentum (Pseudopotential) + ''', + a_legacy=LegacyDefinition(name='x_qe_lmaxx')) + + x_qe_nbrx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Maximum number of beta functions (Pseudopotential) + ''', + a_legacy=LegacyDefinition(name='x_qe_nbrx')) + + x_qe_nqfx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Maximum number of coefficients in Q smoothing (Pseudopotential) + ''', + a_legacy=LegacyDefinition(name='x_qe_nqfx')) + + x_qe_nchix = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Maximum number of atomic wavefunctions per Pseudopotential + ''', + a_legacy=LegacyDefinition(name='x_qe_nchix')) + + x_qe_compile_parallel_version = Quantity( + type=str, + shape=[], + description=''' + Parallelization compile-time options + ''', + a_legacy=LegacyDefinition(name='x_qe_compile_parallel_version')) + + +class x_qe_t_section_pp_report(MSection): + ''' + section to collect 'pseudopotential report' information in new QE, used only for + 'old', non-UPF pseudopotentials + ''' + + m_def = Section(validate=False, a_legacy=LegacyDefinition(name='x_qe_t_section_pp_report')) + + x_qe_t_pp_report_species = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: PP report: species number + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_report_species')) + + x_qe_t_pp_report_version = Quantity( + type=str, + shape=[], + description=''' + Temporary: PP report: pp version + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_report_version')) + + x_qe_t_pp_report_line = Quantity( + type=str, + shape=[], + description=''' + Temporary: PP report: parsed line + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_report_line')) + + +class x_qe_t_section_pp_warning(MSection): + ''' + section to collect 'pseudopotential warning' information in old QE + ''' + + m_def = Section(validate=False, a_legacy=LegacyDefinition(name='x_qe_t_section_pp_warning')) + + x_qe_t_pp_warning_idx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: renormalized WFCs in pseudopotential: pp index + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_warning_idx')) + + x_qe_t_pp_warning_filename = Quantity( + type=str, + shape=[], + description=''' + Temporary: renormalized WFCs in pseudopotential: filename + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_warning_filename')) + + x_qe_t_pp_warning_wfcidx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: renormalized WFCs in pseudopotential: pseudo-wavefunction index + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_warning_wfcidx')) + + x_qe_t_pp_warning_wfclabel = Quantity( + type=str, + shape=[], + description=''' + Temporary: renormalized WFCs in pseudopotential: pseudo-wavefunction label + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_warning_wfclabel')) + + x_qe_t_pp_warning_wfcnorm = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: renormalized WFCs in pseudopotential: pseudo-wavefunction original norm + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_warning_wfcnorm')) + + +class x_qe_t_section_pseudopotential(MSection): + ''' + pseudo-section for collecting pseudopotential data (atomic number lookup requires + table printed later in output) + ''' + + m_def = Section(validate=False, a_legacy=LegacyDefinition(name='x_qe_t_section_pseudopotential')) + + x_qe_t_pp_idx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: Index of Pseudopotential on Espresso side + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_idx')) + + x_qe_t_pp_ndmx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: Radial grid of Pseudopotential on Espresso side + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_ndmx')) + + x_qe_t_pp_label = Quantity( + type=str, + shape=[], + description=''' + Temporary: Label of Pseudopotential on Espresso side + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_label')) + + x_qe_t_pp_filename = Quantity( + type=str, + shape=[], + description=''' + Filename of pseudopotential + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_filename')) + + x_qe_t_pp_type = Quantity( + type=str, + shape=[], + description=''' + Temporary: Type of pseudopotential, e.g. 'Norm-conserving' or 'Ultrasoft' + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_type')) + + x_qe_t_pp_md5sum = Quantity( + type=str, + shape=[], + description=''' + Temporary: MD5 checksum of pseudopotential file + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_md5sum')) + + x_qe_t_pp_comment = Quantity( + type=str, + shape=[], + description=''' + Temporary: comment about pseudopotential + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_comment')) + + x_qe_t_pp_integral_ndirections = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: number of integration directions (PAW) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_integral_ndirections')) + + x_qe_t_pp_integral_lmax_exact = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: maximum l for which integration is exact (PAW) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_integral_lmax_exact')) + + x_qe_t_pp_augmentation_shape = Quantity( + type=str, + shape=[], + description=''' + Temporary: shape of augmentation charge + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_augmentation_shape')) + + x_qe_t_pp_valence = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: Number of Valence electrons in pseudopotential + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_valence')) + + x_qe_t_pp_nbeta = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: Number of beta functions in pseudopotential on Espresso side + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_nbeta')) + + x_qe_t_pp_l_idx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: beta function l index in pseudopotential on Espresso side + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_l_idx')) + + x_qe_t_pp_l = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: beta function l in pseudopotential on Espresso side + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_l')) + + x_qe_t_pp_ncoefficients = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: Number of coefficients in pseudopotential + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_ncoefficients')) + + x_qe_t_rinner = Quantity( + type=str, + shape=[], + description=''' + Temporary: Inner Radii of pseudopotential + ''', + a_legacy=LegacyDefinition(name='x_qe_t_rinner')) + + +class x_qe_section_scf_diagonalization(MSection): + ''' + section for diagonalization info in QE scf iterations + ''' + + m_def = Section(validate=False, a_legacy=LegacyDefinition(name='x_qe_section_scf_diagonalization')) + + x_qe_t_scf_diagonalization_algorithm = Quantity( + type=str, + shape=[], + description=''' + Temporary: Diagonalization algorithm + ''', + a_legacy=LegacyDefinition(name='x_qe_t_scf_diagonalization_algorithm')) + + x_qe_scf_diagonalization_algorithm = Quantity( + type=str, + shape=[], + description=''' + Diagonalization algorithm + ''', + a_legacy=LegacyDefinition(name='x_qe_scf_diagonalization_algorithm')) + + x_qe_scf_diagonalization_warn_n_unconverged_eigenvalues = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Number of uncoverged eigenvalues (Warning) + ''', + a_legacy=LegacyDefinition(name='x_qe_scf_diagonalization_warn_n_unconverged_eigenvalues')) + + x_qe_scf_diagonalization_c_bands_n_unconverged_eigenvalues = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Number of uncoverged eigenvalues (Warning from function c_bands) + ''', + a_legacy=LegacyDefinition(name='x_qe_scf_diagonalization_c_bands_n_unconverged_eigenvalues')) + + x_qe_scf_diagonalization_ethr = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Convergence Threshold in scf diagonalization + ''', + a_legacy=LegacyDefinition(name='x_qe_scf_diagonalization_ethr')) + + x_qe_scf_diagonalization_iteration_avg = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Average of iterations in scf diagonalization + ''', + a_legacy=LegacyDefinition(name='x_qe_scf_diagonalization_iteration_avg')) + + +class x_qe_section_bands_diagonalization(MSection): + ''' + section for diagonalization info in QE band structure calculation + ''' + + m_def = Section(validate=False, a_legacy=LegacyDefinition(name='x_qe_section_bands_diagonalization')) + + x_qe_t_bands_diagonalization_algorithm = Quantity( + type=str, + shape=[], + description=''' + Temporary: Diagonalization algorithm + ''', + a_legacy=LegacyDefinition(name='x_qe_t_bands_diagonalization_algorithm')) + + x_qe_bands_diagonalization_algorithm = Quantity( + type=str, + shape=[], + description=''' + Diagonalization algorithm + ''', + a_legacy=LegacyDefinition(name='x_qe_bands_diagonalization_algorithm')) + + x_qe_bands_diagonalization_warn_n_unconverged_eigenvalues = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Number of uncoverged eigenvalues (Warning) + ''', + a_legacy=LegacyDefinition(name='x_qe_bands_diagonalization_warn_n_unconverged_eigenvalues')) + + x_qe_bands_diagonalization_c_bands_n_unconverged_eigenvalues = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Number of uncoverged eigenvalues (Warning from function c_bands) + ''', + a_legacy=LegacyDefinition(name='x_qe_bands_diagonalization_c_bands_n_unconverged_eigenvalues')) + + x_qe_bands_diagonalization_ethr = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Convergence Threshold in bands diagonalization + ''', + a_legacy=LegacyDefinition(name='x_qe_bands_diagonalization_ethr')) + + x_qe_bands_diagonalization_iteration_avg = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Average of iterations in bands diagonalization + ''', + a_legacy=LegacyDefinition(name='x_qe_bands_diagonalization_iteration_avg')) + + +class x_qe_t_section_input_occupations(MSection): + ''' + Temporary: Section for User-specified band occupations + ''' + + m_def = Section(validate=False, a_legacy=LegacyDefinition(name='x_qe_t_section_input_occupations')) + + x_qe_t_input_occupations_spin = Quantity( + type=str, + shape=[], + description=''' + Temporary: User-specified band occupations, spin channel + ''', + a_legacy=LegacyDefinition(name='x_qe_t_input_occupations_spin')) + + x_qe_t_input_occupations = Quantity( + type=str, + shape=[], + description=''' + Temporary: User-specified band occupations + ''', + a_legacy=LegacyDefinition(name='x_qe_t_input_occupations')) + + +class section_single_configuration_calculation(public.section_single_configuration_calculation): + + m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_single_configuration_calculation')) + + x_qe_extra_SCF = Quantity( + type=bool, + shape=[], + description=''' + Extra SCF without electronic history at the end of relaxation. Triggered in + magnetic simulations when relax converges to non-magnetic solution + ''', + a_legacy=LegacyDefinition(name='x_qe_extra_SCF')) + + x_qe_t_spin_channel = Quantity( + type=str, + shape=[], + description=''' + Temporary storage for spin channel + ''', + a_legacy=LegacyDefinition(name='x_qe_t_spin_channel')) + + x_qe_t_k_x = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for k-point, x-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_k_x')) + + x_qe_t_k_y = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for k-point, y-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_k_y')) + + x_qe_t_k_z = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for k-point, z-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_k_z')) + + x_qe_t_k_pw = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: number of plane waves for this k-point + ''', + a_legacy=LegacyDefinition(name='x_qe_t_k_pw')) + + x_qe_t_k_point_energies = Quantity( + type=str, + shape=[], + description=''' + Temporary: k-point band energies + ''', + a_legacy=LegacyDefinition(name='x_qe_t_k_point_energies')) + + x_qe_energy_total_harris_foulkes_estimate = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Harris-Foulkes estimate of total energy + ''', + a_legacy=LegacyDefinition(name='x_qe_energy_total_harris_foulkes_estimate')) + + x_qe_energy_total_accuracy_estimate = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Accuracy estimate of total energy + ''', + a_legacy=LegacyDefinition(name='x_qe_energy_total_accuracy_estimate')) + + x_qe_energy_exchange_error_estimate = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Estimated error on exchange + ''', + a_legacy=LegacyDefinition(name='x_qe_energy_exchange_error_estimate')) + + x_qe_energy_exchange_average_fock_potential = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Averaged Fock potential + ''', + a_legacy=LegacyDefinition(name='x_qe_energy_exchange_average_fock_potential')) + + x_qe_energy_fock = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Fock energy + ''', + a_legacy=LegacyDefinition(name='x_qe_energy_fock')) + + x_qe_energy_total_paw_all_electron = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + All-electron total energy from PAW + ''', + a_legacy=LegacyDefinition(name='x_qe_energy_total_paw_all_electron')) + + x_qe_t_energy_reference_highest_occupied = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: Energy of highest occupied state + ''', + a_legacy=LegacyDefinition(name='x_qe_t_energy_reference_highest_occupied')) + + x_qe_t_energy_reference_lowest_unoccupied = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Energy of lowest unoccupied state + ''', + a_legacy=LegacyDefinition(name='x_qe_t_energy_reference_lowest_unoccupied')) + + x_qe_t_energy_reference_fermi = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: Fermi Energy + ''', + a_legacy=LegacyDefinition(name='x_qe_t_energy_reference_fermi')) + + x_qe_t_energy_reference_fermi_up = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: Fermi Energy (spin up) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_energy_reference_fermi_up')) + + x_qe_t_energy_reference_fermi_down = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: Fermi Energy (spin down) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_energy_reference_fermi_down')) + + x_qe_t_energy_decomposition_name = Quantity( + type=str, + shape=[], + description=''' + Temporary: Total energy decomposition: contribution name + ''', + a_legacy=LegacyDefinition(name='x_qe_t_energy_decomposition_name')) + + x_qe_t_energy_decomposition_value = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: Total energy decomposition: contribution value + ''', + a_legacy=LegacyDefinition(name='x_qe_t_energy_decomposition_value')) + + x_qe_energy_decomposition_name = Quantity( + type=str, + shape=['x_qe_number_of_energy_components'], + description=''' + Total energy decomposition: contribution name + ''', + a_legacy=LegacyDefinition(name='x_qe_energy_decomposition_name')) + + x_qe_energy_decomposition_value = Quantity( + type=np.dtype(np.float64), + shape=['x_qe_number_of_energy_components'], + description=''' + Total energy decomposition: contribution value + ''', + a_legacy=LegacyDefinition(name='x_qe_energy_decomposition_value')) + + x_qe_magnetization_total = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Total per-cell magnetization + ''', + a_legacy=LegacyDefinition(name='x_qe_magnetization_total')) + + x_qe_magnetization_absolute = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Absolute per-cell magnetization + ''', + a_legacy=LegacyDefinition(name='x_qe_magnetization_absolute')) + + x_qe_convergence_iterations = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Number of iterations after which self-consistency has been achieved + ''', + a_legacy=LegacyDefinition(name='x_qe_convergence_iterations')) + + x_qe_exx_refine = Quantity( + type=bool, + shape=[], + description=''' + Flag: Exact-exchange refinement is active + ''', + a_legacy=LegacyDefinition(name='x_qe_exx_refine')) + + x_qe_exx_self_consistency = Quantity( + type=bool, + shape=[], + description=''' + Exact-exchange has been reached (flag) + ''', + a_legacy=LegacyDefinition(name='x_qe_exx_self_consistency')) + + x_qe_output_datafile = Quantity( + type=str, + shape=[], + description=''' + Output datafile + ''', + a_legacy=LegacyDefinition(name='x_qe_output_datafile')) + + x_qe_t_force_atom_idx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_t_force_atom_idx')) + + x_qe_t_force_x = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_t_force_x')) + + x_qe_t_force_y = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_t_force_y')) + + x_qe_t_force_z = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_t_force_z')) + + x_qe_t_dispersion_force_atom_idx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_t_dispersion_force_atom_idx')) + + x_qe_atom_dispersion_force = Quantity( + type=np.dtype(np.float64), + shape=['number_of_atoms', 3], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_atom_dispersion_force')) + + x_qe_t_dispersion_force_x = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_t_dispersion_force_x')) + + x_qe_t_dispersion_force_y = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_t_dispersion_force_y')) + + x_qe_t_dispersion_force_z = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_t_dispersion_force_z')) + + x_qe_dispersion_force_total = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_dispersion_force_total')) + + x_qe_force_total = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_force_total')) + + x_qe_force_total_scf_correction = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_force_total_scf_correction')) + + x_qe_pressure = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_pressure')) + + x_qe_t_stress_x = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_t_stress_x')) + + x_qe_t_stress_y = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_t_stress_y')) + + x_qe_t_stress_z = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_t_stress_z')) + + x_qe_stress_unimplemented = Quantity( + type=str, + shape=[], + description=''' + Reason why stress tensor is not implemented + ''', + a_legacy=LegacyDefinition(name='x_qe_stress_unimplemented')) + + x_qe_t_md_iteration = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: MD step: iteration number + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_iteration')) + + x_qe_t_projected_velocity = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: MD step: projected velocity + ''', + a_legacy=LegacyDefinition(name='x_qe_t_projected_velocity')) + + x_qe_t_md_time = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + MD step: time + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_time')) + + x_qe_t_md_vec_a_units = Quantity( + type=str, + shape=[], + description=''' + Temporary storage for new direct lattice vectors (vc-relax), units + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_vec_a_units')) + + x_qe_t_md_vec_a_alat = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for new direct lattice vectors (vc-relax), lattice parameter a + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_vec_a_alat')) + + x_qe_t_md_vec_a_x = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for new direct lattice vectors (vc-relax), x-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_vec_a_x')) + + x_qe_t_md_vec_a_y = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for new direct lattice vectors (vc-relax), y-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_vec_a_y')) + + x_qe_t_md_vec_a_z = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for new direct lattice vectors (vc-relax), z-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_vec_a_z')) + + x_qe_t_md_atom_positions_units = Quantity( + type=str, + shape=[], + description=''' + Temporary storage for new atom positions (MD, (vc-)relax), units + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_atom_positions_units')) + + x_qe_t_md_atom_positions_units_vcsmd = Quantity( + type=str, + shape=[], + description=''' + Temporary storage for new atom positions (MD, (vc-)relax via VCSMD), units + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_atom_positions_units_vcsmd')) + + x_qe_t_md_atom_labels = Quantity( + type=str, + shape=[], + description=''' + Temporary storage for new atom positions (MD, (vc-)relax), atom labels + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_atom_labels')) + + x_qe_t_md_atom_positions_x = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for new atom positions (MD, (vc-)relax), x-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_atom_positions_x')) + + x_qe_t_md_atom_positions_y = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for new atom positions (MD, (vc-)relax), y-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_atom_positions_y')) + + x_qe_t_md_atom_positions_z = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for new atom positions (MD, (vc-)relax), z-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_atom_positions_z')) + + x_qe_t_md_atom_free_x = Quantity( + type=bool, + shape=[], + description=''' + Temporary storage for new atom fixed flag (MD, (vc-)relax), x-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_atom_free_x')) + + x_qe_t_md_atom_free_y = Quantity( + type=bool, + shape=[], + description=''' + Temporary storage for new atom fixed flag (MD, (vc-)relax), y-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_atom_free_y')) + + x_qe_t_md_atom_free_z = Quantity( + type=bool, + shape=[], + description=''' + Temporary storage for new atom fixed flag (MD, (vc-)relax), z-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_atom_free_z')) + + x_qe_t_new_nat2_distance = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for new 2-atom distance (MD, (vc-)relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_new_nat2_distance')) + + x_qe_t_md_atom_mass_label = Quantity( + type=str, + shape=[], + description=''' + Temporary storage for MD setup, atom mass, labels + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_atom_mass_label')) + + x_qe_t_md_atom_mass_value = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for MD setup, atom mass, value + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_atom_mass_value')) + + x_qe_t_md_timestep_size = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for MD setup, timestep size + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_timestep_size')) + + x_qe_t_md_kinetic_energy = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for MD, kinetic energy + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_kinetic_energy')) + + x_qe_t_md_temperature = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for MD, temperature + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_temperature')) + + x_qe_t_md_total_energy = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for MD, total energy + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_total_energy')) + + x_qe_t_md_ekin_etot = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for MD, sum of energies + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_ekin_etot')) + + x_qe_t_md_linear_momentum_x = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for linear momentum (MD, (vc-)relax), x-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_linear_momentum_x')) + + x_qe_t_md_linear_momentum_y = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for linear momentum (MD, (vc-)relax), y-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_linear_momentum_y')) + + x_qe_t_md_linear_momentum_z = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for linear momentum (MD, (vc-)relax), z-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_linear_momentum_z')) + + x_qe_t_md_write_datafile_cputime = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for cpu time after write-datafile (MD, (vc-)relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_write_datafile_cputime')) + + x_qe_t_md_write_datafile_mem_dynamical = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for dynamical memory after write-datafile (MD, (vc-)relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_write_datafile_mem_dynamical')) + + x_qe_t_md_extrapolation_charge = Quantity( + type=str, + shape=[], + description=''' + Temporary storage for charge extrapolation scheme (MD, (vc-)relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_extrapolation_charge')) + + x_qe_t_md_extrapolation_wfc = Quantity( + type=str, + shape=[], + description=''' + Temporary storage for wave function extrapolation scheme (MD, (vc-)relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_extrapolation_wfc')) + + x_qe_t_md_starting_charge = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for extrapolated starting charge (MD, (vc-)relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_starting_charge')) + + x_qe_t_md_starting_charge_renormalized = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for extrapolated starting charge, renormalized (MD, (vc-)relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_starting_charge_renormalized')) + + x_qe_t_md_max_steps_reached = Quantity( + type=bool, + shape=[], + description=''' + Temporary storage for max_steps-reached flag (MD, (vc-)relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_max_steps_reached')) + + x_qe_t_md_end = Quantity( + type=bool, + shape=[], + description=''' + Temporary storage for end-of-md flag (MD, (vc-)relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_end')) + + x_qe_t_md_diffusion_atomidx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary storage for diffusion coeffients (MD), atom index + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_diffusion_atomidx')) + + x_qe_t_md_diffusion_coefficient = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for diffusion coeffients (MD), atom coeffient + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_diffusion_coefficient')) + + x_qe_t_md_diffusion_coefficient_mean = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for diffusion coeffients (MD), mean coeffient + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_diffusion_coefficient_mean')) + + x_qe_t_md_bfgs_scf_cycles = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary storage for number of scf cycles (relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_bfgs_scf_cycles')) + + x_qe_t_md_bfgs_steps = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary storage for number of steps (relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_bfgs_steps')) + + x_qe_t_md_bfgs_energy_old = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for 'old' energy (relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_bfgs_energy_old')) + + x_qe_t_md_bfgs_energy_new = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for 'new' energy (relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_bfgs_energy_new')) + + x_qe_t_md_bfgs_enthalpy_old = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for 'old' enthalpy (relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_bfgs_enthalpy_old')) + + x_qe_t_md_bfgs_enthalpy_new = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for 'new' enthalpy (relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_bfgs_enthalpy_new')) + + x_qe_t_md_bfgs_case = Quantity( + type=str, + shape=[], + description=''' + Temporary storage for BFGS case, energy comparison (relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_bfgs_case')) + + x_qe_t_md_bfgs_reset = Quantity( + type=str, + shape=[], + description=''' + Temporary storage for BFGS history reset reason (relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_bfgs_reset')) + + x_qe_t_md_bfgs_trust_new = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for new trust radius (relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_bfgs_trust_new')) + + x_qe_t_md_bfgs_conv_thr_new = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for new electronic convergence threshold (relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_bfgs_conv_thr_new')) + + x_qe_t_md_starting_charge_negative_old = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for old negative starting charge (MD, (vc-)relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_starting_charge_negative_old')) + + x_qe_t_md_starting_charge_negative_new = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for new negative starting charge (MD, (vc-)relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_starting_charge_negative_new')) + + x_qe_t_md_starting_charge_negative_new_up = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for new negative starting charge (MD, (vc-)relax), spin up + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_starting_charge_negative_new_up')) + + x_qe_t_md_starting_charge_negative_new_down = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for new negative starting charge (MD, (vc-)relax), spin down + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_starting_charge_negative_new_down')) + + x_qe_t_md_bfgs_converged = Quantity( + type=bool, + shape=[], + description=''' + Temporary storage for 'converged' flag ((vc-)relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_bfgs_converged')) + + x_qe_t_md_bfgs_converged_criteria = Quantity( + type=str, + shape=[], + description=''' + Temporary storage for converged criteria ((vc-)relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_bfgs_converged_criteria')) + + x_qe_t_md_bfgs_final_energy = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for final energy ((vc-)relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_bfgs_final_energy')) + + x_qe_t_md_bfgs_final_enthalpy = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for final enthalpy ((vc-)relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_bfgs_final_enthalpy')) + + x_qe_t_md_new_volume = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for new cell volume ((vc-)relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_new_volume')) + + x_qe_t_md_isolated_system_method_martyna_tuckerman_alpha = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary MD: Isolated system with Martyna-Tuckerman method, parameter alpha + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_isolated_system_method_martyna_tuckerman_alpha')) + + x_qe_t_md_isolated_system_method_martyna_tuckerman_beta = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary MD: Isolated system with Martyna-Tuckerman method, parameter beta + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_isolated_system_method_martyna_tuckerman_beta')) + + x_qe_t_md_core_charge_negative = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary MD: QE check: negative core charge + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_core_charge_negative')) + + x_qe_t_md_core_charge_imaginary = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary MD: QE check: imaginary core charge + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_core_charge_imaginary')) + + x_qe_t_relax_converged_steps = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary Relax: number of steps after which structure relaxation converged + ''', + a_legacy=LegacyDefinition(name='x_qe_t_relax_converged_steps')) + + x_qe_t_relax_final_energy = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary Relax: final energy in relaxation + ''', + a_legacy=LegacyDefinition(name='x_qe_t_relax_final_energy')) + + x_qe_t_relax_threshold_energy = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary Relax: convergence threshold on energy in relaxation + ''', + a_legacy=LegacyDefinition(name='x_qe_t_relax_threshold_energy')) + + x_qe_t_relax_threshold_force = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary Relax: convergence threshold on force components in relaxation + ''', + a_legacy=LegacyDefinition(name='x_qe_t_relax_threshold_force')) + + x_qe_t_relax_threshold_pressure = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary Relax: convergence threshold on pressure in relaxation + ''', + a_legacy=LegacyDefinition(name='x_qe_t_relax_threshold_pressure')) + + x_qe_t_md_k_info_ik = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary MD storage for k-point info, k-index + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_k_info_ik')) + + x_qe_t_md_k_info_vec_x = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary MD storage for k-point info, x-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_k_info_vec_x')) + + x_qe_t_md_k_info_vec_y = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary MD storage for k-point info, y-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_k_info_vec_y')) + + x_qe_t_md_k_info_vec_z = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary MD storage for k-point info, z-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_k_info_vec_z')) + + x_qe_t_md_k_info_wk = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary MD storage for k-point info, weight + ''', + a_legacy=LegacyDefinition(name='x_qe_t_md_k_info_wk')) + + x_qe_section_bands_diagonalization = SubSection( + sub_section=SectionProxy('x_qe_section_bands_diagonalization'), + repeats=True, + a_legacy=LegacyDefinition(name='x_qe_section_bands_diagonalization')) + + +class section_run(public.section_run): + + m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_run')) + + x_qe_program_name = Quantity( + type=str, + shape=[], + description=''' + Name of program from Quantum Espresso suite + ''', + a_legacy=LegacyDefinition(name='x_qe_program_name')) + + x_qe_input_filename = Quantity( + type=str, + shape=[], + description=''' + Filename input was read from + ''', + a_legacy=LegacyDefinition(name='x_qe_input_filename')) + + x_qe_t_warning = Quantity( + type=str, + shape=[], + description=''' + Temporary: Warnings from Quantum Espresso + ''', + a_legacy=LegacyDefinition(name='x_qe_t_warning')) + + x_qe_warning = Quantity( + type=str, + shape=[], + description=''' + Warnings from Quantum Espresso + ''', + a_legacy=LegacyDefinition(name='x_qe_warning')) + + x_qe_profile_caller = Quantity( + type=str, + shape=['x_qe_number_of_profiling_entries'], + description=''' + QE profiling: caller name + ''', + a_legacy=LegacyDefinition(name='x_qe_profile_caller')) + + x_qe_profile_category = Quantity( + type=str, + shape=['x_qe_number_of_profiling_entries'], + description=''' + QE profiling: category + ''', + a_legacy=LegacyDefinition(name='x_qe_profile_category')) + + x_qe_profile_function = Quantity( + type=str, + shape=['x_qe_number_of_profiling_entries'], + description=''' + QE profiling: function name + ''', + a_legacy=LegacyDefinition(name='x_qe_profile_function')) + + x_qe_profile_cputime = Quantity( + type=np.dtype(np.float64), + shape=['x_qe_number_of_profiling_entries'], + description=''' + QE profiling: cputime spent in function + ''', + a_legacy=LegacyDefinition(name='x_qe_profile_cputime')) + + x_qe_profile_walltime = Quantity( + type=np.dtype(np.float64), + shape=['x_qe_number_of_profiling_entries'], + description=''' + QE profiling: wallclock time spent in function + ''', + a_legacy=LegacyDefinition(name='x_qe_profile_walltime')) + + x_qe_profile_ncalls = Quantity( + type=np.dtype(np.int32), + shape=['x_qe_number_of_profiling_entries'], + description=''' + QE profiling: how often was function called + ''', + a_legacy=LegacyDefinition(name='x_qe_profile_ncalls')) + + x_qe_t_profile_function = Quantity( + type=str, + shape=[], + description=''' + Temporary: QE profiling: function name + ''', + a_legacy=LegacyDefinition(name='x_qe_t_profile_function')) + + x_qe_t_profile_cputime = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: QE profiling: cputime spent in function + ''', + a_legacy=LegacyDefinition(name='x_qe_t_profile_cputime')) + + x_qe_t_profile_walltime = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: QE profiling: wallclock time spent in function + ''', + a_legacy=LegacyDefinition(name='x_qe_t_profile_walltime')) + + x_qe_t_profile_ncalls = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: QE profiling: how often was function called + ''', + a_legacy=LegacyDefinition(name='x_qe_t_profile_ncalls')) + + x_qe_t_profile_caller = Quantity( + type=str, + shape=[], + description=''' + Temporary: QE profiling: who was the caller + ''', + a_legacy=LegacyDefinition(name='x_qe_t_profile_caller')) + + x_qe_t_profile_caller_list = Quantity( + type=str, + shape=[], + description=''' + Temporary: QE profiling: who was the caller (list for each function) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_profile_caller_list')) + + x_qe_t_profile_category = Quantity( + type=str, + shape=[], + description=''' + Temporary: QE profiling: category + ''', + a_legacy=LegacyDefinition(name='x_qe_t_profile_category')) + + x_qe_t_profile_category_list = Quantity( + type=str, + shape=[], + description=''' + Temporary: QE profiling: category (list for each function) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_profile_category_list')) + + x_qe_input_positions_cell_dirname = Quantity( + type=str, + shape=[], + description=''' + Directory where initial atom_positions and simulation_cell were read from + ''', + a_legacy=LegacyDefinition(name='x_qe_input_positions_cell_dirname')) + + x_qe_input_potential_recalculated_file = Quantity( + type=str, + shape=[], + description=''' + File that was used to recalculate initial potential + ''', + a_legacy=LegacyDefinition(name='x_qe_input_potential_recalculated_file')) + + x_qe_section_parallel = SubSection( + sub_section=SectionProxy('x_qe_section_parallel'), + repeats=True, + a_legacy=LegacyDefinition(name='x_qe_section_parallel')) + + x_qe_section_compile_options = SubSection( + sub_section=SectionProxy('x_qe_section_compile_options'), + repeats=True, + a_legacy=LegacyDefinition(name='x_qe_section_compile_options')) + + +class section_method(public.section_method): + + m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_method')) + + x_qe_t_species_dispersion_correction_label = Quantity( + type=str, + shape=[], + description=''' + Temporary: DFT-D species label + ''', + a_legacy=LegacyDefinition(name='x_qe_t_species_dispersion_correction_label')) + + x_qe_t_species_dispersion_correction_vdw_radius = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: DFT-D species vdW radius + ''', + a_legacy=LegacyDefinition(name='x_qe_t_species_dispersion_correction_vdw_radius')) + + x_qe_t_species_dispersion_correction_C6 = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: DFT-D species C6 coefficient + ''', + a_legacy=LegacyDefinition(name='x_qe_t_species_dispersion_correction_C6')) + + x_qe_dispersion_correction = Quantity( + type=bool, + shape=[], + description=''' + Calculation includes semi-empirical DFT-D dispersion correction + ''', + a_legacy=LegacyDefinition(name='x_qe_dispersion_correction')) + + x_qe_gamma_algorithms = Quantity( + type=bool, + shape=[], + description=''' + Usage of gamma-only optimized algorithms + ''', + a_legacy=LegacyDefinition(name='x_qe_gamma_algorithms')) + + x_qe_exx_grid_same_as_k_grid = Quantity( + type=bool, + shape=[], + description=''' + Exact-exchange k+q grid is the same as k grid (flag) + ''', + a_legacy=LegacyDefinition(name='x_qe_exx_grid_same_as_k_grid')) + + x_qe_diagonalization_algorithm = Quantity( + type=str, + shape=[], + description=''' + Algorithm used in subspace diagonalization + ''', + a_legacy=LegacyDefinition(name='x_qe_diagonalization_algorithm')) + + x_qe_sticks_sum_dense = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_sticks_sum_dense')) + + x_qe_sticks_sum_smooth = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_sticks_sum_smooth')) + + x_qe_sticks_sum_PW = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_sticks_sum_PW')) + + x_qe_sticks_sum_G_dense = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_sticks_sum_G_dense')) + + x_qe_sticks_sum_G_smooth = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_sticks_sum_G_smooth')) + + x_qe_sticks_sum_G_PW = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_sticks_sum_G_PW')) + + x_qe_sticks_tot_dense = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_sticks_tot_dense')) + + x_qe_sticks_tot_smooth = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_sticks_tot_smooth')) + + x_qe_sticks_tot_PW = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_sticks_tot_PW')) + + x_qe_sticks_old = Quantity( + type=str, + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_sticks_old')) + + x_qe_t_species_integration_radius = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: radius used to integrate charge/magnetization over (per species) + ''', + a_legacy=LegacyDefinition(name='x_qe_t_species_integration_radius')) + + x_qe_t_species_integration_radius_idx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: radius used to integrate charge/magnetization over (per species), + species index + ''', + a_legacy=LegacyDefinition(name='x_qe_t_species_integration_radius_idx')) + + x_qe_fock_operator_cutoff = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Cutoff for defining the direct-space grid used to compute Fock exchange in EXX + ''', + a_legacy=LegacyDefinition(name='x_qe_fock_operator_cutoff')) + + x_qe_t_xc_functional_shortname_enforced = Quantity( + type=str, + shape=[], + description=''' + Short name of User-enforced XC functional; overrides the setting implied by the + pseudopotentials + ''', + a_legacy=LegacyDefinition(name='x_qe_t_xc_functional_shortname_enforced')) + + x_qe_potential_convergence_threshold = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Convergence threshold for potentials + ''', + a_legacy=LegacyDefinition(name='x_qe_potential_convergence_threshold')) + + x_qe_potential_mixing_beta = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Mixing scheme: parameter beta + ''', + a_legacy=LegacyDefinition(name='x_qe_potential_mixing_beta')) + + x_qe_potential_mixing_iterations = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Mixing scheme: number of previous iterations + ''', + a_legacy=LegacyDefinition(name='x_qe_potential_mixing_iterations')) + + x_qe_potential_mixing_scheme = Quantity( + type=str, + shape=[], + description=''' + Mixing scheme: type of mixing + ''', + a_legacy=LegacyDefinition(name='x_qe_potential_mixing_scheme')) + + x_qe_xc_functional_user_enforced = Quantity( + type=bool, + shape=[], + description=''' + True if the user enforced setting the XC functional; overrides the setting implied + by the pseudopotentials + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_functional_user_enforced')) + + x_qe_xc_functional_shortname = Quantity( + type=str, + shape=[], + description=''' + Short name of XC functional used in calculation + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_functional_shortname')) + + x_qe_xc_functional_num = Quantity( + type=str, + shape=[], + description=''' + QE Index number representation of XC functional + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_functional_num')) + + x_qe_xc_iexch_name = Quantity( + type=str, + shape=[], + description=''' + Name of XC functional (density exchange component) in Quantum Espresso context + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_iexch_name')) + + x_qe_xc_icorr_name = Quantity( + type=str, + shape=[], + description=''' + Name of XC functional (density correlation component) in Quantum Espresso context + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_icorr_name')) + + x_qe_xc_igcx_name = Quantity( + type=str, + shape=[], + description=''' + Name of XC functional (gradient exchange component) in Quantum Espresso context + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_igcx_name')) + + x_qe_xc_igcc_name = Quantity( + type=str, + shape=[], + description=''' + Name of XC functional (gradient correlation component) in Quantum Espresso context + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_igcc_name')) + + x_qe_xc_imeta_name = Quantity( + type=str, + shape=[], + description=''' + Name of XC functional (meta-gga component) in Quantum Espresso context + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_imeta_name')) + + x_qe_xc_inlc_name = Quantity( + type=str, + shape=[], + description=''' + Name of XC functional (Van-der-Waals non-local component) in Quantum Espresso + context + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_inlc_name')) + + x_qe_xc_iexch_comment = Quantity( + type=str, + shape=[], + description=''' + Quantum Espresso comment about XC functional (density exchange component) + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_iexch_comment')) + + x_qe_xc_icorr_comment = Quantity( + type=str, + shape=[], + description=''' + Quantum Espresso comment about XC functional (density correlation component) + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_icorr_comment')) + + x_qe_xc_igcx_comment = Quantity( + type=str, + shape=[], + description=''' + Quantum Espresso comment about XC functional (gradient exchange component) + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_igcx_comment')) + + x_qe_xc_igcc_comment = Quantity( + type=str, + shape=[], + description=''' + Quantum Espresso comment about XC functional (gradient correlation component) + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_igcc_comment')) + + x_qe_xc_imeta_comment = Quantity( + type=str, + shape=[], + description=''' + Quantum Espresso comment about XC functional (meta-gga component) + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_imeta_comment')) + + x_qe_xc_inlc_comment = Quantity( + type=str, + shape=[], + description=''' + Quantum Espresso comment about XC functional (Van-der-Waals non-local component) + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_inlc_comment')) + + x_qe_xc_iexch = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Quantum Espresso internal code-specific index of XC functional (density exchange + component) + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_iexch')) + + x_qe_xc_icorr = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Quantum Espresso internal code-specific index of XC functional (density + correlation component) + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_icorr')) + + x_qe_xc_igcx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Quantum Espresso internal code-specific index of XC functional (gradient exchange + component) + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_igcx')) + + x_qe_xc_igcc = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Quantum Espresso internal code-specific index of XC functional (gradient + correlation component) + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_igcc')) + + x_qe_xc_imeta = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Quantum Espresso internal code-specific index of XC functional (meta-gga + component) + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_imeta')) + + x_qe_xc_inlc = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Quantum Espresso internal code-specific index of XC functional (Van-der-Waals non- + local component) + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_inlc')) + + x_qe_t_exact_exchange_fraction = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: store fraction of exact-exchange before defining section_xc_functionals + ''', + a_legacy=LegacyDefinition(name='x_qe_t_exact_exchange_fraction')) + + x_qe_exact_exchange_fraction = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Fraction of exact-exchange in EXX-refinement + ''', + a_legacy=LegacyDefinition(name='x_qe_exact_exchange_fraction')) + + x_qe_md_max_steps = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Maximum number of ionic+electronic steps in dynamics (MD/relax) calculation + ''', + a_legacy=LegacyDefinition(name='x_qe_md_max_steps')) + + x_qe_berry_efield_direction = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Finite E-field: direction + ''', + a_legacy=LegacyDefinition(name='x_qe_berry_efield_direction')) + + x_qe_berry_efield_intensity = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Berry phase with E-field: intensity + ''', + a_legacy=LegacyDefinition(name='x_qe_berry_efield_intensity')) + + x_qe_berry_efield_strings_nk = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Berry phase with E-field: number of k-points in string + ''', + a_legacy=LegacyDefinition(name='x_qe_berry_efield_strings_nk')) + + x_qe_berry_efield_niter = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Berry phase with E-field: number of iterative cycles + ''', + a_legacy=LegacyDefinition(name='x_qe_berry_efield_niter')) + + x_qe_berry_efield = Quantity( + type=bool, + shape=[], + description=''' + Berry phase with E-field: flag if berry-efield-calc was done + ''', + a_legacy=LegacyDefinition(name='x_qe_berry_efield')) + + x_qe_t_spin_orbit_magn = Quantity( + type=str, + shape=[], + description=''' + Temporary: spin-orbit msg: magnetic mode (non-)collinear / (non-)magnetic + ''', + a_legacy=LegacyDefinition(name='x_qe_t_spin_orbit_magn')) + + x_qe_t_spin_orbit_mode = Quantity( + type=str, + shape=[], + description=''' + Temporary: spin-orbit msg: with/without spin-orbit + ''', + a_legacy=LegacyDefinition(name='x_qe_t_spin_orbit_mode')) + + x_qe_spin_orbit = Quantity( + type=bool, + shape=[], + description=''' + Spin-orbit coupling flag: with/without spin-orbit + ''', + a_legacy=LegacyDefinition(name='x_qe_spin_orbit')) + + x_qe_spin_noncollinear = Quantity( + type=bool, + shape=[], + description=''' + Noncollinear spin mode + ''', + a_legacy=LegacyDefinition(name='x_qe_spin_noncollinear')) + + x_qe_t_pp_renormalized_filename = Quantity( + type=str, + shape=[], + description=''' + Temporary: renormalized WFCs in pseudopotential: filename + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_renormalized_filename')) + + x_qe_t_pp_renormalized_wfc = Quantity( + type=str, + shape=[], + description=''' + Temporary: renormalized WFCs in pseudopotential + ''', + a_legacy=LegacyDefinition(name='x_qe_t_pp_renormalized_wfc')) + + x_qe_t_allocated_array_name = Quantity( + type=str, + shape=[], + description=''' + Temporary: allocated arrays, name + ''', + a_legacy=LegacyDefinition(name='x_qe_t_allocated_array_name')) + + x_qe_t_allocated_array_size = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: allocated arrays, size + ''', + a_legacy=LegacyDefinition(name='x_qe_t_allocated_array_size')) + + x_qe_t_allocated_array_dimensions = Quantity( + type=str, + shape=[], + description=''' + Temporary: allocated arrays, dimensions + ''', + a_legacy=LegacyDefinition(name='x_qe_t_allocated_array_dimensions')) + + x_qe_allocated_array_name = Quantity( + type=str, + shape=['x_qe_allocated_arrays'], + description=''' + Allocated arrays, name + ''', + a_legacy=LegacyDefinition(name='x_qe_allocated_array_name')) + + x_qe_allocated_array_size = Quantity( + type=np.dtype(np.float64), + shape=['x_qe_allocated_arrays'], + description=''' + Allocated arrays, size + ''', + a_legacy=LegacyDefinition(name='x_qe_allocated_array_size')) + + x_qe_allocated_array_dimensions = Quantity( + type=str, + shape=['x_qe_allocated_arrays'], + description=''' + Allocated arrays, dimensions + ''', + a_legacy=LegacyDefinition(name='x_qe_allocated_array_dimensions')) + + x_qe_t_temporary_array_name = Quantity( + type=str, + shape=[], + description=''' + Temporary: temporary arrays, name + ''', + a_legacy=LegacyDefinition(name='x_qe_t_temporary_array_name')) + + x_qe_t_temporary_array_size = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: temporary arrays, size + ''', + a_legacy=LegacyDefinition(name='x_qe_t_temporary_array_size')) + + x_qe_t_temporary_array_dimensions = Quantity( + type=str, + shape=[], + description=''' + Temporary: temporary arrays, dimensions + ''', + a_legacy=LegacyDefinition(name='x_qe_t_temporary_array_dimensions')) + + x_qe_temporary_array_name = Quantity( + type=str, + shape=['x_qe_temporary_arrays'], + description=''' + Temporary arrays, name + ''', + a_legacy=LegacyDefinition(name='x_qe_temporary_array_name')) + + x_qe_temporary_array_size = Quantity( + type=np.dtype(np.float64), + shape=['x_qe_temporary_arrays'], + description=''' + Temporary arrays, size + ''', + a_legacy=LegacyDefinition(name='x_qe_temporary_array_size')) + + x_qe_temporary_array_dimensions = Quantity( + type=str, + shape=['x_qe_temporary_arrays'], + description=''' + Temporary arrays, dimensions + ''', + a_legacy=LegacyDefinition(name='x_qe_temporary_array_dimensions')) + + x_qe_core_charge_negative = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + QE check: negative core charge + ''', + a_legacy=LegacyDefinition(name='x_qe_core_charge_negative')) + + x_qe_core_charge_imaginary = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + QE check: imaginary core charge + ''', + a_legacy=LegacyDefinition(name='x_qe_core_charge_imaginary')) + + x_qe_core_charge_realspace = Quantity( + type=bool, + shape=[], + description=''' + QE flag: core charge treated in real space + ''', + a_legacy=LegacyDefinition(name='x_qe_core_charge_realspace')) + + x_qe_starting_density_file = Quantity( + type=str, + shape=[], + description=''' + Starting density from file + ''', + a_legacy=LegacyDefinition(name='x_qe_starting_density_file')) + + x_qe_starting_potential = Quantity( + type=str, + shape=[], + description=''' + Starting potential + ''', + a_legacy=LegacyDefinition(name='x_qe_starting_potential')) + + x_qe_starting_charge_negative = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Starting charge (warning about negative starting charge) + ''', + a_legacy=LegacyDefinition(name='x_qe_starting_charge_negative')) + + x_qe_starting_charge_negative_up = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Starting charge up (warning about negative starting charge) + ''', + a_legacy=LegacyDefinition(name='x_qe_starting_charge_negative_up')) + + x_qe_starting_charge_negative_down = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Starting charge down (warning about negative starting charge) + ''', + a_legacy=LegacyDefinition(name='x_qe_starting_charge_negative_down')) + + x_qe_starting_charge = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Starting charge + ''', + a_legacy=LegacyDefinition(name='x_qe_starting_charge')) + + x_qe_starting_charge_renormalized = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Starting charge, renormalized + ''', + a_legacy=LegacyDefinition(name='x_qe_starting_charge_renormalized')) + + x_qe_starting_wfc = Quantity( + type=str, + shape=[], + description=''' + Starting Wave functions + ''', + a_legacy=LegacyDefinition(name='x_qe_starting_wfc')) + + x_qe_time_setup_cpu1_end = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + CPU time, setup up until first iteration + ''', + a_legacy=LegacyDefinition(name='x_qe_time_setup_cpu1_end')) + + x_qe_per_process_mem = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Per-process dynamical memory + ''', + a_legacy=LegacyDefinition(name='x_qe_per_process_mem')) + + x_qe_isolated_system_method = Quantity( + type=str, + shape=[], + description=''' + Method used if system is assumed to be isolated + ''', + a_legacy=LegacyDefinition(name='x_qe_isolated_system_method')) + + x_qe_isolated_system_method_martyna_tuckerman_alpha = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Isolated system with Martyna-Tuckerman method, parameter alpha + ''', + a_legacy=LegacyDefinition(name='x_qe_isolated_system_method_martyna_tuckerman_alpha')) + + x_qe_isolated_system_method_martyna_tuckerman_beta = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Isolated system with Martyna-Tuckerman method, parameter beta + ''', + a_legacy=LegacyDefinition(name='x_qe_isolated_system_method_martyna_tuckerman_beta')) + + x_qe_input_occupations = Quantity( + type=np.dtype(np.float64), + shape=['number_of_spin_channels', 'number_of_k_points', 'number_of_eigen_values'], + description=''' + User-specified band occupations + ''', + a_legacy=LegacyDefinition(name='x_qe_input_occupations')) + + x_qe_extrapolation_charge = Quantity( + type=str, + shape=[], + description=''' + Charge extrapolation scheme (MD, (vc-)relax) + ''', + a_legacy=LegacyDefinition(name='x_qe_extrapolation_charge')) + + x_qe_t_section_pp_report = SubSection( + sub_section=SectionProxy('x_qe_t_section_pp_report'), + repeats=True, + a_legacy=LegacyDefinition(name='x_qe_t_section_pp_report')) + + x_qe_t_section_pp_warning = SubSection( + sub_section=SectionProxy('x_qe_t_section_pp_warning'), + repeats=True, + a_legacy=LegacyDefinition(name='x_qe_t_section_pp_warning')) + + x_qe_t_section_pseudopotential = SubSection( + sub_section=SectionProxy('x_qe_t_section_pseudopotential'), + repeats=True, + a_legacy=LegacyDefinition(name='x_qe_t_section_pseudopotential')) + + x_qe_t_section_input_occupations = SubSection( + sub_section=SectionProxy('x_qe_t_section_input_occupations'), + repeats=True, + a_legacy=LegacyDefinition(name='x_qe_t_section_input_occupations')) + + +class section_method_atom_kind(public.section_method_atom_kind): + + m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_method_atom_kind')) + + x_qe_dispersion_correction_vdw_radius = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + DFT-D species vdW radius + ''', + a_legacy=LegacyDefinition(name='x_qe_dispersion_correction_vdw_radius')) + + x_qe_dispersion_correction_C6 = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + DFT-D species C6 coefficient + ''', + a_legacy=LegacyDefinition(name='x_qe_dispersion_correction_C6')) + + x_qe_species_integration_radius = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Radius used to integrate charge/magnetization over (per species) + ''', + a_legacy=LegacyDefinition(name='x_qe_species_integration_radius')) + + x_qe_pp_renormalized_wfc = Quantity( + type=str, + shape=[], + description=''' + Temporary: renormalized WFCs in pseudopotential + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_renormalized_wfc')) + + x_qe_pp_idx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Index of Pseudopotential on Espresso side + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_idx')) + + x_qe_pp_label = Quantity( + type=str, + shape=[], + description=''' + Label of Pseudopotential on Espresso side + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_label')) + + x_qe_pp_filename = Quantity( + type=str, + shape=[], + description=''' + Filename of pseudopotential + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_filename')) + + x_qe_pp_type = Quantity( + type=str, + shape=[], + description=''' + Type of pseudopotential, e.g. 'Norm-conserving' or 'Ultrasoft' + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_type')) + + x_qe_pp_md5sum = Quantity( + type=str, + shape=[], + description=''' + MD5 checksum of pseudopotential file + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_md5sum')) + + x_qe_pp_comment = Quantity( + type=str, + shape=[], + description=''' + Comment about pseudopotential + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_comment')) + + x_qe_pp_integral_ndirections = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Number of integration directions (PAW) + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_integral_ndirections')) + + x_qe_pp_integral_lmax_exact = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Maximum l for which integration is exact (PAW) + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_integral_lmax_exact')) + + x_qe_pp_augmentation_shape = Quantity( + type=str, + shape=[], + description=''' + Shape of augmentation charge + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_augmentation_shape')) + + x_qe_pp_report_version = Quantity( + type=str, + shape=[], + description=''' + Pseudopotential report: version of PP + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_report_version')) + + x_qe_pp_report_contents = Quantity( + type=str, + shape=[], + description=''' + Pseudopotential report: contents of PP report + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_report_contents')) + + x_qe_pp_valence = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Number of Valence electrons in pseudopotential + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_valence')) + + x_qe_pp_weight = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + - + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_weight')) + + x_qe_pp_ncoefficients = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Number of coefficients in pseudopotential + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_ncoefficients')) + + x_qe_rinner = Quantity( + type=str, + shape=[], + description=''' + Temporary: Inner Radii of pseudopotential + ''', + a_legacy=LegacyDefinition(name='x_qe_rinner')) + + x_qe_kind_mass = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Atomic mass of species + ''', + a_legacy=LegacyDefinition(name='x_qe_kind_mass')) + + x_qe_pp_ndmx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Radial grid of Pseudopotential on Espresso side + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_ndmx')) + + x_qe_pp_nbeta = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Number of beta functions in pseudopotential on Espresso side + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_nbeta')) + + x_qe_pp_l_idx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Beta function l index in pseudopotential on Espresso side + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_l_idx')) + + x_qe_pp_l = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Beta function l in pseudopotential on Espresso side + ''', + a_legacy=LegacyDefinition(name='x_qe_pp_l')) + + +class section_system(public.section_system): + + m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_system')) + + x_qe_ibrav = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Bravais lattice index, constant during a run + ''', + a_legacy=LegacyDefinition(name='x_qe_ibrav')) + + x_qe_alat = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Lattice Parameter 'a', constant during a run and used as unit in other quantities + ''', + a_legacy=LegacyDefinition(name='x_qe_alat')) + + x_qe_cell_volume = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Volume of unit cell + ''', + a_legacy=LegacyDefinition(name='x_qe_cell_volume')) + + x_qe_number_of_species = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Number of Atom species, a.k.a. unique Atom labels; a label may include symmetry- + breaking suffices, e.g. 'Fe1' and 'Fe2', as some quantities can only prescribed + per species and not per site + ''', + a_legacy=LegacyDefinition(name='x_qe_number_of_species')) + + x_qe_t_number_of_electrons = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: Number of electrons in system + ''', + categories=[public.configuration_core], + a_legacy=LegacyDefinition(name='x_qe_t_number_of_electrons')) + + x_qe_t_number_of_electrons_up = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: Number of electrons in system (spin up) + ''', + categories=[public.configuration_core], + a_legacy=LegacyDefinition(name='x_qe_t_number_of_electrons_up')) + + x_qe_t_number_of_electrons_down = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: Number of electrons in system (spin down) + ''', + categories=[public.configuration_core], + a_legacy=LegacyDefinition(name='x_qe_t_number_of_electrons_down')) + + x_qe_number_of_states = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Number of Kohn-Sham states/bands + ''', + a_legacy=LegacyDefinition(name='x_qe_number_of_states')) + + x_qe_md_cell_mass = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Mass of cell in MD/relax calculation + ''', + a_legacy=LegacyDefinition(name='x_qe_md_cell_mass')) + + x_qe_t_celldm = Quantity( + type=str, + shape=[], + description=''' + Temporary storage for QE cell dimensions + ''', + a_legacy=LegacyDefinition(name='x_qe_t_celldm')) + + x_qe_celldm = Quantity( + type=np.dtype(np.float64), + shape=[6], + description=''' + QE cell dimensions + ''', + a_legacy=LegacyDefinition(name='x_qe_celldm')) + + x_qe_t_vec_supercell_x = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for supercell translation vector in fractional coordinates, + x-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_vec_supercell_x')) + + x_qe_t_vec_supercell_y = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for supercell translation vector in fractional coordinates, + y-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_vec_supercell_y')) + + x_qe_t_vec_supercell_z = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for supercell translation vector in fractional coordinates, + z-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_vec_supercell_z')) + + x_qe_vec_supercell = Quantity( + type=np.dtype(np.float64), + shape=['x_qe_number_of_supercell_translations', 3], + description=''' + Supercell translation vector(s) in fractional coordinates + ''', + a_legacy=LegacyDefinition(name='x_qe_vec_supercell')) + + x_qe_supercell = Quantity( + type=bool, + shape=[], + description=''' + Supercell flag + ''', + a_legacy=LegacyDefinition(name='x_qe_supercell')) + + x_qe_t_vec_a_units = Quantity( + type=str, + shape=[], + description=''' + Temporary storage for direct lattice vectors, units + ''', + a_legacy=LegacyDefinition(name='x_qe_t_vec_a_units')) + + x_qe_t_vec_a_x = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for direct lattice vectors, x-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_vec_a_x')) + + x_qe_t_vec_a_y = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for direct lattice vectors, y-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_vec_a_y')) + + x_qe_t_vec_a_z = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for direct lattice vectors, z-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_vec_a_z')) + + x_qe_t_vec_b_x = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for reciprocal lattice vectors, x-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_vec_b_x')) + + x_qe_t_vec_b_y = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for reciprocal lattice vectors, y-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_vec_b_y')) + + x_qe_t_vec_b_z = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for reciprocal lattice vectors, z-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_vec_b_z')) + + x_qe_reciprocal_cell = Quantity( + type=np.dtype(np.float64), + shape=[3, 3], + unit='1 / meter', + description=''' + Reciprocal Lattice vectors (in Cartesian coordinates). The first index runs over + the $x,y,z$ Cartesian coordinates, and the second index runs over the 3 lattice + vectors. + ''', + categories=[public.configuration_core], + a_legacy=LegacyDefinition(name='x_qe_reciprocal_cell')) + + x_qe_t_starting_magnetization_species = Quantity( + type=str, + shape=[], + description=''' + Temporary: Starting magnetic configuration: Species name + ''', + a_legacy=LegacyDefinition(name='x_qe_t_starting_magnetization_species')) + + x_qe_t_starting_magnetization_value = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: Starting magnetic configuration: Species magnetization + ''', + a_legacy=LegacyDefinition(name='x_qe_t_starting_magnetization_value')) + + x_qe_atom_starting_magnetization = Quantity( + type=np.dtype(np.float64), + shape=['number_of_atoms'], + description=''' + Starting magnetic configuration: Atom magnetization + ''', + a_legacy=LegacyDefinition(name='x_qe_atom_starting_magnetization')) + + x_qe_nsymm = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Number of detected symmetry operations + ''', + a_legacy=LegacyDefinition(name='x_qe_nsymm')) + + x_qe_nsymm_with_fractional_translation = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Number of detected symmetry operations including fractional translations + ''', + a_legacy=LegacyDefinition(name='x_qe_nsymm_with_fractional_translation')) + + x_qe_nsymm_ignored = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Number of ignored symmetry operations, due to uncommensurable fractional + translations + ''', + a_legacy=LegacyDefinition(name='x_qe_nsymm_ignored')) + + x_qe_t_symm_inversion = Quantity( + type=str, + shape=[], + description=''' + Temporary: Inversion symmetry + ''', + a_legacy=LegacyDefinition(name='x_qe_t_symm_inversion')) + + x_qe_symm_inversion = Quantity( + type=bool, + shape=[], + description=''' + Inversion symmetry + ''', + a_legacy=LegacyDefinition(name='x_qe_symm_inversion')) + + x_qe_atom_idx = Quantity( + type=np.dtype(np.int32), + shape=['number_of_atoms'], + description=''' + Index of atom on Espresso side + ''', + a_legacy=LegacyDefinition(name='x_qe_atom_idx')) + + x_qe_t_atpos_units = Quantity( + type=str, + shape=[], + description=''' + Temporary: Units for atom position + ''', + a_legacy=LegacyDefinition(name='x_qe_t_atpos_units')) + + x_qe_t_atom_idx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: Index of atom on Espresso side + ''', + a_legacy=LegacyDefinition(name='x_qe_t_atom_idx')) + + x_qe_t_atom_labels = Quantity( + type=str, + shape=[], + description=''' + Temporary: Label of atom on Espresso side + ''', + a_legacy=LegacyDefinition(name='x_qe_t_atom_labels')) + + x_qe_t_atpos_x = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for atom position, x-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_atpos_x')) + + x_qe_t_atpos_y = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for atom position, y-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_atpos_y')) + + x_qe_t_atpos_z = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for atom position, z-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_atpos_z')) + + x_qe_nk = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + K-point info, number of k-points + ''', + a_legacy=LegacyDefinition(name='x_qe_nk')) + + x_qe_smearing_ngauss = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + K-point info, QE number represenation of smearing technique + ''', + a_legacy=LegacyDefinition(name='x_qe_smearing_ngauss')) + + x_qe_smearing_kind = Quantity( + type=str, + shape=[], + description=''' + K-point info, QE string represenation of smearing technique + ''', + a_legacy=LegacyDefinition(name='x_qe_smearing_kind')) + + x_qe_t_k_info_ik = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary storage for k-point info, k-index + ''', + a_legacy=LegacyDefinition(name='x_qe_t_k_info_ik')) + + x_qe_t_k_info_vec_x = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for k-point info, x-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_k_info_vec_x')) + + x_qe_t_k_info_vec_y = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for k-point info, y-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_k_info_vec_y')) + + x_qe_t_k_info_vec_z = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for k-point info, z-component + ''', + a_legacy=LegacyDefinition(name='x_qe_t_k_info_vec_z')) + + x_qe_t_k_info_wk = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary storage for k-point info, weight + ''', + a_legacy=LegacyDefinition(name='x_qe_t_k_info_wk')) + + x_qe_k_info_ik = Quantity( + type=np.dtype(np.int32), + shape=['x_qe_nk'], + description=''' + K-point info, k-index + ''', + a_legacy=LegacyDefinition(name='x_qe_k_info_ik')) + + x_qe_k_info_vec = Quantity( + type=np.dtype(np.float64), + shape=['x_qe_nk', 3], + description=''' + K-point info, cartesian coordinate + ''', + a_legacy=LegacyDefinition(name='x_qe_k_info_vec')) + + x_qe_k_info_wk = Quantity( + type=np.dtype(np.float64), + shape=['x_qe_nk'], + description=''' + K-point info, weight + ''', + a_legacy=LegacyDefinition(name='x_qe_k_info_wk')) + + x_qe_dense_g_cutoff = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Dense-grid info, G cutoff + ''', + a_legacy=LegacyDefinition(name='x_qe_dense_g_cutoff')) + + x_qe_dense_g_vectors = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Dense-grid info, number of G vectors + ''', + a_legacy=LegacyDefinition(name='x_qe_dense_g_vectors')) + + x_qe_t_dense_FFT_grid_x = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: Dense-grid info, FFT grid x + ''', + a_legacy=LegacyDefinition(name='x_qe_t_dense_FFT_grid_x')) + + x_qe_t_dense_FFT_grid_y = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: Dense-grid info, FFT grid y + ''', + a_legacy=LegacyDefinition(name='x_qe_t_dense_FFT_grid_y')) + + x_qe_t_dense_FFT_grid_z = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: Dense-grid info, FFT grid z + ''', + a_legacy=LegacyDefinition(name='x_qe_t_dense_FFT_grid_z')) + + x_qe_dense_FFT_grid = Quantity( + type=np.dtype(np.int32), + shape=[3], + description=''' + Dense-grid info, FFT grid + ''', + a_legacy=LegacyDefinition(name='x_qe_dense_FFT_grid')) + + x_qe_smooth_g_cutoff = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Smooth-grid info, G cutoff + ''', + a_legacy=LegacyDefinition(name='x_qe_smooth_g_cutoff')) + + x_qe_smooth_g_vectors = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Smooth-grid info, number of G vectors + ''', + a_legacy=LegacyDefinition(name='x_qe_smooth_g_vectors')) + + x_qe_t_smooth_FFT_grid_x = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: Smooth-grid info, FFT grid x + ''', + a_legacy=LegacyDefinition(name='x_qe_t_smooth_FFT_grid_x')) + + x_qe_t_smooth_FFT_grid_y = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: Smooth-grid info, FFT grid y + ''', + a_legacy=LegacyDefinition(name='x_qe_t_smooth_FFT_grid_y')) + + x_qe_t_smooth_FFT_grid_z = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: Smooth-grid info, FFT grid z + ''', + a_legacy=LegacyDefinition(name='x_qe_t_smooth_FFT_grid_z')) + + x_qe_smooth_FFT_grid = Quantity( + type=np.dtype(np.int32), + shape=[3], + description=''' + Smooth-grid info, FFT grid + ''', + a_legacy=LegacyDefinition(name='x_qe_smooth_FFT_grid')) + + +class section_XC_functionals(public.section_XC_functionals): + + m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_XC_functionals')) + + x_qe_xc_name = Quantity( + type=str, + shape=[], + description=''' + Name of XC functional component in Quantum Espresso context + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_name')) + + x_qe_xc_comment = Quantity( + type=str, + shape=[], + description=''' + Quantum Espresso comment about meaning of XC functional component + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_comment')) + + x_qe_xc_index_name = Quantity( + type=str, + shape=[], + description=''' + Name of Index within Quantum Espresso where XC functional component was set from + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_index_name')) + + x_qe_xc_index = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Index value within Quantum Espresso where XC functional component was set from + ''', + a_legacy=LegacyDefinition(name='x_qe_xc_index')) + + +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_qe_t_iter_mpersite_idx = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Temporary: iteration per-site magnetization data, atom index + ''', + a_legacy=LegacyDefinition(name='x_qe_t_iter_mpersite_idx')) + + x_qe_t_iter_mpersite_charge = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: iteration per-site magnetization data, atom charge + ''', + a_legacy=LegacyDefinition(name='x_qe_t_iter_mpersite_charge')) + + x_qe_t_iter_mpersite_magn = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: iteration per-site magnetization data, atom magnetization + ''', + a_legacy=LegacyDefinition(name='x_qe_t_iter_mpersite_magn')) + + x_qe_t_iter_mpersite_constr = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Temporary: iteration per-site magnetization data, constraints + ''', + a_legacy=LegacyDefinition(name='x_qe_t_iter_mpersite_constr')) + + x_qe_iter_mpersite_idx = Quantity( + type=np.dtype(np.int32), + shape=['number_of_atoms'], + description=''' + iteration per-site magnetization data, atom index + ''', + a_legacy=LegacyDefinition(name='x_qe_iter_mpersite_idx')) + + x_qe_iter_mpersite_charge = Quantity( + type=np.dtype(np.float64), + shape=['number_of_atoms'], + description=''' + iteration per-site magnetization data, atom charge + ''', + a_legacy=LegacyDefinition(name='x_qe_iter_mpersite_charge')) + + x_qe_iter_mpersite_magn = Quantity( + type=np.dtype(np.float64), + shape=['number_of_atoms'], + description=''' + iteration per-site magnetization data, atom magnetization + ''', + a_legacy=LegacyDefinition(name='x_qe_iter_mpersite_magn')) + + x_qe_iter_mpersite_constr = Quantity( + type=np.dtype(np.float64), + shape=['number_of_atoms'], + description=''' + iteration per-site magnetization data, constraints + ''', + a_legacy=LegacyDefinition(name='x_qe_iter_mpersite_constr')) + + x_qe_iteration_efield_eeigx_re = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + E-field: expectation value of exp(iGx), real part, in iteration + ''', + a_legacy=LegacyDefinition(name='x_qe_iteration_efield_eeigx_re')) + + x_qe_iteration_efield_eeigx_im = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + E-field: expectation value of exp(iGx), imaginary part, in iteration + ''', + a_legacy=LegacyDefinition(name='x_qe_iteration_efield_eeigx_im')) + + x_qe_iteration_efield_dipole_electronic = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + E-field: Electronic dipole, in iteration + ''', + a_legacy=LegacyDefinition(name='x_qe_iteration_efield_dipole_electronic')) + + x_qe_iteration_efield_dipole_ionic = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + E-field: Ionic dipole, in iteration + ''', + a_legacy=LegacyDefinition(name='x_qe_iteration_efield_dipole_ionic')) + + x_qe_iteration_number = Quantity( + type=np.dtype(np.int32), + shape=[], + description=''' + Iteration number + ''', + a_legacy=LegacyDefinition(name='x_qe_iteration_number')) + + x_qe_iteration_ecutwfc = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + PW cutoff used during iteration + ''', + a_legacy=LegacyDefinition(name='x_qe_iteration_ecutwfc')) + + x_qe_iteration_beta = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Mixing parameter Beta during iteration + ''', + a_legacy=LegacyDefinition(name='x_qe_iteration_beta')) + + x_qe_iteration_charge_negative_up = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Charge in iteration (up) + ''', + a_legacy=LegacyDefinition(name='x_qe_iteration_charge_negative_up')) + + x_qe_iteration_charge_negative_down = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Charge in iteration (down) + ''', + a_legacy=LegacyDefinition(name='x_qe_iteration_charge_negative_down')) + + x_qe_energy_total_harris_foulkes_estimate_iteration = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Harris-Foulkes estimate of total energy + ''', + a_legacy=LegacyDefinition(name='x_qe_energy_total_harris_foulkes_estimate_iteration')) + + x_qe_energy_total_accuracy_estimate_iteration = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Accuracy estimate of total energy + ''', + a_legacy=LegacyDefinition(name='x_qe_energy_total_accuracy_estimate_iteration')) + + x_qe_magnetization_total_iteration = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Total per-cell magnetization in iteration + ''', + a_legacy=LegacyDefinition(name='x_qe_magnetization_total_iteration')) + + x_qe_magnetization_absolute_iteration = Quantity( + type=np.dtype(np.float64), + shape=[], + description=''' + Absolute per-cell magnetization in iteration + ''', + a_legacy=LegacyDefinition(name='x_qe_magnetization_absolute_iteration')) + + x_qe_section_scf_diagonalization = SubSection( + sub_section=SectionProxy('x_qe_section_scf_diagonalization'), + repeats=True, + a_legacy=LegacyDefinition(name='x_qe_section_scf_diagonalization')) + + +class section_eigenvalues(public.section_eigenvalues): + + m_def = Section(validate=False, extends_base_section=True, a_legacy=LegacyDefinition(name='section_eigenvalues')) + + x_qe_eigenvalues_number_of_planewaves = Quantity( + type=np.dtype(np.int32), + shape=['number_of_eigenvalues_kpoints'], + description=''' + Number of plane waves for each k-point + ''', + a_legacy=LegacyDefinition(name='x_qe_eigenvalues_number_of_planewaves')) + + +m_package.__init_metainfo__() -- GitLab