NDDEM
Public Member Functions | Public Attributes | Private Attributes | List of all members
Contacts< d > Class Template Reference

Calculate contact forces. More...

#include <Contacts.h>

Public Member Functions

 Contacts (Parameters< d > &PP)
 
void particle_particle (cv1d &Xi, cv1d &Vi, cv1d &Omegai, double ri, double mi, cv1d &Xj, cv1d &Vj, cv1d &Omegaj, double rj, double mj, cp< d > &Contact, bool isdumptime)
 Force & torque between 2 particles. More...
 
void particle_wall (cv1d &Vi, cv1d &Omegai, double ri, double mi, cv1d &cn, cp< d > &Contact)
 Force & torque between a particle and a wall. More...
 
void particle_movingwall (cv1d &Vi, cv1d &Omegai, double ri, double mi, cv1d &cn, cv1d &Vj, cp< d > &Contact)
 Force & torque between a particle and a moving wall. Vj is the velocity of the wall at the contact point. More...
 
void particle_mesh (cv1d &Xi, cv1d &Vi, cv1d &Omegai, double ri, double mi, cpm< d > &Contact)
 Force & torque between particle and mesh. More...
 
void particle_ghost_regular (cv1d &Xi, cv1d &Vi, cv1d &Omegai, double ri, double mi, cv1d &Xj, cv1d &Vj, cv1d &Omegaj, double rj, double mj, cp< d > &Contact, bool isdumptime)
 Calculate the particle to regular (non Lees-Edward) ghost contact. More...
 
void particle_ghost_LE (cv1d &Xi, cv1d &Vi, cv1d &Omegai, double ri, double mi, cv1d &Xj, cv1d &Vj, cv1d &Omegaj, double rj, double mj, cp< d > &Contact, bool isdumptime)
 Calculate the particle to (potentially) Lees-Edward ghost contact. More...
 
void particle_ghost_LE_cells (cv1d &Xi, cv1d &Vi, cv1d &Omegai, double ri, double mi, cv1d &Xj, cv1d &Vj, cv1d &Omegaj, double rj, double mj, cp< d > &Contact, bool isdumptime)
 Calculate the particle to (potentially) Lees-Edward ghost contact for the cell contact finding (slightly different handling of pbc. More...
 
void compute_normalpbcloc (v1d &loc, int startn, uint32_t gh, uint32_t ghd)
 Move ghosts through the regular periodic boundary conditions (non Lees-Edward). More...
 

Public Attributes

Parameters< d > * P
 Pointer to the Parameters structure. More...
 
vector< double > Torquei
 Torque on particle i. More...
 
vector< double > Torquej
 Torque on particle j. More...
 
vector< double > vrel
 Relative velocity. More...
 
void(Contacts::* particle_ghost )(cv1d &Xi, cv1d &Vi, cv1d &Omegai, double ri, double mi, cv1d &Xj, cv1d &Vj, cv1d &Omegaj, double rj, double mj, cp< d > &Contact, bool isdumptime)
 Function pointer to the function to calculate the ghost-to-particle contact forces. More...
 
Action< dAct
 Resulting Action. More...
 

Private Attributes

double contactlength
 
double ovlp
 
double dotvrelcn
 
double Coulomb
 
double tsprn
 
double tsprcn
 
vector< double > cn
 
vector< double > rri
 
vector< double > rrj
 
vector< double > vn
 
vector< double > vt
 
vector< double > Fn
 
vector< double > Ft
 
vector< double > tvec
 
vector< double > Ftc
 
vector< double > tspr
 
vector< double > tsprc
 

Detailed Description

template<int d>
class Contacts< d >

Calculate contact forces.

Member Function Documentation

◆ compute_normalpbcloc()

template<int d>
void Contacts< d >::compute_normalpbcloc ( v1d loc,
int  startn,
uint32_t  gh,
uint32_t  ghd 
)
inline

Move ghosts through the regular periodic boundary conditions (non Lees-Edward).

◆ particle_ghost_LE()

template<int d>
void Contacts< d >::particle_ghost_LE ( cv1d Xi,
cv1d Vi,
cv1d Omegai,
double  ri,
double  mi,
cv1d Xj,
cv1d Vj,
cv1d Omegaj,
double  rj,
double  mj,
cp< d > &  Contact,
bool  isdumptime 
)
inline

Calculate the particle to (potentially) Lees-Edward ghost contact.

◆ particle_ghost_LE_cells()

template<int d>
void Contacts< d >::particle_ghost_LE_cells ( cv1d Xi,
cv1d Vi,
cv1d Omegai,
double  ri,
double  mi,
cv1d Xj,
cv1d Vj,
cv1d Omegaj,
double  rj,
double  mj,
cp< d > &  Contact,
bool  isdumptime 
)
inline

Calculate the particle to (potentially) Lees-Edward ghost contact for the cell contact finding (slightly different handling of pbc.

◆ particle_ghost_regular()

template<int d>
void Contacts< d >::particle_ghost_regular ( cv1d Xi,
cv1d Vi,
cv1d Omegai,
double  ri,
double  mi,
cv1d Xj,
cv1d Vj,
cv1d Omegaj,
double  rj,
double  mj,
cp< d > &  Contact,
bool  isdumptime 
)
inline

Calculate the particle to regular (non Lees-Edward) ghost contact.

Member Data Documentation

◆ Act

template<int d>
Action<d> Contacts< d >::Act

Resulting Action.

◆ cn

template<int d>
vector<double> Contacts< d >::cn
private

◆ contactlength

template<int d>
double Contacts< d >::contactlength
private

Temporary variables for internal use, to avoid reallocation at each call

◆ Coulomb

template<int d>
double Contacts< d >::Coulomb
private

◆ dotvrelcn

template<int d>
double Contacts< d >::dotvrelcn
private

◆ Fn

template<int d>
vector<double> Contacts< d >::Fn
private

◆ Ft

template<int d>
vector<double> Contacts< d >::Ft
private

◆ Ftc

template<int d>
vector<double> Contacts< d >::Ftc
private

◆ ovlp

template<int d>
double Contacts< d >::ovlp
private

◆ P

template<int d>
Parameters<d>* Contacts< d >::P

Pointer to the Parameters structure.

◆ particle_ghost

template<int d>
void(Contacts::* Contacts< d >::particle_ghost) (cv1d &Xi, cv1d &Vi, cv1d &Omegai, double ri, double mi, cv1d &Xj, cv1d &Vj, cv1d &Omegaj, double rj, double mj, cp< d > &Contact, bool isdumptime)

Function pointer to the function to calculate the ghost-to-particle contact forces.

◆ rri

template<int d>
vector<double> Contacts< d >::rri
private

◆ rrj

template<int d>
vector<double> Contacts< d >::rrj
private

◆ Torquei

template<int d>
vector< double > Contacts< d >::Torquei

Torque on particle i.

◆ Torquej

template<int d>
vector< double > Contacts< d >::Torquej

Torque on particle j.

◆ tspr

template<int d>
vector<double> Contacts< d >::tspr
private

◆ tsprc

template<int d>
vector<double> Contacts< d >::tsprc
private

◆ tsprcn

template<int d>
double Contacts< d >::tsprcn
private

◆ tsprn

template<int d>
double Contacts< d >::tsprn
private

◆ tvec

template<int d>
vector<double> Contacts< d >::tvec
private

◆ vn

template<int d>
vector<double> Contacts< d >::vn
private

◆ vrel

template<int d>
vector< double > Contacts< d >::vrel

Relative velocity.

◆ vt

template<int d>
vector<double> Contacts< d >::vt
private

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