ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
OifLocalForcesBond Struct Reference

Parameters for OIF local forces. More...

#include <oif_local_forces.hpp>

Public Member Functions

double cutoff () const
 
 OifLocalForcesBond (double r0, double ks, double kslin, double phi0, double kb, double A01, double A02, double kal, double kvisc)
 
std::tuple< Utils::Vector3d, Utils::Vector3d, Utils::Vector3d, Utils::Vector3dcalc_forces (BoxGeometry const &box_geo, Particle const &p2, Particle const &p1, Particle const &p3, Particle const &p4) const
 Compute the OIF local forces.
 

Public Attributes

double r0
 Equilibrium bond length of triangle edges.
 
double ks
 Non-linear stretching coefficient of triangle edges.
 
double kslin
 Linear stretching coefficient of triangle edges.
 
double phi0
 Equilibrium angle between the two triangles.
 
double kb
 Bending coefficient for the angle between the two triangles.
 
double A01
 Equilibrium surface of the first triangle.
 
double A02
 Equilibrium surface of the second triangle.
 
double kal
 Stretching coefficient of a triangle surface.
 
double kvisc
 Viscous coefficient of the triangle vertices.
 

Static Public Attributes

static constexpr int num = 3
 

Detailed Description

Parameters for OIF local forces.

Characterize the deformation of two triangles sharing an edge.

Definition at line 43 of file oif_local_forces.hpp.

Constructor & Destructor Documentation

◆ OifLocalForcesBond()

OifLocalForcesBond::OifLocalForcesBond ( double  r0,
double  ks,
double  kslin,
double  phi0,
double  kb,
double  A01,
double  A02,
double  kal,
double  kvisc 
)
inline

Definition at line 67 of file oif_local_forces.hpp.

References A01, A02, kal, kb, ks, kslin, kvisc, phi0, and r0.

Member Function Documentation

◆ calc_forces()

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

Compute the OIF local forces.

See [14], [23].

Parameters
box_geoBox geometry.
p2Particle of triangle 1.
p1,p3Particles common to triangle 1 and triangle 2.
p4Particle of triangle 2.
Returns
forces on p1, p2, p3, p4

For non-linear stretching, see eq. (19) in [14]

Definition at line 95 of file oif_local_forces.hpp.

References A01, A02, Utils::angle_btw_triangles(), Utils::area_triangle(), BoxGeometry::get_mi_vector(), Utils::get_n_triangle(), Particle::image_box(), kal, kb, ks, kslin, kvisc, Utils::Vector< T, N >::norm(), phi0, Particle::pos(), r0, TINY_OIF_ELASTICITY_COEFFICIENT, BoxGeometry::unfolded_position(), and Particle::v().

◆ cutoff()

double OifLocalForcesBond::cutoff ( ) const
inline

Definition at line 63 of file oif_local_forces.hpp.

Member Data Documentation

◆ A01

double OifLocalForcesBond::A01

Equilibrium surface of the first triangle.

Definition at line 55 of file oif_local_forces.hpp.

Referenced by calc_forces(), and OifLocalForcesBond().

◆ A02

double OifLocalForcesBond::A02

Equilibrium surface of the second triangle.

Definition at line 57 of file oif_local_forces.hpp.

Referenced by calc_forces(), and OifLocalForcesBond().

◆ kal

double OifLocalForcesBond::kal

Stretching coefficient of a triangle surface.

Definition at line 59 of file oif_local_forces.hpp.

Referenced by calc_forces(), and OifLocalForcesBond().

◆ kb

double OifLocalForcesBond::kb

Bending coefficient for the angle between the two triangles.

Definition at line 53 of file oif_local_forces.hpp.

Referenced by calc_forces(), and OifLocalForcesBond().

◆ ks

double OifLocalForcesBond::ks

Non-linear stretching coefficient of triangle edges.

Definition at line 47 of file oif_local_forces.hpp.

Referenced by calc_forces(), and OifLocalForcesBond().

◆ kslin

double OifLocalForcesBond::kslin

Linear stretching coefficient of triangle edges.

Definition at line 49 of file oif_local_forces.hpp.

Referenced by calc_forces(), and OifLocalForcesBond().

◆ kvisc

double OifLocalForcesBond::kvisc

Viscous coefficient of the triangle vertices.

Definition at line 61 of file oif_local_forces.hpp.

Referenced by calc_forces(), and OifLocalForcesBond().

◆ num

constexpr int OifLocalForcesBond::num = 3
staticconstexpr

Definition at line 65 of file oif_local_forces.hpp.

◆ phi0

double OifLocalForcesBond::phi0

Equilibrium angle between the two triangles.

Definition at line 51 of file oif_local_forces.hpp.

Referenced by calc_forces(), and OifLocalForcesBond().

◆ r0

double OifLocalForcesBond::r0

Equilibrium bond length of triangle edges.

Definition at line 45 of file oif_local_forces.hpp.

Referenced by calc_forces(), and OifLocalForcesBond().


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