class ModelLJShape : public feasst::ModelOneBody, public feasst::ShapedEntity

Note that the input shape of this model represents the shape of the cavity.

\(U_{LJ}(r) = \epsilon \left( \frac{\sigma}{r + \Delta} \right)^\alpha\)

\(U_{LJ}^{CS}(r) = \left\{ \begin{array}{lr} U_{LJ}(r) - U_{LJ}(r_c) & : r < r_c \\ 0 & : r \ge r_c \end{array} \right. \)

where \(r\) is the nearest distance of the site to the confinement. Note that the potential is cut and shifted to zero at the cut off distance, \(r_c\).

Public Functions

ModelLJShape(std::shared_ptr<Shape> shape, argtype args = argtype())


  • alpha: set the exponent (default: 3.).

  • delta: set the delta parameter (default: 0.).

  • disable_shift: disable shifting of the potential to zero (default: false).

void precompute(const ModelParams &existing)

Precompute the shift factor for optimization.

double energy(const Position &wrapped_site, const Site &site, const Configuration &config, const ModelParams &model_params)

Return the energy given the wrapped coordinates, site, config and params.

void serialize(std::ostream &ostr) const

Output a serialized version of the existing model.

class ModelLJShapeEnergyAtCutoff : public feasst::ModelParam