MD engine class peforms MD simulations in a given NVT/NPT ensemble.
Currently, the MD is done with YAFF/OpenMM
Module Contents
Classes
-
class IMLCV.base.MdEngine.StaticTrajectoryInfo[source]
-
property masses[source]
-
property thermostat[source]
-
property barostat[source]
-
_attr = ['timestep', 'r_cut', 'timecon_thermo', 'T', 'P', 'timecon_baro', 'write_step', 'equilibration',...[source]
-
_arr = ['atomic_numbers'][source]
-
timestep: float[source]
-
T: float[source]
-
timecon_thermo: float[source]
-
atomic_numbers: jax.Array[source]
-
r_cut: float | None[source]
-
P: float | None[source]
-
timecon_baro: float | None[source]
-
write_step: int = 100[source]
-
equilibration: float | None[source]
-
screen_log: int = 1000[source]
-
max_grad: float | None[source]
-
__post_init__()[source]
-
_save(hf: h5py.File)[source]
-
save(filename: str | Path)[source]
-
static _load(hf: h5py.File) → StaticTrajectoryInfo[source]
-
static load(filename) → StaticTrajectoryInfo[source]
-
class IMLCV.base.MdEngine.TrajectoryInfo[source]
-
property sp: IMLCV.base.CV.SystemParams[source]
-
property positions: Array | None[source]
-
property cell: Array | None[source]
-
property volume[source]
-
property charges: Array | None[source]
-
property e_pot: Array | None[source]
-
property e_pot_gpos: Array | None[source]
-
property e_pot_vtens: Array | None[source]
-
property e_bias: Array | None[source]
-
property e_bias_gpos: Array | None[source]
-
property e_bias_vtens: Array | None[source]
-
property cv: Array | None[source]
-
property T: Array | None[source]
-
property P: Array | None[source]
-
property err: Array | None[source]
-
property t: Array | None[source]
-
property shape[source]
-
property CV: CV | None[source]
-
_positions: jax.Array[source]
-
_cell: Array | None[source]
-
_charges: Array | None[source]
-
_e_pot: Array | None[source]
-
_e_pot_gpos: Array | None[source]
-
_e_pot_vtens: Array | None[source]
-
_e_bias: Array | None[source]
-
_e_bias_gpos: Array | None[source]
-
_e_bias_vtens: Array | None[source]
-
_cv: Array | None[source]
-
_T: Array | None[source]
-
_P: Array | None[source]
-
_err: Array | None[source]
-
_t: Array | None[source]
-
_items_scal = ['_t', '_e_pot', '_e_bias', '_T', '_P', '_err'][source]
-
_items_vec = ['_positions', '_cell', '_e_pot_gpos', '_e_pot_vtens', '_e_bias_gpos', '_e_bias_vtens',...[source]
-
_capacity: int[source]
-
_size: int[source]
-
__post_init__()[source]
-
__getitem__(slices)[source]
gets slice from indices. the output is truncated to the to include only items wihtin _size
-
__add__(ti: TrajectoryInfo)[source]
-
_expand_capacity()[source]
-
_shrink_capacity()[source]
-
save(filename: str | Path)[source]
-
_save(hf: h5py.File)[source]
-
static load(filename) → TrajectoryInfo[source]
-
static _load(hf: h5py.File)[source]
-
class IMLCV.base.MdEngine.MDEngine(bias: IMLCV.base.bias.Bias, energy: IMLCV.base.bias.Energy, static_trajectory_info: StaticTrajectoryInfo, trajectory_file=None, sp: SystemParams | None = None)[source]
Bases: abc.ABC
Base class for MD engine.
-
class YaffSys[source]
-
class YaffCell[source]
-
property rvecs[source]
-
property nvec[source]
-
property volume[source]
-
_ener: IMLCV.base.bias.Energy[source]
-
update_rvecs(rvecs)[source]
-
property numbers[source]
-
property masses[source]
-
property charges[source]
-
property cell[source]
-
property pos[source]
-
property natom[source]
-
_ener: IMLCV.base.bias.Energy[source]
-
_tic: StaticTrajectoryInfo[source]
-
__post_init__()[source]
-
property sp: IMLCV.base.CV.SystemParams[source]
-
property nl: NeighbourList | None[source]
-
property yaff_system: MDEngine[source]
-
keys = ['bias', 'energy', 'static_trajectory_info', 'trajectory_file'][source]
-
save(file)[source]
-
__getstate__()[source]
-
__setstate__(state)[source]
-
static load(file, **kwargs) → MDEngine[source]
-
new_bias(bias: IMLCV.base.bias.Bias, **kwargs) → MDEngine[source]
-
run(steps)[source]
run the integrator for a given number of steps.
- Parameters:
steps – number of MD steps
-
abstract _run(steps)[source]
-
get_trajectory() → TrajectoryInfo[source]
-
save_step(T=None, P=None, t=None, err=None)[source]
-
get_energy(gpos: bool = False, vtens: bool = False) → IMLCV.base.bias.EnergyResult[source]
-
get_bias(gpos: bool = False, vtens: bool = False) → tuple[IMLCV.base.CV.CV, IMLCV.base.bias.EnergyResult][source]