PeriDEM 0.2.0
PeriDEM -- Peridynamics-based high-fidelity model for granular media
Loading...
Searching...
No Matches
inp::ContactPairDeck Struct Reference

Structure to read and store particle-particle contact related input data. More...

#include <contactDeck.h>

Collaboration diagram for inp::ContactPairDeck:

Public Member Functions

 ContactPairDeck ()
 Constructor.
 
 ContactPairDeck (const ContactPairDeck &cd)
 Copy constructor.
 
std::string printStr (int nt=0, int lvl=0) const
 Returns the string containing printable information about the object.
 
void print (int nt=0, int lvl=0) const
 Prints the information about the object.
 
double getKn (const double &v1, const double &v2) const
 Get contact force factor.
 
double getKn (const double &v1, const double &v2)
 Get contact force factor.
 
double getWKn (const double &v) const
 Get contact force factor for particle-wall.
 
double getWKn (const double &v)
 Get contact force factor for particle-wall.
 
double getBetan (const double &v1, const double &v2) const
 Get damping force factor for particle-wall.
 
double getBetan (const double &v1, const double &v2)
 Get damping force factor for particle-wall.
 
double getWBetan (const double &v) const
 Get damping force factor for particle-wall.
 
double getWBetan (const double &v)
 Get damping force factor for particle-wall.
 

Data Fields

double d_contactR
 contact radius
 
bool d_computeContactR
 Flag that indicates whether contact radius is to be computed.
 
double d_vMax
 parameters for normal force
 
double d_deltaMax
 parameters for normal force
 
double d_Kn
 parameters for normal force
 
double d_eps
 parameters for normal damping force
 
double d_betan
 parameters for normal damping force
 
double d_mu
 parameters for frictional force
 
bool d_dampingOn
 parameters for frictional force
 
bool d_frictionOn
 parameters for frictional force
 
double d_KnFactor
 parameters for frictional force
 
double d_betanFactor
 parameters for frictional force
 
double d_kappa
 parameters for frictional force
 

Detailed Description

Structure to read and store particle-particle contact related input data.

Definition at line 23 of file contactDeck.h.

Constructor & Destructor Documentation

◆ ContactPairDeck() [1/2]

inp::ContactPairDeck::ContactPairDeck ( )
inline

Constructor.

Definition at line 57 of file contactDeck.h.

58 : d_contactR(0.), d_computeContactR(true), d_vMax(0.), d_deltaMax(0.),
59 d_Kn(0.), d_eps(0.), d_betan(0.), d_mu(0.), d_dampingOn(true),
60 d_frictionOn(true), d_KnFactor(1.), d_betanFactor(1.), d_kappa(1.) {};
double d_contactR
contact radius
Definition contactDeck.h:26
bool d_frictionOn
parameters for frictional force
Definition contactDeck.h:48
double d_eps
parameters for normal damping force
Definition contactDeck.h:40
bool d_computeContactR
Flag that indicates whether contact radius is to be computed.
Definition contactDeck.h:29
double d_kappa
parameters for frictional force
Definition contactDeck.h:51
double d_betan
parameters for normal damping force
Definition contactDeck.h:41
double d_betanFactor
parameters for frictional force
Definition contactDeck.h:50
double d_vMax
parameters for normal force
Definition contactDeck.h:33
double d_KnFactor
parameters for frictional force
Definition contactDeck.h:49
double d_Kn
parameters for normal force
Definition contactDeck.h:35
double d_mu
parameters for frictional force
Definition contactDeck.h:46
double d_deltaMax
parameters for normal force
Definition contactDeck.h:34
bool d_dampingOn
parameters for frictional force
Definition contactDeck.h:47

◆ ContactPairDeck() [2/2]

inp::ContactPairDeck::ContactPairDeck ( const ContactPairDeck cd)
inline

Copy constructor.

Parameters
cdAnother ContactPairDeck object

Definition at line 67 of file contactDeck.h.

68 : d_contactR(cd.d_contactR), d_computeContactR(cd.d_computeContactR),
69 d_vMax(cd.d_vMax), d_deltaMax(cd.d_deltaMax),
70 d_Kn(cd.d_Kn), d_eps(cd.d_eps), d_betan(cd.d_betan),
71 d_mu(cd.d_mu), d_dampingOn(cd.d_dampingOn),
72 d_frictionOn(cd.d_frictionOn), d_KnFactor(cd.d_KnFactor),
73 d_betanFactor(cd.d_betanFactor), d_kappa(cd.d_kappa){};

Member Function Documentation

◆ getBetan() [1/2]

double inp::ContactPairDeck::getBetan ( const double &  v1,
const double &  v2 
)
inline

Get damping force factor for particle-wall.

Parameters
v1volume of node 1
v2volume of node 2
Returns
factor Damping force factor

Definition at line 156 of file contactDeck.h.

156 {
157
158 return d_betan * std::sqrt((v1 * v2) / (v1 + v2));
159 }

References d_betan.

◆ getBetan() [2/2]

double inp::ContactPairDeck::getBetan ( const double &  v1,
const double &  v2 
) const
inline

Get damping force factor for particle-wall.

Parameters
v1volume of node 1
v2volume of node 2
Returns
factor Damping force factor

Definition at line 150 of file contactDeck.h.

150 {
151
152 return d_betan * std::sqrt((v1 * v2) / (v1 + v2));
153 }

References d_betan.

◆ getKn() [1/2]

double inp::ContactPairDeck::getKn ( const double &  v1,
const double &  v2 
)
inline

Get contact force factor.

Parameters
v1volume of node 1
v2volume of node 2
Returns
factor Contact force factor

Definition at line 121 of file contactDeck.h.

121 {
122
123 return d_Kn * (v1 * v2) / (v1 + v2);
124 }

References d_Kn.

◆ getKn() [2/2]

double inp::ContactPairDeck::getKn ( const double &  v1,
const double &  v2 
) const
inline

Get contact force factor.

Parameters
v1volume of node 1
v2volume of node 2
Returns
factor Contact force factor

Definition at line 115 of file contactDeck.h.

115 {
116
117 return d_Kn * (v1 * v2) / (v1 + v2);
118 }

References d_Kn.

◆ getWBetan() [1/2]

double inp::ContactPairDeck::getWBetan ( const double &  v)
inline

Get damping force factor for particle-wall.

Parameters
vvolume of node in particle
Returns
factor Damping force factor

Definition at line 173 of file contactDeck.h.

173 {
174
175 return d_betan * std::sqrt(v);
176 }

References d_betan.

◆ getWBetan() [2/2]

double inp::ContactPairDeck::getWBetan ( const double &  v) const
inline

Get damping force factor for particle-wall.

Parameters
vvolume of node in particle
Returns
factor Damping force factor

Definition at line 167 of file contactDeck.h.

167 {
168
169 return d_betan * std::sqrt(v);
170 }

References d_betan.

◆ getWKn() [1/2]

double inp::ContactPairDeck::getWKn ( const double &  v)
inline

Get contact force factor for particle-wall.

Parameters
vvolume of node in particle
Returns
factor Contact force factor

Definition at line 138 of file contactDeck.h.

138 {
139
140 return d_Kn * v;
141 }

References d_Kn.

◆ getWKn() [2/2]

double inp::ContactPairDeck::getWKn ( const double &  v) const
inline

Get contact force factor for particle-wall.

Parameters
vvolume of node in particle
Returns
factor Contact force factor

Definition at line 132 of file contactDeck.h.

132 {
133
134 return d_Kn * v;
135 }

References d_Kn.

◆ print()

void inp::ContactPairDeck::print ( int  nt = 0,
int  lvl = 0 
) const
inline

Prints the information about the object.

Parameters
ntNumber of tabs to append before printing
lvlInformation level (higher means more information)

Definition at line 106 of file contactDeck.h.

106{ std::cout << printStr(nt, lvl); }
std::string printStr(int nt=0, int lvl=0) const
Returns the string containing printable information about the object.
Definition contactDeck.h:82

References printStr().

Here is the call graph for this function:

◆ printStr()

std::string inp::ContactPairDeck::printStr ( int  nt = 0,
int  lvl = 0 
) const
inline

Returns the string containing printable information about the object.

Parameters
ntNumber of tabs to append before printing
lvlInformation level (higher means more information)
Returns
string String containing printable information about the object

Definition at line 82 of file contactDeck.h.

82 {
83
84 auto tabS = util::io::getTabS(nt);
85 std::ostringstream oss;
86 oss << tabS << "------- ContactPairDeck --------" << std::endl << std::endl;
87 oss << tabS << "Contact radius = " << d_contactR << std::endl;
88 oss << tabS << "v_max = " << d_vMax << ", Delta_max = " << d_deltaMax
89 << ", Kn = " << d_Kn << std::endl;
90 oss << tabS << "epsilon = " << d_eps << ", Beta_n = " << d_betan << std::endl;
91 oss << tabS << "Friction coefficient = " << d_mu << std::endl;
92 oss << tabS << "Damping status = " << d_dampingOn << std::endl;
93 oss << tabS << "Kn factor = " << d_KnFactor
94 << ", Beta n factor = " << d_betanFactor << std::endl;
95 oss << tabS << "Bulk modulus = " << d_kappa << std::endl;
96 oss << tabS << std::endl;
97 return oss.str();
98 }
std::string getTabS(int nt)
Returns tab spaces of given size.
Definition io.h:40

References d_betan, d_betanFactor, d_contactR, d_dampingOn, d_deltaMax, d_eps, d_kappa, d_Kn, d_KnFactor, d_mu, d_vMax, and util::io::getTabS().

Referenced by print(), inp::ContactDeck::printStr(), and inp::Input::setContactDeck().

Here is the call graph for this function:
Here is the caller graph for this function:

Field Documentation

◆ d_betan

double inp::ContactPairDeck::d_betan

parameters for normal damping force

Definition at line 41 of file contactDeck.h.

Referenced by getBetan(), getBetan(), getWBetan(), getWBetan(), printStr(), and model::DEMModel::setupContact().

◆ d_betanFactor

double inp::ContactPairDeck::d_betanFactor

parameters for frictional force

Definition at line 50 of file contactDeck.h.

Referenced by printStr(), and model::DEMModel::setupContact().

◆ d_computeContactR

bool inp::ContactPairDeck::d_computeContactR

Flag that indicates whether contact radius is to be computed.

Definition at line 29 of file contactDeck.h.

Referenced by model::DEMModel::setupContact().

◆ d_contactR

double inp::ContactPairDeck::d_contactR

contact radius

Definition at line 26 of file contactDeck.h.

Referenced by printStr(), and model::DEMModel::setupContact().

◆ d_dampingOn

bool inp::ContactPairDeck::d_dampingOn

parameters for frictional force

Definition at line 47 of file contactDeck.h.

Referenced by printStr().

◆ d_deltaMax

double inp::ContactPairDeck::d_deltaMax

parameters for normal force

Definition at line 34 of file contactDeck.h.

Referenced by printStr().

◆ d_eps

double inp::ContactPairDeck::d_eps

parameters for normal damping force

Definition at line 40 of file contactDeck.h.

Referenced by printStr(), and model::DEMModel::setupContact().

◆ d_frictionOn

bool inp::ContactPairDeck::d_frictionOn

parameters for frictional force

Definition at line 48 of file contactDeck.h.

◆ d_kappa

double inp::ContactPairDeck::d_kappa

parameters for frictional force

Definition at line 51 of file contactDeck.h.

Referenced by printStr(), and model::DEMModel::setupContact().

◆ d_Kn

double inp::ContactPairDeck::d_Kn

parameters for normal force

Definition at line 35 of file contactDeck.h.

Referenced by getKn(), getKn(), getWKn(), getWKn(), printStr(), and model::DEMModel::setupContact().

◆ d_KnFactor

double inp::ContactPairDeck::d_KnFactor

parameters for frictional force

Definition at line 49 of file contactDeck.h.

Referenced by printStr(), and model::DEMModel::setupContact().

◆ d_mu

double inp::ContactPairDeck::d_mu

parameters for frictional force

Definition at line 46 of file contactDeck.h.

Referenced by printStr(), and model::DEMModel::setupContact().

◆ d_vMax

double inp::ContactPairDeck::d_vMax

parameters for normal force

Definition at line 33 of file contactDeck.h.

Referenced by printStr(), and model::DEMModel::setupContact().


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