System

class mlptrain.system.System(*args: Molecule, box: Box | Sequence[float] | None)

Bases: object

System with molecules but without any coordinates

__init__(*args: Molecule, box: Box | Sequence[float] | None)

System containing a set of molecules.

e.g. pd_1water = (Pd, water, box_size=[10, 10, 10], charge=2) for a system containing a Pd(II) ion and one water in a 1 nm^3 box

10 Å cubic box.

add_molecule(molecule: Molecule) None

Add a molecule to this system

add_molecules(molecule: Molecule, num: int = 1) None

Add multiple versions of a molecule to this sytem

Keyword Arguments:

num – Number of molecules of this type to add

property atoms: List[Atom]

Constituent atoms of this system

property charge: int

Get the total charge on the system

property configuration: Configuration

Single configuration for this system

property mult: int

Get the total spin multiplicity on the system

random_configuration(min_dist: float = 2.0, with_intra: bool = False, intra_sigma: float = 0.01) Configuration

Generate a random configuration of this system, where all the molecules in the system have been randomised

Parameters:

intra_sigma – Variance of the normal distribution used to displace each atom_pair_list of the molecules in the system

Return type:

(mlptrain.Configuration)

Raises:

(RuntimeError) – If all the molecules cannot be randomised while maintaining the required min. distance between them

random_configurations(num: int, **kwargs) ConfigurationSet

Generate a number of random configurations of this system

See also

mlptrain.system.System.random_configuration for keyword arguments

Return type:

(mlptrain.configurations.configuration_set.ConfigurationSet)

property unique_atomic_symbols: List[str]

Unique atomic symbols in this system