Model
-
class Model
Subclassed by feasst::ModelOneBody, feasst::ModelThreeBody, feasst::ModelTwoBody
Public Functions
-
virtual double compute(const ModelParams &model_params, const int group_index, Configuration *config, VisitModel *visitor) = 0
Visit the model over the entire configuration.
-
virtual double compute(const ModelParams &model_params, Configuration *config, VisitModel *visitor) = 0
Same as above, except the group index is assumed to be zero (which is all particles and sites in the configuration).
-
virtual double compute(const ModelParams &model_params, const Select &selection, const int group_index, Configuration *config, VisitModel *visitor) = 0
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).
-
virtual double compute(const ModelParams &model_params, const Select &selection, Configuration *config, VisitModel *visitor) = 0
Same as above, except the group index is assumed to be zero (which is all particles and sites in the configuration)
-
virtual int num_body() const = 0
Return the number of bodies in the model (e.g., two-body/pairwise = 2).
-
virtual void precompute(const ModelParams &existing)
Precompute model parameters based on existing model parameters.
-
int epsilon_index() const
Return the ModelParams index of epsilon.
-
int sigma_index() const
Return the ModelParams index of sigma.
-
int cutoff_index() const
Return the ModelParams index of cutoff.
-
int charge_index() const
Return the ModelParams index of charge.
-
virtual void serialize(std::ostream &ostr) const
Output a serialized version of the existing model.
-
virtual double compute(const ModelParams &model_params, const int group_index, Configuration *config, VisitModel *visitor) = 0