Jagla

class Jagla : public feasst::ModelTwoBody

The Jagla model,[1] but with the variables renamed as follows: \(\epsilon_1 \rightarrow \gamma\), \(\epsilon_2 \rightarrow \epsilon\), \(\lambda_1 \rightarrow \lambda\), \(\lambda_2 \rightarrow r_c\).

\[\begin{split}U(r) = \left\{ \begin{array}{ll} \infty & : r < \sigma, \\ \frac{\gamma(\lambda - r)-\epsilon(r-\sigma)}{\lambda-\sigma} & : \sigma \le r \le \lambda, \\ -\frac{\epsilon(r_c - r)}{r_c-\lambda} & : \lambda \le r \le r_c, \\ 0 & : r \ge r_c. \end{array} \right.\end{split}\]

The continuous linear ramp may be converted into a number of discrete steps to enable simulations with discontinuous molecular dynamics. For example, see Fig. 1(d) of de Haro et al.[2]

References:

Arguments

  • num_discretized_steps: convert the continuous ramp potential into a number of dicontinuous, discretized steps. If 0, then use the linear ramp potential (default: 0).

Public Functions

double num_discretized_steps() const

Return the argument num_discretized_steps in read-only fashion.

void precompute(const ModelParams &existing)

Precompute model parameters based on existing model parameters.

void serialize(std::ostream &ostr) const

Output a serialized version of the existing model.