mat3ra-esse 2024.4.8.post0__py3-none-any.whl → 2024.4.8.post2__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.
Potentially problematic release.
This version of mat3ra-esse might be problematic. Click here for more details.
- 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.post0.dist-info → mat3ra_esse-2024.4.8.post2.dist-info}/METADATA +1 -1
- mat3ra_esse-2024.4.8.post2.dist-info/RECORD +453 -0
- mat3ra_esse-2024.4.8.post0.dist-info/RECORD +0 -12
- {mat3ra_esse-2024.4.8.post0.dist-info → mat3ra_esse-2024.4.8.post2.dist-info}/LICENSE.md +0 -0
- {mat3ra_esse-2024.4.8.post0.dist-info → mat3ra_esse-2024.4.8.post2.dist-info}/WHEEL +0 -0
- {mat3ra_esse-2024.4.8.post0.dist-info → mat3ra_esse-2024.4.8.post2.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: material.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, RootModel, confloat
|
|
11
|
+
from typing_extensions import Literal
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class AtomicElements(BaseModel):
|
|
15
|
+
id: float
|
|
16
|
+
value: str
|
|
17
|
+
occurrence: Optional[float] = None
|
|
18
|
+
"""
|
|
19
|
+
Occurrence is for fractional occupations
|
|
20
|
+
"""
|
|
21
|
+
oxidationState: Optional[float] = None
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class Label(BaseModel):
|
|
25
|
+
id: Optional[float] = None
|
|
26
|
+
value: Optional[float] = None
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class AtomicCoordinate(BaseModel):
|
|
30
|
+
id: Optional[float] = None
|
|
31
|
+
value: Optional[Union[List[float], List[bool]]] = Field(None, title="vector schema")
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class AtomicId(BaseModel):
|
|
35
|
+
id: Optional[int] = None
|
|
36
|
+
"""
|
|
37
|
+
integer id of this entry
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class BondType(Enum):
|
|
42
|
+
single = "single"
|
|
43
|
+
double = "double"
|
|
44
|
+
triple = "triple"
|
|
45
|
+
quadruple = "quadruple"
|
|
46
|
+
aromatic = "aromatic"
|
|
47
|
+
tautomeric = "tautomeric"
|
|
48
|
+
dative = "dative"
|
|
49
|
+
other = "other"
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class BondsSchemaItem(BaseModel):
|
|
53
|
+
atomPair: Optional[List[AtomicId]] = Field(None, max_length=2, min_length=2, title="atomic ids")
|
|
54
|
+
"""
|
|
55
|
+
indices of the two connected atoms
|
|
56
|
+
"""
|
|
57
|
+
bondType: Optional[BondType] = None
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
class BasisSchema(BaseModel):
|
|
61
|
+
elements: List[AtomicElements]
|
|
62
|
+
labels: Optional[List[Label]] = None
|
|
63
|
+
"""
|
|
64
|
+
Optional numeric label (e.g., 1, 2, as in Fe1, Fe2) to distinguish same atomic species to attach different spin magnetic moment.
|
|
65
|
+
"""
|
|
66
|
+
coordinates: List[AtomicCoordinate]
|
|
67
|
+
name: Optional[str] = None
|
|
68
|
+
units: Optional[str] = None
|
|
69
|
+
bonds: Optional[List[BondsSchemaItem]] = Field(None, title="bonds schema")
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class Name(Enum):
|
|
73
|
+
lattice = "lattice"
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
class Units(Enum):
|
|
77
|
+
km = "km"
|
|
78
|
+
m = "m"
|
|
79
|
+
pm = "pm"
|
|
80
|
+
nm = "nm"
|
|
81
|
+
angstrom = "angstrom"
|
|
82
|
+
a_u_ = "a.u."
|
|
83
|
+
bohr = "bohr"
|
|
84
|
+
fractional = "fractional"
|
|
85
|
+
crystal = "crystal"
|
|
86
|
+
cartesian = "cartesian"
|
|
87
|
+
alat = "alat"
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
class LatticeExplicitUnit(BaseModel):
|
|
91
|
+
alat: Optional[float] = 1
|
|
92
|
+
"""
|
|
93
|
+
lattice parameter for fractional coordinates
|
|
94
|
+
"""
|
|
95
|
+
units: Optional[Units] = None
|
|
96
|
+
a: List[float] = Field(..., max_length=3, min_length=3, title="array of 3 number elements schema")
|
|
97
|
+
b: List[float] = Field(..., max_length=3, min_length=3, title="array of 3 number elements schema")
|
|
98
|
+
c: List[float] = Field(..., max_length=3, min_length=3, title="array of 3 number elements schema")
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
class LatticeTypeSchema(Enum):
|
|
102
|
+
CUB = "CUB"
|
|
103
|
+
BCC = "BCC"
|
|
104
|
+
FCC = "FCC"
|
|
105
|
+
TET = "TET"
|
|
106
|
+
MCL = "MCL"
|
|
107
|
+
ORC = "ORC"
|
|
108
|
+
ORCC = "ORCC"
|
|
109
|
+
ORCF = "ORCF"
|
|
110
|
+
ORCI = "ORCI"
|
|
111
|
+
HEX = "HEX"
|
|
112
|
+
BCT = "BCT"
|
|
113
|
+
TRI = "TRI"
|
|
114
|
+
MCLC = "MCLC"
|
|
115
|
+
RHL = "RHL"
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
class Length(Enum):
|
|
119
|
+
angstrom = "angstrom"
|
|
120
|
+
bohr = "bohr"
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
class Angle(Enum):
|
|
124
|
+
degree = "degree"
|
|
125
|
+
radian = "radian"
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
class Units41(BaseModel):
|
|
129
|
+
length: Optional[Length] = None
|
|
130
|
+
angle: Optional[Angle] = None
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
class LatticeSchema(BaseModel):
|
|
134
|
+
name: Optional[Name] = None
|
|
135
|
+
vectors: Optional[LatticeExplicitUnit] = Field(None, title="lattice explicit unit")
|
|
136
|
+
type: LatticeTypeSchema = Field(..., title="lattice type schema")
|
|
137
|
+
units: Optional[Units41] = None
|
|
138
|
+
a: float
|
|
139
|
+
"""
|
|
140
|
+
length of the first lattice vector
|
|
141
|
+
"""
|
|
142
|
+
b: float
|
|
143
|
+
"""
|
|
144
|
+
length of the second lattice vector
|
|
145
|
+
"""
|
|
146
|
+
c: float
|
|
147
|
+
"""
|
|
148
|
+
length of the third lattice vector
|
|
149
|
+
"""
|
|
150
|
+
alpha: float
|
|
151
|
+
"""
|
|
152
|
+
angle between first and second lattice vector
|
|
153
|
+
"""
|
|
154
|
+
beta: float
|
|
155
|
+
"""
|
|
156
|
+
angle between second and third lattice vector
|
|
157
|
+
"""
|
|
158
|
+
gamma: float
|
|
159
|
+
"""
|
|
160
|
+
angle between first and third lattice vector
|
|
161
|
+
"""
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
class Name128(Enum):
|
|
165
|
+
volume = "volume"
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
class Units42(Enum):
|
|
169
|
+
angstrom_3 = "angstrom^3"
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
class VolumeSchema(BaseModel):
|
|
173
|
+
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
174
|
+
units: Optional[Units42] = None
|
|
175
|
+
value: float
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
class Name129(Enum):
|
|
179
|
+
density = "density"
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
class Units43(Enum):
|
|
183
|
+
g_cm_3 = "g/cm^3"
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
class DensitySchema(BaseModel):
|
|
187
|
+
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
188
|
+
units: Optional[Units43] = None
|
|
189
|
+
value: float
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
class Units44(Enum):
|
|
193
|
+
angstrom = "angstrom"
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
class ScalarSchema(BaseModel):
|
|
197
|
+
units: Optional[Units44] = None
|
|
198
|
+
value: float
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
class Name130(Enum):
|
|
202
|
+
symmetry = "symmetry"
|
|
203
|
+
|
|
204
|
+
|
|
205
|
+
class SymmetrySchema(BaseModel):
|
|
206
|
+
pointGroupSymbol: Optional[str] = None
|
|
207
|
+
"""
|
|
208
|
+
point group symbol in Schoenflies notation
|
|
209
|
+
"""
|
|
210
|
+
spaceGroupSymbol: Optional[str] = None
|
|
211
|
+
"""
|
|
212
|
+
space group symbol in Hermann–Mauguin notation
|
|
213
|
+
"""
|
|
214
|
+
tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema")
|
|
215
|
+
"""
|
|
216
|
+
tolerance used for symmetry calculation
|
|
217
|
+
"""
|
|
218
|
+
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
class Name131(Enum):
|
|
222
|
+
elemental_ratio = "elemental_ratio"
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
class ElementalRatio(BaseModel):
|
|
226
|
+
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
227
|
+
value: confloat(ge=0.0, le=1.0)
|
|
228
|
+
element: Optional[str] = None
|
|
229
|
+
"""
|
|
230
|
+
the element this ratio is for
|
|
231
|
+
"""
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
class Name132(Enum):
|
|
235
|
+
p_norm = "p-norm"
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
class PNorm(BaseModel):
|
|
239
|
+
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
240
|
+
degree: Optional[int] = None
|
|
241
|
+
"""
|
|
242
|
+
degree of the dimensionality of the norm
|
|
243
|
+
"""
|
|
244
|
+
value: float
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
class Name133(Enum):
|
|
248
|
+
inchi = "inchi"
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
class InChIRepresentationSchema(BaseModel):
|
|
252
|
+
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
253
|
+
value: str
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
class Name134(Enum):
|
|
257
|
+
inchi_key = "inchi_key"
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
class InChIKeyRepresentationSchema(BaseModel):
|
|
261
|
+
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
262
|
+
value: str
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
class DerivedPropertiesSchema(
|
|
266
|
+
RootModel[
|
|
267
|
+
Union[
|
|
268
|
+
VolumeSchema,
|
|
269
|
+
DensitySchema,
|
|
270
|
+
SymmetrySchema,
|
|
271
|
+
ElementalRatio,
|
|
272
|
+
PNorm,
|
|
273
|
+
InChIRepresentationSchema,
|
|
274
|
+
InChIKeyRepresentationSchema,
|
|
275
|
+
]
|
|
276
|
+
]
|
|
277
|
+
):
|
|
278
|
+
root: Union[
|
|
279
|
+
VolumeSchema,
|
|
280
|
+
DensitySchema,
|
|
281
|
+
SymmetrySchema,
|
|
282
|
+
ElementalRatio,
|
|
283
|
+
PNorm,
|
|
284
|
+
InChIRepresentationSchema,
|
|
285
|
+
InChIKeyRepresentationSchema,
|
|
286
|
+
] = Field(..., discriminator="name")
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
class DatabaseSourceSchema(BaseModel):
|
|
290
|
+
id: Union[str, float]
|
|
291
|
+
"""
|
|
292
|
+
ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32
|
|
293
|
+
"""
|
|
294
|
+
source: str
|
|
295
|
+
"""
|
|
296
|
+
Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.
|
|
297
|
+
"""
|
|
298
|
+
origin: bool
|
|
299
|
+
"""
|
|
300
|
+
Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).
|
|
301
|
+
"""
|
|
302
|
+
data: Optional[Dict[str, Any]] = None
|
|
303
|
+
"""
|
|
304
|
+
Original response from external source.
|
|
305
|
+
"""
|
|
306
|
+
doi: Optional[str] = None
|
|
307
|
+
"""
|
|
308
|
+
Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506
|
|
309
|
+
"""
|
|
310
|
+
url: Optional[str] = None
|
|
311
|
+
"""
|
|
312
|
+
The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers
|
|
313
|
+
"""
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
class FileSourceSchema(BaseModel):
|
|
317
|
+
extension: Optional[str] = None
|
|
318
|
+
"""
|
|
319
|
+
file extension
|
|
320
|
+
"""
|
|
321
|
+
filename: str
|
|
322
|
+
"""
|
|
323
|
+
file name without extension
|
|
324
|
+
"""
|
|
325
|
+
text: str
|
|
326
|
+
"""
|
|
327
|
+
file content as raw text
|
|
328
|
+
"""
|
|
329
|
+
hash: str
|
|
330
|
+
"""
|
|
331
|
+
MD5 hash based on file content
|
|
332
|
+
"""
|
|
333
|
+
|
|
334
|
+
|
|
335
|
+
class Name135(Enum):
|
|
336
|
+
default = "default"
|
|
337
|
+
atomsTooClose = "atomsTooClose"
|
|
338
|
+
atomsOverlap = "atomsOverlap"
|
|
339
|
+
|
|
340
|
+
|
|
341
|
+
class Severity(Enum):
|
|
342
|
+
info = "info"
|
|
343
|
+
warning = "warning"
|
|
344
|
+
error = "error"
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
class ConsistencyCheck(BaseModel):
|
|
348
|
+
key: str
|
|
349
|
+
"""
|
|
350
|
+
Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
|
|
351
|
+
"""
|
|
352
|
+
name: Name135
|
|
353
|
+
"""
|
|
354
|
+
Name of the consistency check that is performed, which is listed in an enum.
|
|
355
|
+
"""
|
|
356
|
+
severity: Severity
|
|
357
|
+
"""
|
|
358
|
+
Severity level of the problem, which is used in UI to differentiate.
|
|
359
|
+
"""
|
|
360
|
+
message: str
|
|
361
|
+
"""
|
|
362
|
+
Message generated by the consistency check describing the problem.
|
|
363
|
+
"""
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
class MaterialSchema(BaseModel):
|
|
367
|
+
formula: Optional[str] = None
|
|
368
|
+
"""
|
|
369
|
+
reduced chemical formula
|
|
370
|
+
"""
|
|
371
|
+
unitCellFormula: Optional[str] = None
|
|
372
|
+
"""
|
|
373
|
+
chemical formula based on the number of atoms of each element in the supercell
|
|
374
|
+
"""
|
|
375
|
+
basis: BasisSchema = Field(..., title="basis schema")
|
|
376
|
+
lattice: LatticeSchema = Field(..., title="lattice schema")
|
|
377
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema")
|
|
378
|
+
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
379
|
+
"""
|
|
380
|
+
information about a database source
|
|
381
|
+
"""
|
|
382
|
+
src: Optional[FileSourceSchema] = Field(None, title="file source schema")
|
|
383
|
+
"""
|
|
384
|
+
file source with the information inside
|
|
385
|
+
"""
|
|
386
|
+
scaledHash: Optional[str] = None
|
|
387
|
+
"""
|
|
388
|
+
Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).
|
|
389
|
+
"""
|
|
390
|
+
icsdId: Optional[int] = None
|
|
391
|
+
"""
|
|
392
|
+
Corresponding ICSD id of the material
|
|
393
|
+
"""
|
|
394
|
+
isNonPeriodic: Optional[bool] = None
|
|
395
|
+
"""
|
|
396
|
+
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
397
|
+
"""
|
|
398
|
+
field_id: Optional[str] = Field(None, alias="_id")
|
|
399
|
+
"""
|
|
400
|
+
entity identity
|
|
401
|
+
"""
|
|
402
|
+
slug: Optional[str] = None
|
|
403
|
+
"""
|
|
404
|
+
entity slug
|
|
405
|
+
"""
|
|
406
|
+
systemName: Optional[str] = None
|
|
407
|
+
consistencyChecks: Optional[List[ConsistencyCheck]] = None
|
|
408
|
+
schemaVersion: Optional[str] = "2022.8.16"
|
|
409
|
+
"""
|
|
410
|
+
entity's schema version. Used to distinct between different schemas.
|
|
411
|
+
"""
|
|
412
|
+
name: Optional[str] = None
|
|
413
|
+
"""
|
|
414
|
+
entity name
|
|
415
|
+
"""
|
|
416
|
+
isDefault: Optional[bool] = False
|
|
417
|
+
"""
|
|
418
|
+
Identifies that entity is defaultable
|
|
419
|
+
"""
|
|
420
|
+
metadata: Optional[Dict[str, Any]] = None
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: material/conventional.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
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class MaterialConventionalSchema(BaseModel):
|
|
13
|
+
conventional: Optional[Dict[str, Any]] = None
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: method.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
|
|
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
|
+
"""
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: method/categorized_method.json
|
|
3
|
+
# version: 0.25.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from typing import Any, Dict, List, Optional, Union
|
|
8
|
+
|
|
9
|
+
from pydantic import BaseModel, Field
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class SlugifiedEntry(BaseModel):
|
|
13
|
+
name: str
|
|
14
|
+
"""
|
|
15
|
+
descriptive human-readable name of entry
|
|
16
|
+
"""
|
|
17
|
+
slug: str
|
|
18
|
+
"""
|
|
19
|
+
machine-readable identifier
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class ReusableCategoriesSchema(BaseModel):
|
|
24
|
+
tier1: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
|
|
25
|
+
"""
|
|
26
|
+
contains either object with slugified entry or slug only as a string
|
|
27
|
+
"""
|
|
28
|
+
tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
|
|
29
|
+
"""
|
|
30
|
+
contains either object with slugified entry or slug only as a string
|
|
31
|
+
"""
|
|
32
|
+
tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
|
|
33
|
+
"""
|
|
34
|
+
contains either object with slugified entry or slug only as a string
|
|
35
|
+
"""
|
|
36
|
+
type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
|
|
37
|
+
"""
|
|
38
|
+
contains either object with slugified entry or slug only as a string
|
|
39
|
+
"""
|
|
40
|
+
subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
|
|
41
|
+
"""
|
|
42
|
+
contains either object with slugified entry or slug only as a string
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class CategorizedUnitMethod(BaseModel):
|
|
47
|
+
categories: Optional[ReusableCategoriesSchema] = Field(None, title="Reusable categories schema")
|
|
48
|
+
"""
|
|
49
|
+
Used to categorize entities such as models and methods
|
|
50
|
+
"""
|
|
51
|
+
parameters: Optional[Dict[str, Any]] = None
|
|
52
|
+
"""
|
|
53
|
+
Instructive parameters defining the method
|
|
54
|
+
"""
|
|
55
|
+
precision: Optional[Dict[str, Any]] = None
|
|
56
|
+
"""
|
|
57
|
+
Object showing the actual possible precision based on theory and implementation
|
|
58
|
+
"""
|
|
59
|
+
name: Optional[str] = None
|
|
60
|
+
"""
|
|
61
|
+
entity name
|
|
62
|
+
"""
|
|
63
|
+
path: Optional[str] = Field(None, title="category path schema")
|
|
64
|
+
"""
|
|
65
|
+
TODO: Use regex once schema draft version has been updated
|
|
66
|
+
"""
|
|
67
|
+
tags: Optional[List[str]] = None
|
|
68
|
+
"""
|
|
69
|
+
entity tags
|
|
70
|
+
"""
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
class CategorizedMethod(BaseModel):
|
|
74
|
+
units: List[CategorizedUnitMethod]
|
|
75
|
+
name: Optional[str] = None
|
|
76
|
+
"""
|
|
77
|
+
entity name
|
|
78
|
+
"""
|
|
79
|
+
path: Optional[str] = Field(None, title="category path schema")
|
|
80
|
+
"""
|
|
81
|
+
TODO: Use regex once schema draft version has been updated
|
|
82
|
+
"""
|
|
83
|
+
tags: Optional[List[str]] = None
|
|
84
|
+
"""
|
|
85
|
+
entity tags
|
|
86
|
+
"""
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: method/method_parameters.json
|
|
3
|
+
# version: 0.25.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import Optional, Union
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, Field, RootModel
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class BasisSlug(Enum):
|
|
14
|
+
cc_pvdz = "cc-pvdz"
|
|
15
|
+
cc_pvtz = "cc-pvtz"
|
|
16
|
+
cc_pvqz = "cc-pvqz"
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class MethodParameters(BaseModel):
|
|
20
|
+
basisSlug: Optional[BasisSlug] = None
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class BasisSlug3(Enum):
|
|
24
|
+
field_3_21G = "3-21G"
|
|
25
|
+
field_6_31G = "6-31G"
|
|
26
|
+
field_6_311G = "6-311G"
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class MethodParameters1(BaseModel):
|
|
30
|
+
basisSlug: Optional[BasisSlug3] = None
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class BasisSlug4(Enum):
|
|
34
|
+
sto_3g = "sto-3g"
|
|
35
|
+
sto_4g = "sto-4g"
|
|
36
|
+
sto_6g = "sto-6g"
|
|
37
|
+
def2_svp = "def2-svp"
|
|
38
|
+
def2_tzvp = "def2-tzvp"
|
|
39
|
+
def2_qzvp = "def2-qzvp"
|
|
40
|
+
cbs_qb3 = "cbs-qb3"
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class MethodParameters2(BaseModel):
|
|
44
|
+
basisSlug: Optional[BasisSlug4] = None
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class ESSE(RootModel[Union[MethodParameters, MethodParameters1, MethodParameters2]]):
|
|
48
|
+
root: Union[MethodParameters, MethodParameters1, MethodParameters2] = Field(..., title="MethodParameters")
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: method/unit_method.json
|
|
3
|
+
# version: 0.25.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from typing import Any, Dict, List, Optional, Union
|
|
8
|
+
|
|
9
|
+
from pydantic import BaseModel, Field
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class SlugifiedEntry(BaseModel):
|
|
13
|
+
name: str
|
|
14
|
+
"""
|
|
15
|
+
descriptive human-readable name of entry
|
|
16
|
+
"""
|
|
17
|
+
slug: str
|
|
18
|
+
"""
|
|
19
|
+
machine-readable identifier
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class ReusableCategoriesSchema(BaseModel):
|
|
24
|
+
tier1: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
|
|
25
|
+
"""
|
|
26
|
+
contains either object with slugified entry or slug only as a string
|
|
27
|
+
"""
|
|
28
|
+
tier2: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
|
|
29
|
+
"""
|
|
30
|
+
contains either object with slugified entry or slug only as a string
|
|
31
|
+
"""
|
|
32
|
+
tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
|
|
33
|
+
"""
|
|
34
|
+
contains either object with slugified entry or slug only as a string
|
|
35
|
+
"""
|
|
36
|
+
type: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
|
|
37
|
+
"""
|
|
38
|
+
contains either object with slugified entry or slug only as a string
|
|
39
|
+
"""
|
|
40
|
+
subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
|
|
41
|
+
"""
|
|
42
|
+
contains either object with slugified entry or slug only as a string
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class CategorizedUnitMethod(BaseModel):
|
|
47
|
+
categories: Optional[ReusableCategoriesSchema] = Field(None, title="Reusable categories schema")
|
|
48
|
+
"""
|
|
49
|
+
Used to categorize entities such as models and methods
|
|
50
|
+
"""
|
|
51
|
+
parameters: Optional[Dict[str, Any]] = None
|
|
52
|
+
"""
|
|
53
|
+
Instructive parameters defining the method
|
|
54
|
+
"""
|
|
55
|
+
precision: Optional[Dict[str, Any]] = None
|
|
56
|
+
"""
|
|
57
|
+
Object showing the actual possible precision based on theory and implementation
|
|
58
|
+
"""
|
|
59
|
+
name: Optional[str] = None
|
|
60
|
+
"""
|
|
61
|
+
entity name
|
|
62
|
+
"""
|
|
63
|
+
path: Optional[str] = Field(None, title="category path schema")
|
|
64
|
+
"""
|
|
65
|
+
TODO: Use regex once schema draft version has been updated
|
|
66
|
+
"""
|
|
67
|
+
tags: Optional[List[str]] = None
|
|
68
|
+
"""
|
|
69
|
+
entity tags
|
|
70
|
+
"""
|