OpenLB 1.7
|
#include <particleContactForceFunctions.h>
Static Public Member Functions | |
static void | resetContainer (ContactContainer< T, ParticleContactArbitraryFromOverlapVolume< T, PARTICLETYPE::d, CONVEX >, WALLCONTACTTYPE > &contactContainer) |
static void | processCell (ParticleContactArbitraryFromOverlapVolume< T, PARTICLETYPE::d, CONVEX > &contact, Particle< T, PARTICLETYPE > &particleA, Particle< T, PARTICLETYPE > &particleB, Vector< T, PARTICLETYPE::d > &contactNormal, Vector< T, PARTICLETYPE::d > ¢er, unsigned &volumeCellCount, T &surfaceCellCount, const Vector< T, PARTICLETYPE::d > &pos, const Vector< T, PARTICLETYPE::d > &contactPhysDeltaX) |
template<typename CONTACTPROPERTIES , typename F = decltype(defaults::processContactForce<T, PARTICLETYPE::d>)> | |
static void | apply (std::multimap< int, std::unique_ptr< std::uint8_t[]> > &dataMap, XParticleSystem< T, PARTICLETYPE > &particleSystem, ParticleContactArbitraryFromOverlapVolume< T, PARTICLETYPE::d, CONVEX > &contact, const CONTACTPROPERTIES &contactProperties, const T physDeltaX, const unsigned contactBoxResolutionPerDirection, const T k, F processContactForce=defaults::processContactForce< T, PARTICLETYPE::d >) |
static void | correctBoundingBoxNewContact (XParticleSystem< T, PARTICLETYPE > &particleSystem, ParticleContactArbitraryFromOverlapVolume< T, PARTICLETYPE::d, CONVEX > &contact, const T physDeltaX, const unsigned contactBoxResolutionPerDirection) |
static void | correctBoundingBox (XParticleSystem< T, PARTICLETYPE > &particleSystem, std::vector< SolidBoundary< T, PARTICLETYPE::d > > &solidBoundaries, WallContactArbitraryFromOverlapVolume< T, PARTICLETYPE::d, CONVEX > &contact, const T physDeltaX, const unsigned contactBoxResolutionPerDirection) |
static void | correctBoundingBoxExistingContact (XParticleSystem< T, PARTICLETYPE > &particleSystem, ParticleContactArbitraryFromOverlapVolume< T, PARTICLETYPE::d, CONVEX > &contact, T physDeltaX, unsigned contactBoxResolutionPerDirection) |
template<typename CONTACTPROPERTIES , typename F1 = decltype(defaults::periodicity<PARTICLETYPE::d>), typename F2 = decltype(defaults::processContactForce<T, PARTICLETYPE::d>)> | |
static void | apply (XParticleSystem< T, PARTICLETYPE > &particleSystem, ContactContainer< T, ParticleContactArbitraryFromOverlapVolume< T, PARTICLETYPE::d, CONVEX >, WALLCONTACTTYPE > &contactContainer, const CONTACTPROPERTIES &contactProperties, const SuperGeometry< T, PARTICLETYPE::d > &sGeometry, std::multimap< int, std::unique_ptr< std::uint8_t[]> > &dataMap, const unsigned contactBoxResolutionPerDirection=8, const T k=T {4./(3 *util::sqrt(M_PI))}, F1 getSetupPeriodicity=defaults::periodicity< PARTICLETYPE::d >, F2 processContactForce=defaults::processContactForce< T, PARTICLETYPE::d >) |
Definition at line 863 of file particleContactForceFunctions.h.
|
inlinestatic |
Definition at line 955 of file particleContactForceFunctions.h.
References olb::particles::contact::applyForceFromOverlapVolume(), olb::particles::resolved::distanceToParticle(), olb::particles::contact::evalCurrentDampingFactor(), olb::particles::contact::evalRelativeNormalVelocity(), olb::particles::contact::evalRelativeVelocity(), olb::particles::access::getEnlargementForContact(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getIDs(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getMax(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getMin(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::isEmpty(), olb::particles::contact::processCell(), olb::particles::contact::processContactViaVolume(), and olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::resetMinMax().
|
inlinestatic |
Definition at line 1130 of file particleContactForceFunctions.h.
References M_PI, and olb::util::sqrt().
|
inlinestatic |
Definition at line 1077 of file particleContactForceFunctions.h.
References olb::particles::contact::correctBoundingBoxNewContact(), olb::particles::contact::evalContactDeltaX(), olb::particles::contact::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::getMax(), olb::particles::contact::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::getMin(), olb::particles::contact::WallContactArbitraryFromOverlapVolume< T, D, CONVEX >::increaseMinMax(), and olb::util::sqrt().
|
inlinestatic |
Definition at line 1095 of file particleContactForceFunctions.h.
References olb::particles::contact::correctBoundingBox(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getIDs(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getMax(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getMin(), olb::particles::resolved::isInsideParticle(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::resetMinMax(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::updateMinMax(), and olb::particles::contact::updateMinMax().
|
inlinestatic |
Definition at line 1045 of file particleContactForceFunctions.h.
References olb::particles::contact::correctBoundingBoxNewContact(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getIDs(), olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getMax(), and olb::particles::contact::ParticleContactArbitraryFromOverlapVolume< T, D, CONVEX >::getMin().
|
inlinestatic |
Definition at line 879 of file particleContactForceFunctions.h.
References olb::particles::access::getEnlargementForContact(), olb::particles::resolved::normalOnParticleSurface(), olb::particles::contact::processCell(), olb::particles::resolved::signedDistanceToParticle(), and olb::particles::contact::updateMinMax().
|
inlinestatic |
Definition at line 867 of file particleContactForceFunctions.h.