ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
bonded_interaction_data.hpp File Reference

Data structures for bonded interactions. More...

#include "angle_common.hpp"
#include "angle_cosine.hpp"
#include "angle_cossquare.hpp"
#include "angle_harmonic.hpp"
#include "bonded_coulomb.hpp"
#include "bonded_coulomb_sr.hpp"
#include "bonded_tab.hpp"
#include "dihedral.hpp"
#include "fene.hpp"
#include "harmonic.hpp"
#include "immersed_boundary/ibm_tribend.hpp"
#include "immersed_boundary/ibm_triel.hpp"
#include "immersed_boundary/ibm_volcons.hpp"
#include "object-in-fluid/oif_global_forces_params.hpp"
#include "object-in-fluid/oif_local_forces.hpp"
#include "quartic.hpp"
#include "rigid_bond.hpp"
#include "thermalized_bond.hpp"
#include "TabulatedPotential.hpp"
#include <boost/serialization/access.hpp>
#include <boost/serialization/variant.hpp>
#include <boost/variant.hpp>
#include <algorithm>
#include <cassert>
#include <cmath>
#include <stdexcept>
#include <unordered_map>
#include <vector>
+ Include dependency graph for bonded_interaction_data.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  NoneBond
 Interaction type for unused bonded interaction slots. More...
 
struct  VirtualBond
 Interaction type for virtual bonds. More...
 
class  BondNumPartners
 Visitor to get the number of bound partners from the bond parameter variant. More...
 
class  BondedInteractionsMap
 

Typedefs

using Bonded_IA_Parameters = boost::variant< NoneBond, FeneBond, HarmonicBond, QuarticBond, BondedCoulomb, BondedCoulombSR, AngleHarmonicBond, AngleCosineBond, AngleCossquareBond, DihedralBond, TabulatedDistanceBond, TabulatedAngleBond, TabulatedDihedralBond, ThermalizedBond, RigidBond, IBMTriel, IBMVolCons, IBMTribend, OifGlobalForcesBond, OifLocalForcesBond, VirtualBond >
 Variant in which to store the parameters of an individual bonded interaction.
 

Functions

double maximal_cutoff_bonded ()
 Calculate the maximal cutoff of bonded interactions, required to determine the cell size for communication.
 
int number_of_partners (Bonded_IA_Parameters const &iaparams)
 Return the number of bonded partners for the specified bond.
 

Variables

static constexpr double BONDED_INACTIVE_CUTOFF = -1.
 
BondedInteractionsMap bonded_ia_params
 Field containing the parameters of the bonded ia types.
 

Detailed Description

Data structures for bonded interactions.

For more information on how to add new interactions, see Adding new interactions.

Definition in file bonded_interaction_data.hpp.

Typedef Documentation

◆ Bonded_IA_Parameters

Function Documentation

◆ maximal_cutoff_bonded()

double maximal_cutoff_bonded ( )

Calculate the maximal cutoff of bonded interactions, required to determine the cell size for communication.

Bond angle and dihedral potentials do not contain a cutoff intrinsically. The cutoff for these potentials depends on the bond length potentials (it is assumed that particles participating in a bond angle or dihedral potential are bound to each other by some bond length potential). For bond angle potentials nothing has to be done. For dihedral potentials the cutoff is set to twice the maximal cutoff because the particle in which the bond is stored is only bonded to the first two partners, one of which has an additional bond to the third partner.

Definition at line 43 of file bonded_interaction_data.cpp.

References BondedInteractionsMap::begin(), bonded_ia_params, BONDED_INACTIVE_CUTOFF, and BondedInteractionsMap::end().

Referenced by System::System::calculate_energy(), System::System::calculate_forces(), System::System::calculate_pressure(), ScriptInterface::CellSystem::CellSystem::CellSystem(), and System::System::maximal_cutoff().

◆ number_of_partners()

int number_of_partners ( Bonded_IA_Parameters const &  iaparams)
inline

Return the number of bonded partners for the specified bond.

Definition at line 179 of file bonded_interaction_data.hpp.

Referenced by calc_bonded_pressure_tensor(), ScriptInterface::Interactions::BondedInteraction::do_call_method(), Mpiio::dump_info(), and get_bond_num_partners().

Variable Documentation

◆ bonded_ia_params

◆ BONDED_INACTIVE_CUTOFF

constexpr double BONDED_INACTIVE_CUTOFF = -1.
staticconstexpr