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 46 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 70 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 [15], [26].

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 [15]

Definition at line 98 of file oif_local_forces.hpp.

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

◆ cutoff()

double OifLocalForcesBond::cutoff ( ) const
inline

Definition at line 66 of file oif_local_forces.hpp.

Member Data Documentation

◆ A01

double OifLocalForcesBond::A01

Equilibrium surface of the first triangle.

Definition at line 58 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 60 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 62 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 56 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 50 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 52 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 64 of file oif_local_forces.hpp.

Referenced by calc_forces(), and OifLocalForcesBond().

◆ num

constexpr int OifLocalForcesBond::num = 3
staticconstexpr

Definition at line 68 of file oif_local_forces.hpp.

◆ phi0

double OifLocalForcesBond::phi0

Equilibrium angle between the two triangles.

Definition at line 54 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 48 of file oif_local_forces.hpp.

Referenced by calc_forces(), and OifLocalForcesBond().


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