ModelLJShape

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

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.

double sigma(const int site_type, const ModelParams &params)

Return the sigma (in case optionally mixed)

double epsilon(const int site_type, const ModelParams &params)

Return the epsilon (in case optionally mixed)

void serialize(std::ostream &ostr) const

Output a serialized version of the existing model.

Arguments

  • ShapeFile arguments.

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

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

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

  • wall_sigma: If != 0 (default: 0), use Lorentz-Berthelot mixing rules between this wall sigma and the fluid sigma. Otherwise, the sigma for each site type may be set with the argument Potential::sigma[i].

  • wall_epsilon: If != 0 (default: 0), use a slighly modified version of Lorentz-Berthelot mixing rules between this wall epsilon and the fluid. To account for negative epsilon (attractions), the mixing rule is sign(wall_epsilon)sqrt(|wall_epsilon|*fluid_epsilon). Otherwise, the epsilon for each site type may be set with the argument Potential::epsilon[i].

class ModelLJShapeEnergyAtCutoff : public feasst::ModelParam