pantea package#
Subpackages#
- pantea.atoms package
- Submodules
- pantea.atoms.box module
- pantea.atoms.distance module
- pantea.atoms.element module
ElementMapElementMap.atom_type_to_elementElementMap.element_to_atom_typeElementMap.element_to_atomic_numberElementMap.from_list()ElementMap.get_atom_type_from_element()ElementMap.get_atomic_mass_from_element()ElementMap.get_atomic_number_from_element()ElementMap.get_element_from_atom_type()ElementMap.get_element_from_atomic_number()ElementMap.get_masses_from_structure()ElementMap.unique_elements
StructureInterface
- pantea.atoms.neighbor module
- pantea.atoms.structure module
StructureStructure.add_energy_offset()Structure.as_kernel_args()Structure.atom_typesStructure.boxStructure.chargesStructure.dtypeStructure.element_mapStructure.energiesStructure.forcesStructure.from_ase()Structure.from_dict()Structure.get_elements()Structure.get_forces_per_element()Structure.get_positions_per_element()Structure.get_unique_elements()Structure.latticeStructure.natomsStructure.positionsStructure.remove_energy_offset()Structure.select()Structure.to_ase()Structure.to_dict()Structure.total_chargeStructure.total_energy
StructureAsKernelArgs
- Module contents
BoxElementMapElementMap.atom_type_to_elementElementMap.element_to_atom_typeElementMap.element_to_atomic_numberElementMap.from_list()ElementMap.get_atom_type_from_element()ElementMap.get_atomic_mass_from_element()ElementMap.get_atomic_number_from_element()ElementMap.get_element_from_atom_type()ElementMap.get_element_from_atomic_number()ElementMap.get_masses_from_structure()ElementMap.unique_elements
NeighborStructureStructure.add_energy_offset()Structure.as_kernel_args()Structure.atom_typesStructure.boxStructure.chargesStructure.dtypeStructure.element_mapStructure.energiesStructure.forcesStructure.from_ase()Structure.from_dict()Structure.get_elements()Structure.get_forces_per_element()Structure.get_positions_per_element()Structure.get_unique_elements()Structure.latticeStructure.natomsStructure.positionsStructure.remove_energy_offset()Structure.select()Structure.to_ase()Structure.to_dict()Structure.total_chargeStructure.total_energy
calculate_distances()
- pantea.datasets package
- pantea.descriptors package
- Subpackages
- Submodules
- pantea.descriptors.scaler module
- Module contents
ACSFAtomCenteredSymmetryFunctionAtomCenteredSymmetryFunction.angular_symmetry_functionsAtomCenteredSymmetryFunction.central_elementAtomCenteredSymmetryFunction.grad()AtomCenteredSymmetryFunction.num_angular_symmetry_functionsAtomCenteredSymmetryFunction.num_radial_symmetry_functionsAtomCenteredSymmetryFunction.num_symmetry_functionsAtomCenteredSymmetryFunction.r_cutoffAtomCenteredSymmetryFunction.radial_symmetry_functions
DescriptorScalerScalerParams
- pantea.models package
- pantea.potentials package
- Subpackages
- pantea.potentials.nnp package
- Submodules
- pantea.potentials.nnp.atomic_potential module
- pantea.potentials.nnp.energy module
- pantea.potentials.nnp.force module
- pantea.potentials.nnp.gradient_descent module
- pantea.potentials.nnp.kalman_filter module
- pantea.potentials.nnp.metrics module
- pantea.potentials.nnp.potential module
- pantea.potentials.nnp.settings module
- pantea.potentials.nnp.trainer module
- Module contents
- pantea.potentials.nnp package
- Module contents
- Subpackages
- pantea.simulation package
- Submodules
- pantea.simulation.lennard_jones module
- pantea.simulation.molecular_dynamics module
- pantea.simulation.monte_carlo module
- pantea.simulation.simulate module
- pantea.simulation.system module
PotentialInterfaceSystemSystem.boxSystem.compute_forces()System.forcesSystem.from_structure()System.generate_random_velocities()System.get_center_of_mass_position()System.get_center_of_mass_velocity()System.get_elements()System.get_kinetic_energy()System.get_potential_energy()System.get_pressure()System.get_temperature()System.get_total_energy()System.massesSystem.natomsSystem.positionsSystem.potentialSystem.structureSystem.update_forces_from_positions()System.update_total_potential_energy_from_positions()System.velocities
- pantea.simulation.thermostat module
- Module contents
BrendsenThermostatLJPotentialMCSimulatorMDSimulatorSystemSystem.boxSystem.compute_forces()System.forcesSystem.from_structure()System.generate_random_velocities()System.get_center_of_mass_position()System.get_center_of_mass_velocity()System.get_elements()System.get_kinetic_energy()System.get_potential_energy()System.get_pressure()System.get_temperature()System.get_total_energy()System.massesSystem.natomsSystem.positionsSystem.potentialSystem.structureSystem.update_forces_from_positions()System.update_total_potential_energy_from_positions()System.velocities
simulate()
- pantea.utils package
Submodules#
pantea.config module#
pantea.logger module#
- class pantea.logger.Logger(level=logging.WARNING, filename=None)[source]#
Bases:
objectAn utility logger class which allows more tweaks than the standard python logging.
pantea.pytree module#
- class pantea.pytree.BaseJaxPytreeDataClass[source]#
Bases:
objectHere we specify exactly which components of a dataclass should be treated as static and which should be treated as dynamic (array) attributes.
The hash method then it would only based on the static attributes and used for JIT re-compilation if they change.
Warning
It must be noted that we have to define first dynamic values (as tuple) and then static values (as dict) in child class constructor (same for dataclasses).
Registering the class to jax pytree node is also required.
Must be used only for dataclasses.
See https://jax.readthedocs.io/en/latest/faq.html#how-to-use-jit-with-methods
pantea.types module#
- class pantea.types.DataType(FLOATX=<class 'jax.numpy.float64'>, INT=<class 'jax.numpy.int32'>, UINT=<class 'jax.numpy.uint32'>, INDEX=<class 'jax.numpy.int32'>)[source]#
Bases:
objectA configuration for array data type.
It is globally used as default dtype for arrays, indices, etc. User can modify any default dtype, for example, via setting the global floating point precision (FLOATX) to a single (float32) or double (float64).
- FLOATX#
alias of
float64
- INDEX#
alias of
int32
- INT#
alias of
int32
- UINT#
alias of
uint32
pantea.units module#
- class pantea.units.PhysicalUnits(BOLTZMANN_CONSTANT, TO_ANGSTROM, TO_PICO_SECOND, TO_BAR, TO_ELECTRON_VOLT, TO_ATOMIC_MASS, FROM_KCAL_PER_MOL=None)[source]#
Bases:
objectPhysical constants for units conversions.
- BOLTZMANN_CONSTANT: float#
- FROM_ANGSTROM: float = Field(name='FROM_KCAL_PER_MOL',type=<class 'float'>,default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)#
- FROM_ATOMIC_MASS: float = Field(name='FROM_KCAL_PER_MOL',type=<class 'float'>,default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)#
- FROM_BAR: float = Field(name='FROM_KCAL_PER_MOL',type=<class 'float'>,default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)#
- FROM_ELECTRON_VOLT: float = Field(name='FROM_KCAL_PER_MOL',type=<class 'float'>,default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)#
- FROM_FEMTO_SECOND: float = Field(name='FROM_KCAL_PER_MOL',type=<class 'float'>,default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)#
- FROM_GIGA_PASCAL: float = Field(name='FROM_KCAL_PER_MOL',type=<class 'float'>,default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)#
- FROM_KCAL_PER_MOL: float = None#
- FROM_KILO_BAR: float = Field(name='FROM_KCAL_PER_MOL',type=<class 'float'>,default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)#
- FROM_NANO_METER: float = Field(name='FROM_KCAL_PER_MOL',type=<class 'float'>,default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)#
- FROM_NANO_SECOND: float = Field(name='FROM_KCAL_PER_MOL',type=<class 'float'>,default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)#
- FROM_PICO_SECOND: float = Field(name='FROM_KCAL_PER_MOL',type=<class 'float'>,default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)#
- TO_ANGSTROM: float#
- TO_ATMOSPHERE: float = Field(name='FROM_KCAL_PER_MOL',type=<class 'float'>,default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)#
- TO_ATOMIC_MASS: float#
- TO_BAR: float#
- TO_ELECTRON_VOLT: float#
- TO_FEMTO_SECOND: float = Field(name='FROM_KCAL_PER_MOL',type=<class 'float'>,default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)#
- TO_GIGA_PASCAL: float = Field(name='FROM_KCAL_PER_MOL',type=<class 'float'>,default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)#
- TO_KCAL_PER_MOL: float = Field(name='FROM_KCAL_PER_MOL',type=<class 'float'>,default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)#
- TO_KILO_BAR: float = Field(name='FROM_KCAL_PER_MOL',type=<class 'float'>,default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)#
- TO_NANO_METER: float = Field(name='FROM_KCAL_PER_MOL',type=<class 'float'>,default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)#
- TO_NANO_SECOND: float = Field(name='FROM_KCAL_PER_MOL',type=<class 'float'>,default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)#
- TO_PASCAL: float = Field(name='FROM_KCAL_PER_MOL',type=<class 'float'>,default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=False,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)#
- TO_PICO_SECOND: float#
Module contents#
Pantea is an optimized Python library on basis of Google JAX that enables development of machine learning inter-atomic potentials for use in computational physics, chemistry, and material science. These potentials are necessary for conducting large-scale molecular dynamics simulations of complex materials with ab initio accuracy.