VisitModelIntraMap

class VisitModelIntraMap : public feasst::VisitModel

Intra-particle interactions are computed here. this does not include bonded interaction energies, but “inter”-like models such as lennard jones but between sites in the same particle (e.g., long chains).

In this implementation, a map for each particle type is precomputed. For a given pair of site indices, the map returns true if the intra interaction is included.

Public Functions

void precompute(Configuration *config)

Initialize include_map after VisitModel::precompute.

int include_map(const int particle_type, const int site1, const int site2)

Return 1 (true) if interactions between site1 and site2 in particle_type are included. Otherwise, return 0 (false);

Arguments

  • exclude_bonds: if true, exclude intra interactions between bonded sites (default: false).

  • exclude_angles: if true, exclude intra interactions between the two extremes of the angle sites (e.g, exclude AC of <ABC) (default: false).

  • exclude_dihedrals: if true, exclude intra interactions between the two extremes of the dihedral sites (e.g, exclude AD of <ABCD) (default: false).

  • dihedral_weight: if > 0, multiply intramolecular interactions for the 1-4 dihedral sites by this weight (default: -1). For example, CHARMM and OPLS may set this weight to 1/2. If exclude_dihedral is true, this weight cannot be > 0.

By default, all interactions are included except with self and there is no dihedral weight.