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.
-
double compute(const ModelParams &model_params, const int group_index, Configuration *config, VisitModel *visitor)