|
template<typename T , typename PARTICLECONTACTTYPE , typename WALLCONTACTTYPE > |
void | olb::particles::contact::communicateContacts (ContactContainer< T, PARTICLECONTACTTYPE, WALLCONTACTTYPE > &contactContainer) |
|
template<typename T , typename PARTICLETYPE , typename PARTICLECONTACTTYPE , typename WALLCONTACTTYPE , typename F > |
void | olb::particles::contact::accountForPeriodicParticleBoundary (SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, contact::ContactContainer< T, PARTICLECONTACTTYPE, WALLCONTACTTYPE > &contactContainer, const SuperGeometry< T, PARTICLETYPE::d > &sGeometry, F getSetupPeriodicity) |
| update positions in contact to account for periodic boundaries
|
|
template<typename T , typename PARTICLETYPE , bool CONVEX> |
std::unordered_set< int > | olb::particles::contact::evalDestRanksForDetectionCommunication (ParticleContactArbitraryFromOverlapVolume< T, PARTICLETYPE::d, CONVEX > &contact, SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, const T deltaX, const Vector< bool, PARTICLETYPE::d > &periodicity) |
| evaluate responsible ranks for particle-particle contact
|
|
template<typename T , typename PARTICLETYPE , bool CONVEX> |
std::unordered_set< int > | olb::particles::contact::evalDestRanksForDetectionCommunication (WallContactArbitraryFromOverlapVolume< T, PARTICLETYPE::d, CONVEX > &contact, SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, const T deltaX, const Vector< bool, PARTICLETYPE::d > &periodicity) |
| evaluate responsible rank for solid boundary contact
|
|
template<typename T , typename PARTICLETYPE , bool CONVEX> |
std::unordered_set< int > | olb::particles::contact::evalDestRanksForPostContactTreatmentCommunication (ParticleContactArbitraryFromOverlapVolume< T, PARTICLETYPE::d, CONVEX > &contact, SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, const T deltaX, const Vector< bool, PARTICLETYPE::d > &periodicity) |
| evaluate ranks that touch both particles of a particle-particle contact
|
|
template<typename T , typename PARTICLETYPE , bool CONVEX> |
std::unordered_set< int > | olb::particles::contact::evalDestRanksForPostContactTreatmentCommunication (WallContactArbitraryFromOverlapVolume< T, PARTICLETYPE::d, CONVEX > &contact, SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, const T deltaX, const Vector< bool, PARTICLETYPE::d > &periodicity) |
| evaluate ranks that touch the particle of a particle-wall contact
|
|
template<typename T , typename PARTICLETYPE , typename CONTACTTYPE , bool CONVEX, bool SANITYCHECK = false> |
void | olb::particles::contact::receiveContact (ParticleContactArbitraryFromOverlapVolume< T, PARTICLETYPE::d, CONVEX > &newcontact, SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, std::vector< CONTACTTYPE > &contacts, int rankOrig) |
|
template<typename T , typename PARTICLETYPE , typename CONTACTTYPE , bool CONVEX, bool SANITYCHECK = false> |
void | olb::particles::contact::receiveContact (WallContactArbitraryFromOverlapVolume< T, PARTICLETYPE::d, CONVEX > &newcontact, SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, std::vector< CONTACTTYPE > &contacts, int rankOrig) |
|
template<typename T , typename PARTICLETYPE , typename CONTACTTYPE > |
void | olb::particles::contact::communicateParallelContacts (std::vector< CONTACTTYPE > &contacts, SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, const T deltaX, MPI_Comm contactDetectionComm, const Vector< bool, PARTICLETYPE::d > &periodicity) |
|
template<typename T , typename PARTICLETYPE , typename PARTICLECONTACTTYPE , typename WALLCONTACTTYPE > |
void | olb::particles::contact::communicateContactsParallel (ContactContainer< T, PARTICLECONTACTTYPE, WALLCONTACTTYPE > &contactContainer, SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, const T deltaX, MPI_Comm particleContactDetectionComm, MPI_Comm wallContactDetectionComm, const Vector< bool, PARTICLETYPE::d > &periodicity) |
|
template<typename T , typename PARTICLETYPE , typename CONTACTTYPE > |
void | olb::particles::contact::communicatePostContactTreatmentContacts (std::vector< CONTACTTYPE > &contacts, SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, const T deltaX, MPI_Comm postContactTreatmentComm, const Vector< bool, PARTICLETYPE::d > &periodicity) |
|
template<typename T , typename PARTICLETYPE , typename PARTICLECONTACTTYPE , typename WALLCONTACTTYPE > |
void | olb::particles::contact::communicatePostContactTreatmentContacts (ContactContainer< T, PARTICLECONTACTTYPE, WALLCONTACTTYPE > &contactContainer, SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, const T deltaX, MPI_Comm particlePostContactTreatmentComm, MPI_Comm wallPostContactTreatmentComm, const Vector< bool, PARTICLETYPE::d > &periodicity) |
| It is necessary to communicate contacts so that no information is lost.
|
|
template<typename T , unsigned D> |
int | olb::particles::contact::getContactTreatmentResultsSerialSize () |
|
template<typename T , unsigned D> |
void | olb::particles::contact::extendContactTreatmentResultsDataMap (const std::size_t &globalParticleID, Vector< T, D > &force, Vector< T, utilities::dimensions::convert< D >::rotation > &torque, const int destRank, std::multimap< int, std::unique_ptr< std::uint8_t[]> > &dataMap) |
|
template<typename T , typename PARTICLETYPE > |
void | olb::particles::contact::receiveContactTreatmentResults (SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, MPI_Comm contactTreatmentComm, singleton::MpiNonBlockingHelper &mpiNbHelper) |
|
template<typename T , typename PARTICLETYPE > |
void | olb::particles::contact::communicateContactTreatmentResults (SuperParticleSystem< T, PARTICLETYPE > &particleSystem, std::multimap< int, std::unique_ptr< std::uint8_t[]> > &dataMap, MPI_Comm contactTreatmentComm) |
|