InverseVolumeRamp

class hoomd.variant.box.InverseVolumeRamp(initial_box, final_volume, t_start, t_ramp)

Bases: BoxVariant

Produce box arrays whose inverse volume changes linearly.

Parameters:
  • initial_box (hoomd.box.box_like) – The initial box.

  • final_volume (float) – The final volume of the box.

  • t_start (int) – The time step at the start of the ramp.

  • t_ramp (int) – The length of the ramp.

InverseVolumeRamp produces box arrays that correspond to a box whose inverse volume (i.e., number density for a constant number of particles) varies linearly. The shape of the box remains constant, that is, the ratios of the lengths of the box vectors (Ly/LxL_y / L_x and Lz/LxL_z / L_x) and the tilt factors (xyxy, xzxz, yzyz) remain constant. For initial_box with volume V0V_0 and final_volume VfV_f, InverseVolumeRamp returns arrays corresponding to boxes with volume V(t)V(t):

V(t)={V0t<tstart(λVf1+(1λ)V01)1tstartt<tstart+trampVfttstart+tramp\begin{split} V(t) &= \begin{cases} V_0 & t < t_{\mathrm{start}} \\ \left( \lambda V_f^{-1} + (1 - \lambda) V_0^{-1} \right)^{-1} & t_{\mathrm{start}} \leq t < t_{\mathrm{start}} + t_{\mathrm{ramp}} \\ V_f & t \geq t_{\mathrm{start}} + t_{\mathrm{ramp}} \end{cases} \end{split}

where λ=ttstarttramptstart\lambda = \frac{t - t_{\mathrm{start}}}{t_{\mathrm{ramp}} - t_{\mathrm{start}}}.


Members inherited from BoxVariant:

__call__()

Evaluate the function. Read more...


Members defined in InverseVolumeRamp:

final_volume

The volume of the final box.

Type:

float

t_start

The time step at the start of the ramp.

Type:

int

t_ramp

The length of the ramp.

Type:

int

__reduce__()

Reduce values to picklable format.

property initial_box

The initial box.

Type:

hoomd.Box