class ModelTwoBodyFactory : public feasst::ModelTwoBody

Contains a collection of two body models. This allows the visitor to consider multiple two body models for each pairwise interaction.

Subclassed by feasst::ModelExpanded

Public Functions

void add(std::vector<std::shared_ptr<ModelTwoBody>> models)

Add a vector of two body models.

void add(std::shared_ptr<ModelTwoBody> model)

Add a two body model.

int num() const

Return the number of two body models.

const Model *model(const int index) const

Return a two body model by index.

void precompute(const ModelParams &existing)

Precompute model parameters based on existing model parameters.

void serialize(std::ostream &ostr) const

Output a serialized version of the existing model.


  • model[i]: add the i-th model. The “[i]” is to be substituted for an integer 0, 1, 2, …

  • model_file: if not empty, file name that lists the ModelTwoBody (default: empty). The first line is simply ModelTwoBodyFactory. The second line is empty. The remaining lines are for creating each ModelTwoBody.