ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
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 [25].
 

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 [25].

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 [21] and [25].

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 [21] and [25]. 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: