mat3ra-esse 2024.4.8.post1__py3-none-any.whl → 2024.4.8.post3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mat3ra/esse/models/__init__.py +3 -0
- mat3ra/esse/models/core/__init__.py +3 -0
- mat3ra/esse/models/core/abstract/2d_data.py +17 -0
- mat3ra/esse/models/core/abstract/2d_plot.py +34 -0
- mat3ra/esse/models/core/abstract/3d_grid.py +14 -0
- mat3ra/esse/models/core/abstract/3d_tensor.py +19 -0
- mat3ra/esse/models/core/abstract/3d_vector_basis.py +15 -0
- mat3ra/esse/models/core/abstract/__init__.py +3 -0
- mat3ra/esse/models/core/abstract/point.py +13 -0
- mat3ra/esse/models/core/abstract/vector.py +13 -0
- mat3ra/esse/models/core/primitive/1d_data_series.py +13 -0
- mat3ra/esse/models/core/primitive/3d_lattice.py +34 -0
- mat3ra/esse/models/core/primitive/__init__.py +3 -0
- mat3ra/esse/models/core/primitive/array_of_3_booleans.py +13 -0
- mat3ra/esse/models/core/primitive/array_of_3_numbers.py +13 -0
- mat3ra/esse/models/core/primitive/array_of_ids.py +23 -0
- mat3ra/esse/models/core/primitive/array_of_strings.py +16 -0
- mat3ra/esse/models/core/primitive/axis.py +20 -0
- mat3ra/esse/models/core/primitive/group_info.py +20 -0
- mat3ra/esse/models/core/primitive/integer_one_or_zero.py +11 -0
- mat3ra/esse/models/core/primitive/linked_list/__init__.py +33 -0
- mat3ra/esse/models/core/primitive/linked_list/base_node.py +31 -0
- mat3ra/esse/models/core/primitive/linked_list/named_node.py +35 -0
- mat3ra/esse/models/core/primitive/linked_list/named_node_in_group.py +43 -0
- mat3ra/esse/models/core/primitive/linked_list/node_with_type.py +32 -0
- mat3ra/esse/models/core/primitive/scalar.py +11 -0
- mat3ra/esse/models/core/primitive/slugified_entry.py +18 -0
- mat3ra/esse/models/core/primitive/slugified_entry_or_slug.py +27 -0
- mat3ra/esse/models/core/primitive/string.py +11 -0
- mat3ra/esse/models/core/reference/__init__.py +260 -0
- mat3ra/esse/models/core/reference/exabyte.py +24 -0
- mat3ra/esse/models/core/reference/experiment/__init__.py +150 -0
- mat3ra/esse/models/core/reference/experiment/condition.py +28 -0
- mat3ra/esse/models/core/reference/experiment/location.py +18 -0
- mat3ra/esse/models/core/reference/literature/__init__.py +86 -0
- mat3ra/esse/models/core/reference/literature/name.py +16 -0
- mat3ra/esse/models/core/reference/literature/pages.py +14 -0
- mat3ra/esse/models/core/reference/modeling/__init__.py +49 -0
- mat3ra/esse/models/core/reference/modeling/exabyte.py +42 -0
- mat3ra/esse/models/core/reusable/__init__.py +3 -0
- mat3ra/esse/models/core/reusable/atomic_data/__init__.py +3 -0
- mat3ra/esse/models/core/reusable/atomic_data/per_orbital.py +21 -0
- mat3ra/esse/models/core/reusable/atomic_data/per_orbital_pair.py +34 -0
- mat3ra/esse/models/core/reusable/atomic_data/value_number.py +16 -0
- mat3ra/esse/models/core/reusable/atomic_data/value_string.py +16 -0
- mat3ra/esse/models/core/reusable/atomic_data_per_orbital_numeric.py +25 -0
- mat3ra/esse/models/core/reusable/atomic_data_per_orbital_pair_numeric.py +38 -0
- mat3ra/esse/models/core/reusable/atomic_orbital.py +20 -0
- mat3ra/esse/models/core/reusable/atomic_scalars.py +28 -0
- mat3ra/esse/models/core/reusable/atomic_strings.py +24 -0
- mat3ra/esse/models/core/reusable/atomic_vectors.py +24 -0
- mat3ra/esse/models/core/reusable/band_gap.py +42 -0
- mat3ra/esse/models/core/reusable/categories.py +43 -0
- mat3ra/esse/models/core/reusable/category_path.py +14 -0
- mat3ra/esse/models/core/reusable/dielectric_tensor_component.py +31 -0
- mat3ra/esse/models/core/reusable/energy.py +30 -0
- mat3ra/esse/models/core/reusable/file_metadata.py +24 -0
- mat3ra/esse/models/core/reusable/frequency_function_matrix.py +20 -0
- mat3ra/esse/models/core/reusable/object_storage_container_data.py +36 -0
- mat3ra/esse/models/definitions/__init__.py +3 -0
- mat3ra/esse/models/definitions/units.py +13 -0
- mat3ra/esse/models/element.py +74 -0
- mat3ra/esse/models/in_memory_entity/__init__.py +3 -0
- mat3ra/esse/models/in_memory_entity/base.py +58 -0
- mat3ra/esse/models/in_memory_entity/defaultable.py +62 -0
- mat3ra/esse/models/in_memory_entity/named.py +62 -0
- mat3ra/esse/models/in_memory_entity/named_defaultable.py +66 -0
- mat3ra/esse/models/in_memory_entity/named_defaultable_has_metadata.py +67 -0
- mat3ra/esse/models/in_memory_entity/named_defaultable_runtime_items.py +89 -0
- mat3ra/esse/models/job/__init__.py +3006 -0
- mat3ra/esse/models/job/base.py +287 -0
- mat3ra/esse/models/job/compute.py +161 -0
- mat3ra/esse/models/material/__init__.py +420 -0
- mat3ra/esse/models/material/conventional.py +13 -0
- mat3ra/esse/models/method/__init__.py +28 -0
- mat3ra/esse/models/method/categorized_method.py +86 -0
- mat3ra/esse/models/method/method_parameters.py +48 -0
- mat3ra/esse/models/method/unit_method.py +70 -0
- mat3ra/esse/models/methods_category/mathematical/__init__.py +3 -0
- mat3ra/esse/models/methods_category/mathematical/diff/__init__.py +48 -0
- mat3ra/esse/models/methods_category/mathematical/diff/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/diff/fd.py +52 -0
- mat3ra/esse/models/methods_category/mathematical/discr/__init__.py +48 -0
- mat3ra/esse/models/methods_category/mathematical/discr/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/discr/mesh/__init__.py +52 -0
- mat3ra/esse/models/methods_category/mathematical/discr/mesh/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/discr/mesh/hybrid.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/discr/mesh/nstruct.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/__init__.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/cartesian.py +60 -0
- mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/fapprx/__init__.py +48 -0
- mat3ra/esse/models/methods_category/mathematical/fapprx/basisexp.py +52 -0
- mat3ra/esse/models/methods_category/mathematical/fapprx/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/__init__.py +52 -0
- mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/lin.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/poly.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/spline.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/intgr/__init__.py +48 -0
- mat3ra/esse/models/methods_category/mathematical/intgr/analytic/__init__.py +52 -0
- mat3ra/esse/models/methods_category/mathematical/intgr/analytic/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/intgr/analytic/volume.py +67 -0
- mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/__init__.py +52 -0
- mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order1.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order2.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/intgr/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/intgr/numquad/__init__.py +52 -0
- mat3ra/esse/models/methods_category/mathematical/intgr/numquad/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/intgr/numquad/gauss.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/intgr/numquad/newcot.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/intgr/transf/__init__.py +52 -0
- mat3ra/esse/models/methods_category/mathematical/intgr/transf/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/intgr/transf/fourier.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/linalg/__init__.py +48 -0
- mat3ra/esse/models/methods_category/mathematical/linalg/dcomp.py +52 -0
- mat3ra/esse/models/methods_category/mathematical/linalg/diag/__init__.py +52 -0
- mat3ra/esse/models/methods_category/mathematical/linalg/diag/davidson.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/linalg/diag/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/linalg/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/linalg/lintra.py +52 -0
- mat3ra/esse/models/methods_category/mathematical/linalg/matf.py +52 -0
- mat3ra/esse/models/methods_category/mathematical/opt/__init__.py +48 -0
- mat3ra/esse/models/methods_category/mathematical/opt/diff/__init__.py +52 -0
- mat3ra/esse/models/methods_category/mathematical/opt/diff/bracket.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/opt/diff/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/opt/diff/local.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/opt/diff/order1.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/opt/diff/order2.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/__init__.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/cg.py +60 -0
- mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/opt/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/opt/ndiff/__init__.py +52 -0
- mat3ra/esse/models/methods_category/mathematical/opt/ndiff/direct.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/opt/ndiff/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/opt/ndiff/pop.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/opt/ndiff/stoch.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/opt/root/__init__.py +52 -0
- mat3ra/esse/models/methods_category/mathematical/opt/root/bracket.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/opt/root/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/mathematical/opt/root/iter.py +56 -0
- mat3ra/esse/models/methods_category/mathematical/regression.py +54 -0
- mat3ra/esse/models/methods_category/physical/__init__.py +3 -0
- mat3ra/esse/models/methods_category/physical/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/physical/qm/__init__.py +48 -0
- mat3ra/esse/models/methods_category/physical/qm/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/physical/qm/wf/__init__.py +52 -0
- mat3ra/esse/models/methods_category/physical/qm/wf/ao/__init__.py +62 -0
- mat3ra/esse/models/methods_category/physical/qm/wf/ao/dunning.py +60 -0
- mat3ra/esse/models/methods_category/physical/qm/wf/ao/other.py +60 -0
- mat3ra/esse/models/methods_category/physical/qm/wf/ao/pople.py +60 -0
- mat3ra/esse/models/methods_category/physical/qm/wf/enum_options.py +13 -0
- mat3ra/esse/models/methods_category/physical/qm/wf/psp.py +63 -0
- mat3ra/esse/models/methods_category/physical/qm/wf/pw.py +56 -0
- mat3ra/esse/models/methods_category/physical/qm/wf/smearing.py +63 -0
- mat3ra/esse/models/methods_category/physical/qm/wf/tetrahedron.py +62 -0
- mat3ra/esse/models/methods_directory/legacy/__init__.py +3 -0
- mat3ra/esse/models/methods_directory/legacy/localorbital.py +37 -0
- mat3ra/esse/models/methods_directory/legacy/pseudopotential.py +40 -0
- mat3ra/esse/models/methods_directory/legacy/regression.py +118 -0
- mat3ra/esse/models/methods_directory/legacy/unknown.py +37 -0
- mat3ra/esse/models/methods_directory/mathematical/__init__.py +3 -0
- mat3ra/esse/models/methods_directory/mathematical/cg.py +87 -0
- mat3ra/esse/models/methods_directory/mathematical/davidson.py +83 -0
- mat3ra/esse/models/methods_directory/mathematical/regression/__init__.py +161 -0
- mat3ra/esse/models/methods_directory/mathematical/regression/data.py +69 -0
- mat3ra/esse/models/methods_directory/mathematical/regression/dataset.py +20 -0
- mat3ra/esse/models/methods_directory/mathematical/regression/kernel_ridge/__init__.py +3 -0
- mat3ra/esse/models/methods_directory/mathematical/regression/kernel_ridge/data_per_property.py +39 -0
- mat3ra/esse/models/methods_directory/mathematical/regression/linear/__init__.py +3 -0
- mat3ra/esse/models/methods_directory/mathematical/regression/linear/data_per_property.py +35 -0
- mat3ra/esse/models/methods_directory/mathematical/regression/per_feature_item.py +24 -0
- mat3ra/esse/models/methods_directory/mathematical/regression/precision.py +28 -0
- mat3ra/esse/models/methods_directory/mathematical/regression/precision_per_property.py +24 -0
- mat3ra/esse/models/methods_directory/physical/__init__.py +3 -0
- mat3ra/esse/models/methods_directory/physical/ao/__init__.py +3 -0
- mat3ra/esse/models/methods_directory/physical/ao/dunning.py +103 -0
- mat3ra/esse/models/methods_directory/physical/ao/enum_options.py +13 -0
- mat3ra/esse/models/methods_directory/physical/ao/other.py +107 -0
- mat3ra/esse/models/methods_directory/physical/ao/pople.py +101 -0
- mat3ra/esse/models/methods_directory/physical/psp/__init__.py +187 -0
- mat3ra/esse/models/methods_directory/physical/psp/file.py +106 -0
- mat3ra/esse/models/methods_directory/physical/psp/file_data_item.py +88 -0
- mat3ra/esse/models/methods_directory/physical/pw.py +83 -0
- mat3ra/esse/models/methods_directory/physical/smearing.py +90 -0
- mat3ra/esse/models/methods_directory/physical/tetrahedron.py +91 -0
- mat3ra/esse/models/model/__init__.py +43 -0
- mat3ra/esse/models/model/categorized_model.py +211 -0
- mat3ra/esse/models/model/mixins/__init__.py +3 -0
- mat3ra/esse/models/model/mixins/dft/__init__.py +5 -0
- mat3ra/esse/models/model/mixins/dft/double_hybrid_functional.py +18 -0
- mat3ra/esse/models/model/mixins/dft/enum_options.py +13 -0
- mat3ra/esse/models/model/mixins/dft/gga_functional.py +22 -0
- mat3ra/esse/models/model/mixins/dft/hybrid_functional.py +19 -0
- mat3ra/esse/models/model/mixins/dft/lda_functional.py +21 -0
- mat3ra/esse/models/model/mixins/dft/mgga_functional.py +21 -0
- mat3ra/esse/models/model/mixins/dispersion_correction.py +21 -0
- mat3ra/esse/models/model/mixins/enum_options.py +13 -0
- mat3ra/esse/models/model/mixins/hubbard.py +18 -0
- mat3ra/esse/models/model/mixins/spin_orbit_coupling.py +16 -0
- mat3ra/esse/models/model/mixins/spin_polarization.py +22 -0
- mat3ra/esse/models/model/model_parameters.py +123 -0
- mat3ra/esse/models/model/model_without_method.py +144 -0
- mat3ra/esse/models/models_category/__init__.py +3 -0
- mat3ra/esse/models/models_category/enum_options.py +13 -0
- mat3ra/esse/models/models_category/pb/__init__.py +48 -0
- mat3ra/esse/models/models_category/pb/enum_options.py +13 -0
- mat3ra/esse/models/models_category/pb/qm/__init__.py +52 -0
- mat3ra/esse/models/models_category/pb/qm/abin/__init__.py +56 -0
- mat3ra/esse/models/models_category/pb/qm/abin/enum_options.py +13 -0
- mat3ra/esse/models/models_category/pb/qm/abin/gw.py +66 -0
- mat3ra/esse/models/models_category/pb/qm/dft/__init__.py +56 -0
- mat3ra/esse/models/models_category/pb/qm/dft/enum_options.py +13 -0
- mat3ra/esse/models/models_category/pb/qm/dft/ksdft/__init__.py +60 -0
- mat3ra/esse/models/models_category/pb/qm/dft/ksdft/double_hybrid.py +64 -0
- mat3ra/esse/models/models_category/pb/qm/dft/ksdft/enum_options.py +13 -0
- mat3ra/esse/models/models_category/pb/qm/dft/ksdft/gga.py +64 -0
- mat3ra/esse/models/models_category/pb/qm/dft/ksdft/hybrid.py +64 -0
- mat3ra/esse/models/models_category/pb/qm/dft/ksdft/lda.py +64 -0
- mat3ra/esse/models/models_category/pb/qm/dft/ksdft/mgga.py +64 -0
- mat3ra/esse/models/models_category/pb/qm/enum_options.py +13 -0
- mat3ra/esse/models/models_category/pb/qm/semp.py +56 -0
- mat3ra/esse/models/models_category/st/__init__.py +48 -0
- mat3ra/esse/models/models_category/st/det/__init__.py +52 -0
- mat3ra/esse/models/models_category/st/det/enum_options.py +13 -0
- mat3ra/esse/models/models_category/st/det/ml/__init__.py +56 -0
- mat3ra/esse/models/models_category/st/det/ml/enum_options.py +13 -0
- mat3ra/esse/models/models_category/st/det/ml/re.py +60 -0
- mat3ra/esse/models/models_category/st/enum_options.py +13 -0
- mat3ra/esse/models/models_directory/__init__.py +3 -0
- mat3ra/esse/models/models_directory/double_hybrid.py +205 -0
- mat3ra/esse/models/models_directory/gga.py +219 -0
- mat3ra/esse/models/models_directory/gw.py +272 -0
- mat3ra/esse/models/models_directory/hybrid.py +213 -0
- mat3ra/esse/models/models_directory/lda.py +218 -0
- mat3ra/esse/models/models_directory/legacy/__init__.py +3 -0
- mat3ra/esse/models/models_directory/legacy/dft.py +170 -0
- mat3ra/esse/models/models_directory/legacy/ml.py +52 -0
- mat3ra/esse/models/models_directory/legacy/unknown.py +52 -0
- mat3ra/esse/models/models_directory/mgga.py +218 -0
- mat3ra/esse/models/models_directory/re.py +160 -0
- mat3ra/esse/models/project.py +82 -0
- mat3ra/esse/models/properties_directory/__init__.py +3 -0
- mat3ra/esse/models/properties_directory/derived_properties.py +140 -0
- mat3ra/esse/models/properties_directory/electronic_configuration.py +20 -0
- mat3ra/esse/models/properties_directory/elemental/__init__.py +3 -0
- mat3ra/esse/models/properties_directory/elemental/atomic_radius.py +34 -0
- mat3ra/esse/models/properties_directory/elemental/electronegativity.py +19 -0
- mat3ra/esse/models/properties_directory/elemental/ionization_potential.py +30 -0
- mat3ra/esse/models/properties_directory/non_scalar/__init__.py +3 -0
- mat3ra/esse/models/properties_directory/non_scalar/average_potential_profile.py +83 -0
- mat3ra/esse/models/properties_directory/non_scalar/band_gaps.py +64 -0
- mat3ra/esse/models/properties_directory/non_scalar/band_structure.py +92 -0
- mat3ra/esse/models/properties_directory/non_scalar/charge_density_profile.py +63 -0
- mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +97 -0
- mat3ra/esse/models/properties_directory/non_scalar/dielectric_tensor.py +40 -0
- mat3ra/esse/models/properties_directory/non_scalar/file_content.py +64 -0
- mat3ra/esse/models/properties_directory/non_scalar/hubbard_u.py +40 -0
- mat3ra/esse/models/properties_directory/non_scalar/hubbard_v.py +54 -0
- mat3ra/esse/models/properties_directory/non_scalar/hubbard_v_nn.py +54 -0
- mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +79 -0
- mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +71 -0
- mat3ra/esse/models/properties_directory/non_scalar/potential_profile.py +69 -0
- mat3ra/esse/models/properties_directory/non_scalar/reaction_energy_profile.py +69 -0
- mat3ra/esse/models/properties_directory/non_scalar/stress_tensor.py +31 -0
- mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +198 -0
- mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +75 -0
- mat3ra/esse/models/properties_directory/scalar/__init__.py +3 -0
- mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +34 -0
- mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +34 -0
- mat3ra/esse/models/properties_directory/scalar/formation_energy.py +34 -0
- mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +34 -0
- mat3ra/esse/models/properties_directory/scalar/pressure.py +25 -0
- mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +34 -0
- mat3ra/esse/models/properties_directory/scalar/surface_energy.py +34 -0
- mat3ra/esse/models/properties_directory/scalar/total_energy.py +34 -0
- mat3ra/esse/models/properties_directory/scalar/total_force.py +29 -0
- mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +34 -0
- mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +34 -0
- mat3ra/esse/models/properties_directory/structural/__init__.py +3 -0
- mat3ra/esse/models/properties_directory/structural/atomic_forces.py +40 -0
- mat3ra/esse/models/properties_directory/structural/basis/__init__.py +68 -0
- mat3ra/esse/models/properties_directory/structural/basis/atomic_constraints.py +30 -0
- mat3ra/esse/models/properties_directory/structural/basis/atomic_coordinate.py +14 -0
- mat3ra/esse/models/properties_directory/structural/basis/atomic_coordinates.py +39 -0
- mat3ra/esse/models/properties_directory/structural/basis/atomic_element.py +19 -0
- mat3ra/esse/models/properties_directory/structural/basis/bonds.py +40 -0
- mat3ra/esse/models/properties_directory/structural/density.py +24 -0
- mat3ra/esse/models/properties_directory/structural/elemental_ratio.py +23 -0
- mat3ra/esse/models/properties_directory/structural/inchi.py +19 -0
- mat3ra/esse/models/properties_directory/structural/inchi_key.py +19 -0
- mat3ra/esse/models/properties_directory/structural/lattice/__init__.py +102 -0
- mat3ra/esse/models/properties_directory/structural/lattice/lattice_bravais.py +71 -0
- mat3ra/esse/models/properties_directory/structural/lattice/lattice_vectors.py +35 -0
- mat3ra/esse/models/properties_directory/structural/lattice/type_enum.py +24 -0
- mat3ra/esse/models/properties_directory/structural/lattice/type_extended_enum.py +34 -0
- mat3ra/esse/models/properties_directory/structural/magnetic_moments.py +35 -0
- mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +70 -0
- mat3ra/esse/models/properties_directory/structural/p_norm.py +23 -0
- mat3ra/esse/models/properties_directory/structural/patterns/__init__.py +3 -0
- mat3ra/esse/models/properties_directory/structural/patterns/functional_group.py +37 -0
- mat3ra/esse/models/properties_directory/structural/patterns/ring.py +34 -0
- mat3ra/esse/models/properties_directory/structural/patterns/special_bond.py +33 -0
- mat3ra/esse/models/properties_directory/structural/symmetry.py +39 -0
- mat3ra/esse/models/properties_directory/structural/volume.py +24 -0
- mat3ra/esse/models/properties_directory/workflow/convergence/__init__.py +3 -0
- mat3ra/esse/models/properties_directory/workflow/convergence/electronic.py +26 -0
- mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +63 -0
- mat3ra/esse/models/properties_directory/workflow/convergence/kpoint.py +43 -0
- mat3ra/esse/models/property/__init__.py +3 -0
- mat3ra/esse/models/property/base/The_source_of_a_property/__init__.py +5 -0
- mat3ra/esse/models/property/base/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
- mat3ra/esse/models/property/base/__init__.py +232 -0
- mat3ra/esse/models/property/meta/The_source_of_a_property/__init__.py +5 -0
- mat3ra/esse/models/property/meta/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
- mat3ra/esse/models/property/meta/__init__.py +232 -0
- mat3ra/esse/models/property/raw/The_source_of_a_property/__init__.py +5 -0
- mat3ra/esse/models/property/raw/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
- mat3ra/esse/models/property/raw/__init__.py +232 -0
- mat3ra/esse/models/property/source/The_source_of_a_property/__init__.py +5 -0
- mat3ra/esse/models/property/source/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
- mat3ra/esse/models/property/source/__init__.py +150 -0
- mat3ra/esse/models/software/__init__.py +3 -0
- mat3ra/esse/models/software/application.py +93 -0
- mat3ra/esse/models/software/executable.py +97 -0
- mat3ra/esse/models/software/flavor.py +116 -0
- mat3ra/esse/models/software/template.py +77 -0
- mat3ra/esse/models/software_directory/ml/__init__.py +3 -0
- mat3ra/esse/models/software_directory/ml/exabyteml.py +28 -0
- mat3ra/esse/models/software_directory/ml/unit/__init__.py +3 -0
- mat3ra/esse/models/software_directory/ml/unit/execution/__init__.py +1348 -0
- mat3ra/esse/models/software_directory/ml/unit/execution/evaluate/__init__.py +5 -0
- mat3ra/esse/models/software_directory/ml/unit/execution/evaluate/cross_validate.py +381 -0
- mat3ra/esse/models/software_directory/ml/unit/execution/initialize.py +381 -0
- mat3ra/esse/models/software_directory/ml/unit/execution/score.py +374 -0
- mat3ra/esse/models/software_directory/ml/unit/execution/train.py +385 -0
- mat3ra/esse/models/software_directory/ml/unit/processing/__init__.py +328 -0
- mat3ra/esse/models/software_directory/ml/unit/processing/data_transformation/__init__.py +199 -0
- mat3ra/esse/models/software_directory/ml/unit/processing/data_transformation/manipulation.py +176 -0
- mat3ra/esse/models/software_directory/ml/unit/processing/data_transformation/scale_and_reduce.py +195 -0
- mat3ra/esse/models/software_directory/ml/unit/processing/feature_selection/__init__.py +180 -0
- mat3ra/esse/models/software_directory/ml/unit/processing/feature_selection/filter_based.py +176 -0
- mat3ra/esse/models/software_directory/modeling/__init__.py +3 -0
- mat3ra/esse/models/software_directory/modeling/deepmd.py +112 -0
- mat3ra/esse/models/software_directory/modeling/espresso/__init__.py +39 -0
- mat3ra/esse/models/software_directory/modeling/espresso/arguments.py +35 -0
- mat3ra/esse/models/software_directory/modeling/nwchem.py +113 -0
- mat3ra/esse/models/software_directory/modeling/unit/__init__.py +3 -0
- mat3ra/esse/models/software_directory/modeling/unit/execution.py +390 -0
- mat3ra/esse/models/software_directory/modeling/vasp.py +117 -0
- mat3ra/esse/models/software_directory/scripting/__init__.py +3 -0
- mat3ra/esse/models/software_directory/scripting/jupyter_lab.py +115 -0
- mat3ra/esse/models/software_directory/scripting/python.py +129 -0
- mat3ra/esse/models/software_directory/scripting/shell.py +129 -0
- mat3ra/esse/models/software_directory/scripting/unit/__init__.py +3 -0
- mat3ra/esse/models/software_directory/scripting/unit/execution.py +390 -0
- mat3ra/esse/models/system/__init__.py +3 -0
- mat3ra/esse/models/system/_material.py +29 -0
- mat3ra/esse/models/system/_parent_job.py +29 -0
- mat3ra/esse/models/system/_project.py +29 -0
- mat3ra/esse/models/system/bankable.py +20 -0
- mat3ra/esse/models/system/consistency_check.py +40 -0
- mat3ra/esse/models/system/creator.py +29 -0
- mat3ra/esse/models/system/creator_account.py +28 -0
- mat3ra/esse/models/system/database_source.py +36 -0
- mat3ra/esse/models/system/defaultable.py +16 -0
- mat3ra/esse/models/system/description.py +17 -0
- mat3ra/esse/models/system/entity_reference.py +24 -0
- mat3ra/esse/models/system/file_source.py +28 -0
- mat3ra/esse/models/system/history.py +18 -0
- mat3ra/esse/models/system/iframe_message.py +36 -0
- mat3ra/esse/models/system/in_set.py +30 -0
- mat3ra/esse/models/system/is_multi_material.py +13 -0
- mat3ra/esse/models/system/is_outdated.py +13 -0
- mat3ra/esse/models/system/job_extended.py +36 -0
- mat3ra/esse/models/system/message.py +59 -0
- mat3ra/esse/models/system/metadata.py +13 -0
- mat3ra/esse/models/system/name.py +16 -0
- mat3ra/esse/models/system/owner.py +29 -0
- mat3ra/esse/models/system/path.py +16 -0
- mat3ra/esse/models/system/path_entity.py +20 -0
- mat3ra/esse/models/system/schema_version.py +16 -0
- mat3ra/esse/models/system/scope.py +13 -0
- mat3ra/esse/models/system/set.py +15 -0
- mat3ra/esse/models/system/sharing.py +13 -0
- mat3ra/esse/models/system/soft_removable.py +20 -0
- mat3ra/esse/models/system/status.py +20 -0
- mat3ra/esse/models/system/tags.py +16 -0
- mat3ra/esse/models/system/timestampable.py +22 -0
- mat3ra/esse/models/system/use_values.py +13 -0
- mat3ra/esse/models/third_party/db/nist_jarvis/2024.3.13/__init__.py +3 -0
- mat3ra/esse/models/third_party/db/nist_jarvis/2024.3.13/atoms.py +41 -0
- mat3ra/esse/models/third_party/db/nist_jarvis/2024.3.13/db_entry.py +55 -0
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/__init__.py +3 -0
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/__init__.py +1990 -0
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_positions.py +51 -0
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_species.py +34 -0
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell.py +111 -0
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell_parameters.py +36 -0
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/control.py +169 -0
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/electrons.py +139 -0
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/hubbard.py +194 -0
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/ions.py +422 -0
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/k_points.py +73 -0
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/system.py +841 -0
- mat3ra/esse/models/workflow/__init__.py +2817 -0
- mat3ra/esse/models/workflow/base.py +79 -0
- mat3ra/esse/models/workflow/base_flow.py +180 -0
- mat3ra/esse/models/workflow/scope.py +14 -0
- mat3ra/esse/models/workflow/subworkflow/__init__.py +1472 -0
- mat3ra/esse/models/workflow/subworkflow/unit.py +1187 -0
- mat3ra/esse/models/workflow/unit/__init__.py +1415 -0
- mat3ra/esse/models/workflow/unit/assertion.py +149 -0
- mat3ra/esse/models/workflow/unit/assignment.py +165 -0
- mat3ra/esse/models/workflow/unit/base.py +137 -0
- mat3ra/esse/models/workflow/unit/condition.py +176 -0
- mat3ra/esse/models/workflow/unit/execution.py +374 -0
- mat3ra/esse/models/workflow/unit/input/__init__.py +3 -0
- mat3ra/esse/models/workflow/unit/input/_input.py +43 -0
- mat3ra/esse/models/workflow/unit/input/_inputItem.py +18 -0
- mat3ra/esse/models/workflow/unit/input/_inputItemId.py +21 -0
- mat3ra/esse/models/workflow/unit/input/_inputItemScope.py +18 -0
- mat3ra/esse/models/workflow/unit/input/_map_input/__init__.py +17 -0
- mat3ra/esse/models/workflow/unit/input/_map_input/values.py +13 -0
- mat3ra/esse/models/workflow/unit/io/__init__.py +254 -0
- mat3ra/esse/models/workflow/unit/io/api.py +27 -0
- mat3ra/esse/models/workflow/unit/io/db.py +39 -0
- mat3ra/esse/models/workflow/unit/io/object_storage.py +59 -0
- mat3ra/esse/models/workflow/unit/map.py +169 -0
- mat3ra/esse/models/workflow/unit/processing.py +153 -0
- mat3ra/esse/models/workflow/unit/reduce.py +160 -0
- mat3ra/esse/models/workflow/unit/runtime/__init__.py +3 -0
- mat3ra/esse/models/workflow/unit/runtime/_runtime_item_full_object.py +14 -0
- mat3ra/esse/models/workflow/unit/runtime/_runtime_item_name_object.py +14 -0
- mat3ra/esse/models/workflow/unit/runtime/_runtime_item_string.py +14 -0
- mat3ra/esse/models/workflow/unit/runtime/runtime_item.py +20 -0
- mat3ra/esse/models/workflow/unit/runtime/runtime_items.py +35 -0
- mat3ra/esse/models/workflow/unit/subworkflow.py +141 -0
- {mat3ra_esse-2024.4.8.post1.dist-info → mat3ra_esse-2024.4.8.post3.dist-info}/METADATA +3 -1
- mat3ra_esse-2024.4.8.post3.dist-info/RECORD +453 -0
- mat3ra_esse-2024.4.8.post1.dist-info/RECORD +0 -12
- {mat3ra_esse-2024.4.8.post1.dist-info → mat3ra_esse-2024.4.8.post3.dist-info}/LICENSE.md +0 -0
- {mat3ra_esse-2024.4.8.post1.dist-info → mat3ra_esse-2024.4.8.post3.dist-info}/WHEEL +0 -0
- {mat3ra_esse-2024.4.8.post1.dist-info → mat3ra_esse-2024.4.8.post3.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: methods_directory/physical/psp.json
|
|
3
|
+
# version: 0.25.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import Any, Dict, List, Optional, Union
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, Field, confloat, conint, constr
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class SlugifiedEntry(BaseModel):
|
|
14
|
+
name: str
|
|
15
|
+
"""
|
|
16
|
+
descriptive human-readable name of entry
|
|
17
|
+
"""
|
|
18
|
+
slug: str
|
|
19
|
+
"""
|
|
20
|
+
machine-readable identifier
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class SlugifiedEntryOrSlug(Enum):
|
|
25
|
+
psp = "psp"
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class SlugifiedEntryOrSlug209(Enum):
|
|
29
|
+
us = "us"
|
|
30
|
+
nc = "nc"
|
|
31
|
+
paw = "paw"
|
|
32
|
+
coulomb = "coulomb"
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class SlugifiedEntryOrSlug210(Enum):
|
|
36
|
+
wf = "wf"
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class SlugifiedEntryOrSlug211(Enum):
|
|
40
|
+
qm = "qm"
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class PseudopotentialCategorySchema(BaseModel):
|
|
44
|
+
type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug")
|
|
45
|
+
"""
|
|
46
|
+
contains either object with slugified entry or slug only as a string
|
|
47
|
+
"""
|
|
48
|
+
subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug209]] = Field(None, title="slugified entry or slug")
|
|
49
|
+
"""
|
|
50
|
+
contains either object with slugified entry or slug only as a string
|
|
51
|
+
"""
|
|
52
|
+
tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug210]] = Field(None, title="slugified entry or slug")
|
|
53
|
+
"""
|
|
54
|
+
contains either object with slugified entry or slug only as a string
|
|
55
|
+
"""
|
|
56
|
+
tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug211]] = Field(None, title="slugified entry or slug")
|
|
57
|
+
"""
|
|
58
|
+
contains either object with slugified entry or slug only as a string
|
|
59
|
+
"""
|
|
60
|
+
tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
|
|
61
|
+
"""
|
|
62
|
+
contains either object with slugified entry or slug only as a string
|
|
63
|
+
"""
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class Slug(Enum):
|
|
67
|
+
pseudopotential = "pseudopotential"
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
class Type(Enum):
|
|
71
|
+
us = "us"
|
|
72
|
+
nc = "nc"
|
|
73
|
+
paw = "paw"
|
|
74
|
+
coulomb = "coulomb"
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
class ExchangeCorrelation(BaseModel):
|
|
78
|
+
approximation: Optional[str] = None
|
|
79
|
+
"""
|
|
80
|
+
DFT approximation
|
|
81
|
+
"""
|
|
82
|
+
functional: Optional[str] = None
|
|
83
|
+
"""
|
|
84
|
+
Exchange correlation functional
|
|
85
|
+
"""
|
|
86
|
+
path: Optional[str] = Field(None, title="category path schema")
|
|
87
|
+
"""
|
|
88
|
+
TODO: Use regex once schema draft version has been updated
|
|
89
|
+
"""
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
class AtomicOrbitalSchema(BaseModel):
|
|
93
|
+
orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None
|
|
94
|
+
orbitalIndex: Optional[conint(ge=1)] = None
|
|
95
|
+
principalNumber: Optional[conint(ge=1, le=7)] = None
|
|
96
|
+
angularMomentum: Optional[conint(ge=0, le=3)] = None
|
|
97
|
+
occupation: Optional[confloat(ge=0.0, le=14.0)] = None
|
|
98
|
+
"""
|
|
99
|
+
Shell occupation
|
|
100
|
+
"""
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
class Name(Enum):
|
|
104
|
+
pseudopotential = "pseudopotential"
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
class FileDataItem(BaseModel):
|
|
108
|
+
element: str
|
|
109
|
+
"""
|
|
110
|
+
chemical element
|
|
111
|
+
"""
|
|
112
|
+
hash: Optional[str] = None
|
|
113
|
+
"""
|
|
114
|
+
MD5 hash of the pseudopotential file
|
|
115
|
+
"""
|
|
116
|
+
type: Type
|
|
117
|
+
source: str
|
|
118
|
+
"""
|
|
119
|
+
explains where this came from
|
|
120
|
+
"""
|
|
121
|
+
version: Optional[str] = None
|
|
122
|
+
"""
|
|
123
|
+
explains the version of where this came from
|
|
124
|
+
"""
|
|
125
|
+
exchangeCorrelation: ExchangeCorrelation
|
|
126
|
+
valenceConfiguration: Optional[List[AtomicOrbitalSchema]] = None
|
|
127
|
+
"""
|
|
128
|
+
contains pseudo orbital information, including orbital names and occupations
|
|
129
|
+
"""
|
|
130
|
+
path: str
|
|
131
|
+
"""
|
|
132
|
+
location of the pseudopotential file on filesystem
|
|
133
|
+
"""
|
|
134
|
+
apps: List[str]
|
|
135
|
+
"""
|
|
136
|
+
The names of the simulation engines that can use this pseudopotential, e.g. espresso
|
|
137
|
+
"""
|
|
138
|
+
filename: Optional[str] = None
|
|
139
|
+
"""
|
|
140
|
+
filename of pseudopotential file on filesystem
|
|
141
|
+
"""
|
|
142
|
+
name: Optional[Name] = None
|
|
143
|
+
"""
|
|
144
|
+
name of the data category
|
|
145
|
+
"""
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
class Source(BaseModel):
|
|
149
|
+
info: Optional[Dict[str, Any]] = None
|
|
150
|
+
type: Optional[str] = None
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
class PseudopotentialFile(BaseModel):
|
|
154
|
+
slug: Optional[Slug] = None
|
|
155
|
+
data: Optional[FileDataItem] = Field(None, title="File data item")
|
|
156
|
+
source: Optional[Source] = None
|
|
157
|
+
"""
|
|
158
|
+
TODO: remove in the future
|
|
159
|
+
"""
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
class UnitMethodPseudopotential(BaseModel):
|
|
163
|
+
categories: PseudopotentialCategorySchema = Field(..., title="Pseudopotential category schema")
|
|
164
|
+
"""
|
|
165
|
+
Used to categorize entities such as models and methods
|
|
166
|
+
"""
|
|
167
|
+
data: Optional[List[PseudopotentialFile]] = None
|
|
168
|
+
parameters: Optional[Dict[str, Any]] = None
|
|
169
|
+
"""
|
|
170
|
+
Instructive parameters defining the method
|
|
171
|
+
"""
|
|
172
|
+
precision: Optional[Dict[str, Any]] = None
|
|
173
|
+
"""
|
|
174
|
+
Object showing the actual possible precision based on theory and implementation
|
|
175
|
+
"""
|
|
176
|
+
name: Optional[str] = None
|
|
177
|
+
"""
|
|
178
|
+
entity name
|
|
179
|
+
"""
|
|
180
|
+
path: Optional[str] = Field(None, title="category path schema")
|
|
181
|
+
"""
|
|
182
|
+
TODO: Use regex once schema draft version has been updated
|
|
183
|
+
"""
|
|
184
|
+
tags: Optional[List[str]] = None
|
|
185
|
+
"""
|
|
186
|
+
entity tags
|
|
187
|
+
"""
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: methods_directory/physical/psp/file.json
|
|
3
|
+
# version: 0.25.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import Any, Dict, List, Optional
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, Field, confloat, conint, constr
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class Slug(Enum):
|
|
14
|
+
pseudopotential = "pseudopotential"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class Type(Enum):
|
|
18
|
+
us = "us"
|
|
19
|
+
nc = "nc"
|
|
20
|
+
paw = "paw"
|
|
21
|
+
coulomb = "coulomb"
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class ExchangeCorrelation(BaseModel):
|
|
25
|
+
approximation: Optional[str] = None
|
|
26
|
+
"""
|
|
27
|
+
DFT approximation
|
|
28
|
+
"""
|
|
29
|
+
functional: Optional[str] = None
|
|
30
|
+
"""
|
|
31
|
+
Exchange correlation functional
|
|
32
|
+
"""
|
|
33
|
+
path: Optional[str] = Field(None, title="category path schema")
|
|
34
|
+
"""
|
|
35
|
+
TODO: Use regex once schema draft version has been updated
|
|
36
|
+
"""
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class AtomicOrbitalSchema(BaseModel):
|
|
40
|
+
orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None
|
|
41
|
+
orbitalIndex: Optional[conint(ge=1)] = None
|
|
42
|
+
principalNumber: Optional[conint(ge=1, le=7)] = None
|
|
43
|
+
angularMomentum: Optional[conint(ge=0, le=3)] = None
|
|
44
|
+
occupation: Optional[confloat(ge=0.0, le=14.0)] = None
|
|
45
|
+
"""
|
|
46
|
+
Shell occupation
|
|
47
|
+
"""
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class Name(Enum):
|
|
51
|
+
pseudopotential = "pseudopotential"
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class FileDataItem(BaseModel):
|
|
55
|
+
element: str
|
|
56
|
+
"""
|
|
57
|
+
chemical element
|
|
58
|
+
"""
|
|
59
|
+
hash: Optional[str] = None
|
|
60
|
+
"""
|
|
61
|
+
MD5 hash of the pseudopotential file
|
|
62
|
+
"""
|
|
63
|
+
type: Type
|
|
64
|
+
source: str
|
|
65
|
+
"""
|
|
66
|
+
explains where this came from
|
|
67
|
+
"""
|
|
68
|
+
version: Optional[str] = None
|
|
69
|
+
"""
|
|
70
|
+
explains the version of where this came from
|
|
71
|
+
"""
|
|
72
|
+
exchangeCorrelation: ExchangeCorrelation
|
|
73
|
+
valenceConfiguration: Optional[List[AtomicOrbitalSchema]] = None
|
|
74
|
+
"""
|
|
75
|
+
contains pseudo orbital information, including orbital names and occupations
|
|
76
|
+
"""
|
|
77
|
+
path: str
|
|
78
|
+
"""
|
|
79
|
+
location of the pseudopotential file on filesystem
|
|
80
|
+
"""
|
|
81
|
+
apps: List[str]
|
|
82
|
+
"""
|
|
83
|
+
The names of the simulation engines that can use this pseudopotential, e.g. espresso
|
|
84
|
+
"""
|
|
85
|
+
filename: Optional[str] = None
|
|
86
|
+
"""
|
|
87
|
+
filename of pseudopotential file on filesystem
|
|
88
|
+
"""
|
|
89
|
+
name: Optional[Name] = None
|
|
90
|
+
"""
|
|
91
|
+
name of the data category
|
|
92
|
+
"""
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
class Source(BaseModel):
|
|
96
|
+
info: Optional[Dict[str, Any]] = None
|
|
97
|
+
type: Optional[str] = None
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
class PseudopotentialFile(BaseModel):
|
|
101
|
+
slug: Optional[Slug] = None
|
|
102
|
+
data: Optional[FileDataItem] = Field(None, title="File data item")
|
|
103
|
+
source: Optional[Source] = None
|
|
104
|
+
"""
|
|
105
|
+
TODO: remove in the future
|
|
106
|
+
"""
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: methods_directory/physical/psp/file_data_item.json
|
|
3
|
+
# version: 0.25.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, Field, confloat, conint, constr
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class Type(Enum):
|
|
14
|
+
us = "us"
|
|
15
|
+
nc = "nc"
|
|
16
|
+
paw = "paw"
|
|
17
|
+
coulomb = "coulomb"
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class ExchangeCorrelation(BaseModel):
|
|
21
|
+
approximation: Optional[str] = None
|
|
22
|
+
"""
|
|
23
|
+
DFT approximation
|
|
24
|
+
"""
|
|
25
|
+
functional: Optional[str] = None
|
|
26
|
+
"""
|
|
27
|
+
Exchange correlation functional
|
|
28
|
+
"""
|
|
29
|
+
path: Optional[str] = Field(None, title="category path schema")
|
|
30
|
+
"""
|
|
31
|
+
TODO: Use regex once schema draft version has been updated
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class AtomicOrbitalSchema(BaseModel):
|
|
36
|
+
orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None
|
|
37
|
+
orbitalIndex: Optional[conint(ge=1)] = None
|
|
38
|
+
principalNumber: Optional[conint(ge=1, le=7)] = None
|
|
39
|
+
angularMomentum: Optional[conint(ge=0, le=3)] = None
|
|
40
|
+
occupation: Optional[confloat(ge=0.0, le=14.0)] = None
|
|
41
|
+
"""
|
|
42
|
+
Shell occupation
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class Name(Enum):
|
|
47
|
+
pseudopotential = "pseudopotential"
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class FileDataItem(BaseModel):
|
|
51
|
+
element: str
|
|
52
|
+
"""
|
|
53
|
+
chemical element
|
|
54
|
+
"""
|
|
55
|
+
hash: Optional[str] = None
|
|
56
|
+
"""
|
|
57
|
+
MD5 hash of the pseudopotential file
|
|
58
|
+
"""
|
|
59
|
+
type: Type
|
|
60
|
+
source: str
|
|
61
|
+
"""
|
|
62
|
+
explains where this came from
|
|
63
|
+
"""
|
|
64
|
+
version: Optional[str] = None
|
|
65
|
+
"""
|
|
66
|
+
explains the version of where this came from
|
|
67
|
+
"""
|
|
68
|
+
exchangeCorrelation: ExchangeCorrelation
|
|
69
|
+
valenceConfiguration: Optional[List[AtomicOrbitalSchema]] = None
|
|
70
|
+
"""
|
|
71
|
+
contains pseudo orbital information, including orbital names and occupations
|
|
72
|
+
"""
|
|
73
|
+
path: str
|
|
74
|
+
"""
|
|
75
|
+
location of the pseudopotential file on filesystem
|
|
76
|
+
"""
|
|
77
|
+
apps: List[str]
|
|
78
|
+
"""
|
|
79
|
+
The names of the simulation engines that can use this pseudopotential, e.g. espresso
|
|
80
|
+
"""
|
|
81
|
+
filename: Optional[str] = None
|
|
82
|
+
"""
|
|
83
|
+
filename of pseudopotential file on filesystem
|
|
84
|
+
"""
|
|
85
|
+
name: Optional[Name] = None
|
|
86
|
+
"""
|
|
87
|
+
name of the data category
|
|
88
|
+
"""
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: methods_directory/physical/pw.json
|
|
3
|
+
# version: 0.25.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import Any, Dict, List, Optional, Union
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, Field
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class SlugifiedEntry(BaseModel):
|
|
14
|
+
name: str
|
|
15
|
+
"""
|
|
16
|
+
descriptive human-readable name of entry
|
|
17
|
+
"""
|
|
18
|
+
slug: str
|
|
19
|
+
"""
|
|
20
|
+
machine-readable identifier
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class SlugifiedEntryOrSlug(Enum):
|
|
25
|
+
pw = "pw"
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class SlugifiedEntryOrSlug217(Enum):
|
|
29
|
+
wf = "wf"
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class SlugifiedEntryOrSlug218(Enum):
|
|
33
|
+
qm = "qm"
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class PlaneWaveCatgeorySchema(BaseModel):
|
|
37
|
+
type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug")
|
|
38
|
+
"""
|
|
39
|
+
contains either object with slugified entry or slug only as a string
|
|
40
|
+
"""
|
|
41
|
+
tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug217]] = Field(None, title="slugified entry or slug")
|
|
42
|
+
"""
|
|
43
|
+
contains either object with slugified entry or slug only as a string
|
|
44
|
+
"""
|
|
45
|
+
tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug218]] = Field(None, title="slugified entry or slug")
|
|
46
|
+
"""
|
|
47
|
+
contains either object with slugified entry or slug only as a string
|
|
48
|
+
"""
|
|
49
|
+
tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
|
|
50
|
+
"""
|
|
51
|
+
contains either object with slugified entry or slug only as a string
|
|
52
|
+
"""
|
|
53
|
+
subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
|
|
54
|
+
"""
|
|
55
|
+
contains either object with slugified entry or slug only as a string
|
|
56
|
+
"""
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
class UnitMethodPlaneWave(BaseModel):
|
|
60
|
+
categories: PlaneWaveCatgeorySchema = Field(..., title="Plane wave catgeory schema")
|
|
61
|
+
"""
|
|
62
|
+
Used to categorize entities such as models and methods
|
|
63
|
+
"""
|
|
64
|
+
parameters: Optional[Dict[str, Any]] = None
|
|
65
|
+
"""
|
|
66
|
+
Instructive parameters defining the method
|
|
67
|
+
"""
|
|
68
|
+
precision: Optional[Dict[str, Any]] = None
|
|
69
|
+
"""
|
|
70
|
+
Object showing the actual possible precision based on theory and implementation
|
|
71
|
+
"""
|
|
72
|
+
name: Optional[str] = None
|
|
73
|
+
"""
|
|
74
|
+
entity name
|
|
75
|
+
"""
|
|
76
|
+
path: Optional[str] = Field(None, title="category path schema")
|
|
77
|
+
"""
|
|
78
|
+
TODO: Use regex once schema draft version has been updated
|
|
79
|
+
"""
|
|
80
|
+
tags: Optional[List[str]] = None
|
|
81
|
+
"""
|
|
82
|
+
entity tags
|
|
83
|
+
"""
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: methods_directory/physical/smearing.json
|
|
3
|
+
# version: 0.25.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import Any, Dict, List, Optional, Union
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, Field
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class SlugifiedEntry(BaseModel):
|
|
14
|
+
name: str
|
|
15
|
+
"""
|
|
16
|
+
descriptive human-readable name of entry
|
|
17
|
+
"""
|
|
18
|
+
slug: str
|
|
19
|
+
"""
|
|
20
|
+
machine-readable identifier
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class SlugifiedEntryOrSlug(Enum):
|
|
25
|
+
smearing = "smearing"
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class SlugifiedEntryOrSlug243(Enum):
|
|
29
|
+
gaussian = "gaussian"
|
|
30
|
+
marzari_vanderbilt = "marzari-vanderbilt"
|
|
31
|
+
methfessel_paxton = "methfessel-paxton"
|
|
32
|
+
fermi_dirac = "fermi-dirac"
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class SlugifiedEntryOrSlug244(Enum):
|
|
36
|
+
wf = "wf"
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class SlugifiedEntryOrSlug245(Enum):
|
|
40
|
+
qm = "qm"
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class SmearingMethodsCategorySchema(BaseModel):
|
|
44
|
+
type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug")
|
|
45
|
+
"""
|
|
46
|
+
contains either object with slugified entry or slug only as a string
|
|
47
|
+
"""
|
|
48
|
+
subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug243]] = Field(None, title="slugified entry or slug")
|
|
49
|
+
"""
|
|
50
|
+
contains either object with slugified entry or slug only as a string
|
|
51
|
+
"""
|
|
52
|
+
tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug244]] = Field(None, title="slugified entry or slug")
|
|
53
|
+
"""
|
|
54
|
+
contains either object with slugified entry or slug only as a string
|
|
55
|
+
"""
|
|
56
|
+
tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug245]] = Field(None, title="slugified entry or slug")
|
|
57
|
+
"""
|
|
58
|
+
contains either object with slugified entry or slug only as a string
|
|
59
|
+
"""
|
|
60
|
+
tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
|
|
61
|
+
"""
|
|
62
|
+
contains either object with slugified entry or slug only as a string
|
|
63
|
+
"""
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class UnitMethodSmearing(BaseModel):
|
|
67
|
+
categories: SmearingMethodsCategorySchema = Field(..., title="Smearing methods category schema")
|
|
68
|
+
"""
|
|
69
|
+
Approximating Heaviside step function with smooth function
|
|
70
|
+
"""
|
|
71
|
+
parameters: Optional[Dict[str, Any]] = None
|
|
72
|
+
"""
|
|
73
|
+
Instructive parameters defining the method
|
|
74
|
+
"""
|
|
75
|
+
precision: Optional[Dict[str, Any]] = None
|
|
76
|
+
"""
|
|
77
|
+
Object showing the actual possible precision based on theory and implementation
|
|
78
|
+
"""
|
|
79
|
+
name: Optional[str] = None
|
|
80
|
+
"""
|
|
81
|
+
entity name
|
|
82
|
+
"""
|
|
83
|
+
path: Optional[str] = Field(None, title="category path schema")
|
|
84
|
+
"""
|
|
85
|
+
TODO: Use regex once schema draft version has been updated
|
|
86
|
+
"""
|
|
87
|
+
tags: Optional[List[str]] = None
|
|
88
|
+
"""
|
|
89
|
+
entity tags
|
|
90
|
+
"""
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: methods_directory/physical/tetrahedron.json
|
|
3
|
+
# version: 0.25.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import Any, Dict, List, Optional, Union
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, Field
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class SlugifiedEntry(BaseModel):
|
|
14
|
+
name: str
|
|
15
|
+
"""
|
|
16
|
+
descriptive human-readable name of entry
|
|
17
|
+
"""
|
|
18
|
+
slug: str
|
|
19
|
+
"""
|
|
20
|
+
machine-readable identifier
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class SlugifiedEntryOrSlug(Enum):
|
|
25
|
+
tetrahedron = "tetrahedron"
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class SlugifiedEntryOrSlug261(Enum):
|
|
29
|
+
linear = "linear"
|
|
30
|
+
optimized = "optimized"
|
|
31
|
+
bloechl = "bloechl"
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class SlugifiedEntryOrSlug262(Enum):
|
|
35
|
+
wf = "wf"
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class SlugifiedEntryOrSlug263(Enum):
|
|
39
|
+
qm = "qm"
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class TetrahedronMethodForBrillouinZoneIntegrationCategorySchema(BaseModel):
|
|
43
|
+
type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug")
|
|
44
|
+
"""
|
|
45
|
+
contains either object with slugified entry or slug only as a string
|
|
46
|
+
"""
|
|
47
|
+
subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug261]] = Field(None, title="slugified entry or slug")
|
|
48
|
+
"""
|
|
49
|
+
contains either object with slugified entry or slug only as a string
|
|
50
|
+
"""
|
|
51
|
+
tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug262]] = Field(None, title="slugified entry or slug")
|
|
52
|
+
"""
|
|
53
|
+
contains either object with slugified entry or slug only as a string
|
|
54
|
+
"""
|
|
55
|
+
tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug263]] = Field(None, title="slugified entry or slug")
|
|
56
|
+
"""
|
|
57
|
+
contains either object with slugified entry or slug only as a string
|
|
58
|
+
"""
|
|
59
|
+
tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
|
|
60
|
+
"""
|
|
61
|
+
contains either object with slugified entry or slug only as a string
|
|
62
|
+
"""
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
class UnitMethodTetrahedron(BaseModel):
|
|
66
|
+
categories: TetrahedronMethodForBrillouinZoneIntegrationCategorySchema = Field(
|
|
67
|
+
..., title="Tetrahedron method for Brillouin zone integration category schema"
|
|
68
|
+
)
|
|
69
|
+
"""
|
|
70
|
+
Used to categorize entities such as models and methods
|
|
71
|
+
"""
|
|
72
|
+
parameters: Optional[Dict[str, Any]] = None
|
|
73
|
+
"""
|
|
74
|
+
Instructive parameters defining the method
|
|
75
|
+
"""
|
|
76
|
+
precision: Optional[Dict[str, Any]] = None
|
|
77
|
+
"""
|
|
78
|
+
Object showing the actual possible precision based on theory and implementation
|
|
79
|
+
"""
|
|
80
|
+
name: Optional[str] = None
|
|
81
|
+
"""
|
|
82
|
+
entity name
|
|
83
|
+
"""
|
|
84
|
+
path: Optional[str] = Field(None, title="category path schema")
|
|
85
|
+
"""
|
|
86
|
+
TODO: Use regex once schema draft version has been updated
|
|
87
|
+
"""
|
|
88
|
+
tags: Optional[List[str]] = None
|
|
89
|
+
"""
|
|
90
|
+
entity tags
|
|
91
|
+
"""
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: model.json
|
|
3
|
+
# version: 0.25.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from typing import Any, Dict, Optional
|
|
8
|
+
|
|
9
|
+
from pydantic import BaseModel, ConfigDict, Field
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class BaseMethod(BaseModel):
|
|
13
|
+
type: str
|
|
14
|
+
"""
|
|
15
|
+
general type of this method, eg. `pseudopotential`
|
|
16
|
+
"""
|
|
17
|
+
subtype: str
|
|
18
|
+
"""
|
|
19
|
+
general subtype of this method, eg. `ultra-soft`
|
|
20
|
+
"""
|
|
21
|
+
precision: Optional[Dict[str, Any]] = None
|
|
22
|
+
"""
|
|
23
|
+
Object showing the actual possible precision based on theory and implementation
|
|
24
|
+
"""
|
|
25
|
+
data: Optional[Dict[str, Any]] = None
|
|
26
|
+
"""
|
|
27
|
+
additional data specific to method, eg. array of pseudopotentials
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class BaseModel1(BaseModel):
|
|
32
|
+
model_config = ConfigDict(
|
|
33
|
+
extra="allow",
|
|
34
|
+
)
|
|
35
|
+
type: str
|
|
36
|
+
"""
|
|
37
|
+
general type of the model, eg. `dft`
|
|
38
|
+
"""
|
|
39
|
+
subtype: str
|
|
40
|
+
"""
|
|
41
|
+
general subtype of the model, eg. `lda`
|
|
42
|
+
"""
|
|
43
|
+
method: BaseMethod = Field(..., title="base method")
|