pantea package#

Subpackages#

Submodules#

pantea.config module#

pantea.logger module#

class pantea.logger.Logger(level=logging.WARNING, filename=None)[source]#

Bases: object

An utility logger class which allows more tweaks than the standard python logging.

debug(msg, *args, **kwargs)[source]#
Return type

None

error(msg, exception=None, *args, **kwargs)[source]#
Return type

None

info(msg, *args, **kwargs)[source]#
Return type

None

set_level(level)[source]#

Set the console logging level.

Parameters

level – INFO, WARNING, ERROR, and DEBUG

Return type

None

warn(msg, *args, **kwargs)[source]#
Return type

None

warning(msg, *args, **kwargs)[source]#
Return type

None

class pantea.logger.LoggingContextManager(level)[source]#

Bases: object

This utility class allows to monitor logging messages with different level (e.g. INFO or DEBUG) for a particular section of the scripts.

pantea.logger.set_logging_level(level)[source]#

Set the global logging level

Parameters

level (int (logging)) – INFO, WARNING, ERROR, and DEBUG

Return type

None

pantea.pytree module#

class pantea.pytree.BaseJaxPytreeDataClass[source]#

Bases: object

Here 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.pytree.register_jax_pytree_node(cls)[source]#

Register the input class as internal JAX pytree node.

Return type

None

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: object

A 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: object

Physical 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.