mm
Molecular mechanics systems and force-field parameter assignment.
import mlx_atomistic.mm
Classes
Section titled “Classes”AngleParameter
Section titled “AngleParameter”class AngleParameter def __init__(atom_types: tuple[str, str, str], k: float, angle: float)Harmonic angle parameter for a reversible atom-type triplet.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
atom_types | tuple[str, str, str] | ||
k | float | ||
angle | float |
AtomType
Section titled “AtomType”class AtomType def __init__(name: str, mass: float)Atom type definition.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
name | str | ||
mass | float |
BondParameter
Section titled “BondParameter”class BondParameter def __init__(atom_types: tuple[str, str], k: float, length: float)Harmonic bond parameter for an unordered atom-type pair.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
atom_types | tuple[str, str] | ||
k | float | ||
length | float |
DihedralParameter
Section titled “DihedralParameter”class DihedralParameter def __init__(atom_types: tuple[str, str, str, str], k: float, periodicity: float, phase: float = 0.0)Periodic dihedral parameter for a reversible atom-type quartet.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
atom_types | tuple[str, str, str, str] | ||
k | float | ||
periodicity | float | ||
phase | float | 0.0 |
ForceField
Section titled “ForceField”class ForceField def __init__(atom_types: Sequence[AtomType], nonbonded: Sequence[NonbondedParameter], bonds: Sequence[BondParameter] = (), angles: Sequence[AngleParameter] = (), dihedrals: Sequence[DihedralParameter] = (), impropers: Sequence[ImproperParameter] = (), lj_one_four_scale: float = 1.0, coulomb_one_four_scale: float = 1.0, cutoff: float | None = 2.5, lj_shift: bool = True, coulomb_shift: bool = False, switch_distance: float | None = None, coulomb_constant: float = 1.0)Small programmatic force-field parameter set.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
atom_types | Sequence[AtomType] | ||
nonbonded | Sequence[NonbondedParameter] | ||
bonds | Sequence[BondParameter] | () | |
angles | Sequence[AngleParameter] | () | |
dihedrals | Sequence[DihedralParameter] | () | |
impropers | Sequence[ImproperParameter] | () | |
lj_one_four_scale | float | 1.0 | |
coulomb_one_four_scale | float | 1.0 | |
cutoff | float | None | 2.5 | |
lj_shift | bool | True | |
coulomb_shift | bool | False | |
switch_distance | float | None | None | |
coulomb_constant | float | 1.0 |
Properties
atom_type_massesdict[str, float]— Atom-type masses by type name.
Methods
build_force_terms
Section titled “build_force_terms”def build_force_terms(system: MMSystem) -> listBuild force terms for a typed molecular mechanics system.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
system | MMSystem |
Returns
list
masses_for
Section titled “masses_for”def masses_for(atom_types: Sequence[str]) -> tuple[float, ...]Return masses for atom type names.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
atom_types | Sequence[str] |
Returns
tuple[float, ...]
ImproperParameter
Section titled “ImproperParameter”class ImproperParameter(DihedralParameter) def __init__(atom_types: tuple[str, str, str, str], k: float, periodicity: float, phase: float = 0.0)Periodic improper torsion parameter for a reversible atom-type quartet.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
atom_types | tuple[str, str, str, str] | ||
k | float | ||
periodicity | float | ||
phase | float | 0.0 |
MMSystem
Section titled “MMSystem”class MMSystem def __init__(symbols: Sequence[str], atom_names: Sequence[str], atom_types: Sequence[str], masses: object, charges: object | None, positions: object, topology: Topology, velocities: object | None = None, cell: Cell | None = None, virtual_sites: object | None = None)A typed molecular mechanics system.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
symbols | Sequence[str] | ||
atom_names | Sequence[str] | ||
atom_types | Sequence[str] | ||
masses | object | ||
charges | object | None | ||
positions | object | ||
topology | Topology | ||
velocities | object | None | None | |
cell | Cell | None | None | |
virtual_sites | object | None | None |
Properties
atom_countint— Number of atoms.
Methods
from_sequences
Section titled “from_sequences”def from_sequences(*, symbols: Sequence[str], positions: Sequence[Sequence[float]], topology: Topology, atom_types: Sequence[str], atom_names: Sequence[str] | None = None, masses: Sequence[float] | None = None, charges: Sequence[float] | None = None, velocities: Sequence[Sequence[float]] | None = None, cell: Cell | None = None, atom_type_masses: Mapping[str, float] | None = None, virtual_sites: object | None = None) -> MMSystemCreate an MM system from Python data.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
symbols | Sequence[str] | ||
positions | Sequence[Sequence[float]] | ||
topology | Topology | ||
atom_types | Sequence[str] | ||
atom_names | Sequence[str] | None | None | |
masses | Sequence[float] | None | None | |
charges | Sequence[float] | None | None | |
velocities | Sequence[Sequence[float]] | None | None | |
cell | Cell | None | None | |
atom_type_masses | Mapping[str, float] | None | None | |
virtual_sites | object | None | None |
Returns
MMSystem
NonbondedParameter
Section titled “NonbondedParameter”class NonbondedParameter def __init__(atom_type: str, sigma: float, epsilon: float)Per-type nonbonded parameters.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
atom_type | str | ||
sigma | float | ||
epsilon | float |