|
ESyS-Particle
2.3.4
|
#include <RotThermFricInteraction.h>


Public Types | |
| typedef CRotThermFrictionIGP | ParameterType |
| typedef double(CRotThermFrictionInteraction::* | ScalarFieldFunction) () const |
| typedef pair< bool, double >(CRotThermFrictionInteraction::* | CheckedScalarFieldFunction) () const |
| typedef Vec3(CRotThermFrictionInteraction::* | VectorFieldFunction) () const |
Static Public Member Functions | |
| static CheckedScalarFieldFunction | getCheckedScalarFieldFunction (const string &) |
| static ScalarFieldFunction | getScalarFieldFunction (const string &) |
| static VectorFieldFunction | getVectorFieldFunction (const string &) |
| static string | getType () |
Private Attributes | |
| double | m_k |
| spring constant More... | |
| double | m_r0 |
| equilibrium distance More... | |
| double | m_mu_d |
| coefficient of dynamic friction More... | |
| double | m_mu_s |
| coefficient of static friction More... | |
| double | m_ks |
| shear stiffness (Cundall) More... | |
| double | m_dt |
| time step More... | |
| Vec3 | m_Ffric |
| current frictional force More... | |
| Vec3 | m_force_deficit |
| difference between fric. force & force necessary for slip More... | |
| Vec3 | m_cpos |
| contact position More... | |
| Vec3 | m_normal_force |
| current normal force More... | |
| bool | m_is_slipping |
| static/dynamic status of the interaction More... | |
| bool | m_is_touching |
| contact status of the interaction More... | |
| double | m_E_diss |
| dissipated energy More... | |
| double | m_diffusivity |
| thermal diffusivity More... | |
| Vec3 | m_ds |
| tangitial displacement at this time step More... | |
Friends | |
| class | TML_PackedMessageInterface |
| ostream & | operator<< (ostream &, const CRotThermFrictionInteraction &) |
Additional Inherited Members | |
Protected Attributes inherited from ARotThermPairInteraction | |
| CRotThermParticle * | m_p1 |
| CRotThermParticle * | m_p2 |
Protected Attributes inherited from AInteraction | |
| vector< int > | m_id |
| id's of the particles involved More... | |
| int | m_iid |
| interaction id More... | |
| bool | m_init |
Frictional+Elastic interaction between particles between thermal ,rotational particles
| typedef pair<bool,double>(CRotThermFrictionInteraction::* CRotThermFrictionInteraction::CheckedScalarFieldFunction) () const |
| typedef double(CRotThermFrictionInteraction::* CRotThermFrictionInteraction::ScalarFieldFunction) () const |
| typedef Vec3(CRotThermFrictionInteraction::* CRotThermFrictionInteraction::VectorFieldFunction) () const |
| CRotThermFrictionInteraction::CRotThermFrictionInteraction | ( | ) |
References m_diffusivity, m_dt, m_E_diss, m_Ffric, AInteraction::m_id, m_is_slipping, m_is_touching, m_k, m_ks, m_mu_d, m_mu_s, ARotThermPairInteraction::m_p1, ARotThermPairInteraction::m_p2, m_r0, and NULL.
| CRotThermFrictionInteraction::CRotThermFrictionInteraction | ( | CRotThermParticle * | p1, |
| CRotThermParticle * | p2, | ||
| const CRotThermFrictionIGP & | param | ||
| ) |
References CRotThermFrictionIGP::diffusivity, CRotThermFrictionIGP::dt, CParticle::getDo2dCalculations(), CBasicParticle::getPos(), CBasicParticle::getRad(), CRotThermFrictionIGP::k, CRotThermFrictionIGP::k_s, m_cpos, m_diffusivity, m_ds, m_dt, m_E_diss, m_Ffric, m_is_slipping, m_is_touching, m_k, m_ks, m_mu_d, m_mu_s, ARotThermPairInteraction::m_p1, ARotThermPairInteraction::m_p2, m_r0, CRotThermFrictionIGP::mu_d, and CRotThermFrictionIGP::mu_s.

|
virtual |
|
virtual |
Calculate elastic and frictional forces.
Implements ARotThermPairInteraction.
References CParticle::applyForce(), CRotParticleVi::applyMoment(), cross(), dot(), CRotParticleVi::getAngVel_t(), CBasicParticle::getPos(), CBasicParticle::getRad(), CParticle::getVel(), m_cpos, m_ds, m_dt, m_E_diss, m_Ffric, m_force_deficit, m_is_slipping, m_is_touching, m_k, m_ks, m_mu_d, m_mu_s, m_normal_force, ARotThermPairInteraction::m_p1, ARotThermPairInteraction::m_p2, and Vec3::norm().

|
virtual |
Reimplemented from ARotThermPairInteraction.
References CRotThermParticle::applyHeatFrict(), dot(), CParticle::getDo2dCalculations(), CBasicParticle::getRad(), getSlipping(), m_ds, m_Ffric, ARotThermPairInteraction::m_p1, and ARotThermPairInteraction::m_p2.

|
virtual |
Reimplemented from ARotThermPairInteraction.
References CRotThermParticle::applyHeatTrans(), CBasicParticle::getPos(), CThermParticle::getTemperature(), m_diffusivity, ARotThermPairInteraction::m_p1, ARotThermPairInteraction::m_p2, and Vec3::norm2().

| void CRotThermFrictionInteraction::calcNormalForce | ( | ) |
Calculate the normal force.
References CBasicParticle::getPos(), CBasicParticle::getRad(), m_k, m_normal_force, ARotThermPairInteraction::m_p1, and ARotThermPairInteraction::m_p2.

| double CRotThermFrictionInteraction::getAbsForceDeficit | ( | ) | const |
get the force needed to overcome friction and make the interaction slip
References m_force_deficit, and Vec3::norm().
Referenced by getScalarFieldFunction().


|
static |
References NULL.
| double CRotThermFrictionInteraction::getDissipatedEnergy | ( | ) | const |
return the amount of energy dissipated during the last time step
References m_E_diss.
Referenced by getScalarFieldFunction().

| Vec3 CRotThermFrictionInteraction::getForce | ( | ) | const |
References m_Ffric, m_is_touching, and m_normal_force.
Referenced by getVectorFieldFunction().

| Vec3 CRotThermFrictionInteraction::getNormalForce | ( | ) | const |
If the particles are in contact, get normal force, if not in contact return (0,0,0)
References m_is_touching, and m_normal_force.
Referenced by getVectorFieldFunction().

|
inlinevirtual |
Implements ARotThermPairInteraction.
References m_cpos.
| double CRotThermFrictionInteraction::getPotentialEnergy | ( | ) | const |
get the potential energy stored in the interaction
References m_Ffric, m_k, m_ks, and m_normal_force.
Referenced by getScalarFieldFunction().

|
static |
Get the particle member function which returns a scalar field of a given name.
| name | the name of the field |
References AInteraction::Count(), getAbsForceDeficit(), getDissipatedEnergy(), getPotentialEnergy(), getSlipping(), getSticking(), and NULL.

| double CRotThermFrictionInteraction::getSlipping | ( | ) | const |
Get the static/dynamic status of the interaction. Returns 1 for a contact in dynamic friction, 0 for static or no contact
References m_is_slipping.
Referenced by calcHeatFrict(), and getScalarFieldFunction().

| double CRotThermFrictionInteraction::getSticking | ( | ) | const |
Get "sticking" contacts, i.e. return 1 if the contact is touching but not slipping, 0 otherwise
References m_is_slipping, and m_is_touching.
Referenced by getScalarFieldFunction().

| double CRotThermFrictionInteraction::getTouching | ( | ) | const |
Get the contact status of the interaction. Returns 1 for an actual contact, 0 for no contact
References m_is_touching.
|
inlinestatic |
|
static |
Get the particle member function which returns a vector field of a given name.
| name | the name of the field |
References getForce(), getNormalForce(), and NULL.

|
virtual |
References CBasicParticle::getPos(), CBasicParticle::getRad(), ARotThermPairInteraction::m_p1, and ARotThermPairInteraction::m_p2.

|
virtual |
Load restart data from an open istream
| iStream | the input stream |
References m_diffusivity, m_ds, m_dt, m_Ffric, AInteraction::m_id, m_is_slipping, m_is_touching, m_k, m_ks, m_mu_d, m_mu_s, m_r0, Vec3::X(), Vec3::Y(), and Vec3::Z().

|
virtual |
Save restart data to an open ostream
| oStream | the output stream |
References m_diffusivity, m_ds, m_dt, m_Ffric, AInteraction::m_id, m_is_slipping, m_is_touching, m_k, m_ks, m_mu_d, m_mu_s, m_r0, Vec3::X(), Vec3::Y(), and Vec3::Z().

|
inline |
References m_dt.
|
friend |
|
friend |
|
private |
contact position
Referenced by calcForces(), CRotThermFrictionInteraction(), and getPos().
|
private |
thermal diffusivity
Referenced by calcHeatTrans(), CRotThermFrictionInteraction(), loadRestartData(), TML_PackedMessageInterface::pack(), saveRestartData(), and TML_PackedMessageInterface::unpack().
|
private |
tangitial displacement at this time step
Referenced by calcForces(), calcHeatFrict(), CRotThermFrictionInteraction(), getDs(), loadRestartData(), TML_PackedMessageInterface::pack(), saveRestartData(), and TML_PackedMessageInterface::unpack().
|
private |
time step
Referenced by calcForces(), CRotThermFrictionInteraction(), loadRestartData(), TML_PackedMessageInterface::pack(), saveRestartData(), setTimeStepSize(), and TML_PackedMessageInterface::unpack().
|
private |
dissipated energy
Referenced by calcForces(), CRotThermFrictionInteraction(), and getDissipatedEnergy().
|
private |
current frictional force
Referenced by calcForces(), calcHeatFrict(), CRotThermFrictionInteraction(), getForce(), getPotentialEnergy(), loadRestartData(), TML_PackedMessageInterface::pack(), saveRestartData(), and TML_PackedMessageInterface::unpack().
|
private |
difference between fric. force & force necessary for slip
Referenced by calcForces(), and getAbsForceDeficit().
|
private |
static/dynamic status of the interaction
Referenced by calcForces(), CRotThermFrictionInteraction(), getSlipping(), getSticking(), loadRestartData(), TML_PackedMessageInterface::pack(), saveRestartData(), and TML_PackedMessageInterface::unpack().
|
private |
contact status of the interaction
Referenced by calcForces(), CRotThermFrictionInteraction(), getForce(), getNormalForce(), getSticking(), getTouching(), loadRestartData(), and saveRestartData().
|
private |
spring constant
Referenced by calcForces(), calcNormalForce(), CRotThermFrictionInteraction(), getPotentialEnergy(), loadRestartData(), TML_PackedMessageInterface::pack(), saveRestartData(), and TML_PackedMessageInterface::unpack().
|
private |
shear stiffness (Cundall)
Referenced by calcForces(), CRotThermFrictionInteraction(), getPotentialEnergy(), loadRestartData(), TML_PackedMessageInterface::pack(), saveRestartData(), and TML_PackedMessageInterface::unpack().
|
private |
coefficient of dynamic friction
Referenced by calcForces(), CRotThermFrictionInteraction(), loadRestartData(), TML_PackedMessageInterface::pack(), saveRestartData(), and TML_PackedMessageInterface::unpack().
|
private |
coefficient of static friction
Referenced by calcForces(), CRotThermFrictionInteraction(), loadRestartData(), TML_PackedMessageInterface::pack(), saveRestartData(), and TML_PackedMessageInterface::unpack().
|
private |
current normal force
Referenced by calcForces(), calcNormalForce(), getForce(), getNormalForce(), and getPotentialEnergy().
|
private |
equilibrium distance
Referenced by CRotThermFrictionInteraction(), loadRestartData(), TML_PackedMessageInterface::pack(), saveRestartData(), and TML_PackedMessageInterface::unpack().