ModelOneBody

class ModelOneBody : public feasst::Model

Subclassed by feasst::ChargeSelf, feasst::ElectricField, feasst::ModelEmpty, feasst::ModelHardShape, feasst::ModelLJShape, feasst::ModelSquareWellShape, feasst::ModelTableCart1DHard, feasst::ModelTableCart2DIntegr, feasst::ModelTableCart3DIntegr

Public Functions

double compute(const ModelParams &model_params, const int group_index, Configuration *config, VisitModel *visitor)

Visit the model over the entire configuration.

double compute(const ModelParams &model_params, Configuration *config, VisitModel *visitor)

Same as above, except the group index is assumed to be zero (which is all particles and sites in the configuration).

double compute(const ModelParams &model_params, const Select &selection, const int group_index, Configuration *config, VisitModel *visitor)

Visit the model over a selection of the configuration. Optionally, restrict to groups of given index, which is only relevant for multibody models (e.g., two body and not one body).

double compute(const ModelParams &model_params, const Select &selection, Configuration *config, VisitModel *visitor)

Same as above, except the group index is assumed to be zero (which is all particles and sites in the configuration)

int num_body() const

Return the number of bodies in the model (e.g., two-body/pairwise = 2).

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

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

double energy_no_wrap(const Site &site, const Configuration &config, const ModelParams &model_params)

Same as above, but assume that the site position is already wrapped.