Processing math: 100%
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
IBMTribend Struct Reference

Parameters for IBM tribend. More...

#include <ibm_tribend.hpp>

Public Member Functions

double cutoff () const
 
void initialize (BoxGeometry const &box_geo, CellStructure const &cell_structure)
 Set the IBM Tribend parameters.
 
 IBMTribend (int ind1, int ind2, int ind3, int ind4, double kb, bool flat)
 
std::tuple< Utils::Vector3d, Utils::Vector3d, Utils::Vector3d, Utils::Vector3dcalc_forces (BoxGeometry const &box_geo, Particle const &p1, Particle const &p2, Particle const &p3, Particle const &p4) const
 Calculate the forces The equations can be found in Appendix C of [28].
 

Public Attributes

double kb
 Bare bending modulus.
 
double theta0
 Reference angle.
 
std::tuple< int, int, int, int > p_ids
 Particle ids.
 
bool flat
 
bool is_initialized
 

Static Public Attributes

static constexpr int num = 3
 

Detailed Description

Parameters for IBM tribend.

Definition at line 33 of file ibm_tribend.hpp.

Constructor & Destructor Documentation

◆ IBMTribend()

IBMTribend::IBMTribend ( int  ind1,
int  ind2,
int  ind3,
int  ind4,
double  kb,
bool  flat 
)
inline

Definition at line 64 of file ibm_tribend.hpp.

Member Function Documentation

◆ calc_forces()

std::tuple< Utils::Vector3d, Utils::Vector3d, Utils::Vector3d, Utils::Vector3d > IBMTribend::calc_forces ( BoxGeometry const &  box_geo,
Particle const &  p1,
Particle const &  p2,
Particle const &  p3,
Particle const &  p4 
) const

Calculate the forces The equations can be found in Appendix C of [28].

Returns
forces on p1, p2, p3, p4

Definition at line 34 of file ibm_tribend.cpp.

References BoxGeometry::get_mi_vector(), kb, Particle::pos(), theta0, and vector_product().

◆ cutoff()

double IBMTribend::cutoff ( ) const
inline

Definition at line 53 of file ibm_tribend.hpp.

◆ initialize()

void IBMTribend::initialize ( BoxGeometry const &  box_geo,
CellStructure const &  cell_structure 
)

Set the IBM Tribend parameters.

Also calculate and store the reference state. See details in [22] and [28].

Definition at line 96 of file ibm_tribend.cpp.

References flat, get_ibm_particle_position(), BoxGeometry::get_mi_vector(), is_initialized, p_ids, theta0, and vector_product().

Member Data Documentation

◆ flat

bool IBMTribend::flat

Definition at line 50 of file ibm_tribend.hpp.

Referenced by initialize().

◆ is_initialized

bool IBMTribend::is_initialized

Definition at line 51 of file ibm_tribend.hpp.

Referenced by initialize().

◆ kb

double IBMTribend::kb

Bare bending modulus.

If triangle pairs appear only once, the total bending force should get a factor 2. For the numerical model, a factor \sqrt(3) should be added, see [22] and [28]. This is an approximation, it holds strictly only for a sphere

Definition at line 42 of file ibm_tribend.hpp.

Referenced by calc_forces().

◆ num

constexpr int IBMTribend::num = 3
staticconstexpr

Definition at line 55 of file ibm_tribend.hpp.

◆ p_ids

std::tuple<int, int, int, int> IBMTribend::p_ids

Particle ids.

Definition at line 48 of file ibm_tribend.hpp.

Referenced by initialize().

◆ theta0

double IBMTribend::theta0

Reference angle.

Definition at line 45 of file ibm_tribend.hpp.

Referenced by calc_forces(), and initialize().


The documentation for this struct was generated from the following files: