OpenLB 1.7
|
Classes | |
class | NoParticleDynamics |
No particle dynamics equivalent to no lattice dynamics. More... | |
class | ParticleDetachmentDynamics |
Verlet dynamics for particles aware of their DYNAMIC_STATE. More... | |
struct | ParticleDynamics |
Basic particle dynamics. More... | |
struct | ParticleDynamicStateAngle |
struct | ParticleDynamicStateNoAngle |
class | ParticleManager |
struct | torque_from_force |
class | VerletParticleDynamics |
Standard dynamics for particles. More... | |
class | VerletParticleDynamicsCubicBoundsAdhesion |
Velocity verlet particle dynamics with limitation of position and velocity by checking domain bounds in cartesion direcion and simple adhesive force threshold allowing particles only to move when both a normal and tangential force threshold have been surpassed. More... | |
class | VerletParticleDynamicsCubicBoundsDeposition |
Velocity verlet particle dynamics with deposition modelling by checking domain bounds in cartesion direcion. More... | |
class | VerletParticleDynamicsEscape |
Standard dynamics with escape. More... | |
class | VerletParticleDynamicsMaterialAwareEscape |
Standard dynamics with wall capture and material number checks. More... | |
class | VerletParticleDynamicsMaterialAwareWallCapture |
Standard dynamics with wall capture and material number checks. More... | |
class | VerletParticleDynamicsMaterialAwareWallCaptureAndEscape |
Standard dynamics with wall capture nd escape and material number checks. More... | |
class | VerletParticleDynamicsMaterialCapture |
Standard dynamics with material capture. More... | |
class | VerletParticleDynamicsMaterialCaptureAndEscape |
Standard dynamics with material capture and escape. More... | |
class | VerletParticleDynamicsMaterialEscape |
Standard dynamics with material capture. More... | |
class | VerletParticleDynamicsRotationOnly |
Verlet particle dynamics only considering rotation (ignoring translation) More... | |
class | VerletParticleDynamicsRotor |
class | VerletParticleDynamicsTranslationOnly |
Verlet particle dynamics only considering translation (ignoring rotation) More... | |
class | VerletParticleDynamicsVelocityWallReflection |
Standard dynamics with wall reflection. More... | |
class | VerletParticleDynamicsWallCapture |
Standard dynamics with wall capture. More... | |
Typedefs | |
template<typename T , typename PARTICLETYPE > | |
using | DynState |
Functions | |
template<typename T , typename PARTICLETYPE > | |
void | updateRotationMatrix (Particle< T, PARTICLETYPE > &particle) |
template<typename T , typename PARTICLETYPE , typename F > | |
void | doAtCubicBoundPenetration (Particle< T, PARTICLETYPE > &particle, Vector< T, PARTICLETYPE::d > domainMin, Vector< T, PARTICLETYPE::d > domainMax, F boundTreatment) |
Helper functions. | |
template<typename T , typename PARTICLETYPE > | |
void | resetDirection (Particle< T, PARTICLETYPE > &particle, Vector< T, PARTICLETYPE::d > positionPre, int iDir) |
template<typename T , typename PARTICLETYPE > | |
void | resetMovement (Particle< T, PARTICLETYPE > &particle, Vector< T, PARTICLETYPE::d > positionPre, Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > anglePre=Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation >(0.)) |
template<typename T , typename PARTICLETYPE > | |
constexpr Vector< T, PARTICLETYPE::d > | calculateLocalVelocity (Particle< T, PARTICLETYPE > &particle, const PhysR< T, PARTICLETYPE::d > &input) |
template<typename T , typename PARTICLETYPE > | |
void | unserializeForceTorqueVoxels (Vector< T, PARTICLETYPE::d > &force, Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > &torque, T serializedFunctorForceField[], int iP) |
Unserialize force field provieded by force integration functor (e.g. momentumExchange) | |
template<typename T , typename PARTICLETYPE > | |
void | unserializeForce (Vector< T, PARTICLETYPE::d > &force, T serializedFunctorForceField[], int iP) |
Unserialize force field provieded by force integration functor (e.g. stokesDragForce) | |
template<typename T , typename PARTICLETYPE , typename FORCEFUNCTOR > | |
void | applySerializableParticleForce (FORCEFUNCTOR &forceF, ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t iP0=0) |
Apply boundary force provided by force functor to the particle center as torque and force. | |
template<typename T , typename PARTICLETYPE , typename FORCEFUNCTOR , typename PCONDITION = conditions::valid_particles> | |
void | applyLocalParticleForce (FORCEFUNCTOR &forceF, ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t iP0=0) |
Apply boundary force provided by force functor to the particle center as torque and force. | |
template<typename T , typename PARTICLETYPE > | |
void | initializeParticle (DynamicFieldGroupsD< T, typename PARTICLETYPE::fields_t > &dynamicFieldGroups, std::size_t iP) |
Initialize all fields in particle (necessary for clang) | |
template<typename T , typename DESCRIPTOR , typename PARTICLETYPE , typename PARTICLECONTACTTYPE , typename WALLCONTACTTYPE , typename F = decltype(defaults::periodicity<DESCRIPTOR::d>)> | |
void | coupleResolvedParticlesToLattice (ParticleSystem< T, PARTICLETYPE > &particleSystem, contact::ContactContainer< T, PARTICLECONTACTTYPE, WALLCONTACTTYPE > &contactContainer, const SuperGeometry< T, DESCRIPTOR::d > &sGeometry, SuperLattice< T, DESCRIPTOR > &sLattice, UnitConverter< T, DESCRIPTOR > const &converter, std::vector< SolidBoundary< T, DESCRIPTOR::d > > &solidBoundaries, F getSetupPeriodicity=defaults::periodicity< DESCRIPTOR::d >) |
Couple particle to lattice and detect contacts of resolved particles. | |
template<typename T , typename DESCRIPTOR , typename PARTICLETYPE , typename PARTICLECONTACTTYPE , typename WALLCONTACTTYPE , typename F = decltype(defaults::periodicity<DESCRIPTOR::d>)> | |
void | coupleResolvedParticlesToLattice (ParticleSystem< T, PARTICLETYPE > &particleSystem, contact::ContactContainer< T, PARTICLECONTACTTYPE, WALLCONTACTTYPE > &contactContainer, const SuperGeometry< T, DESCRIPTOR::d > &sGeometry, SuperLattice< T, DESCRIPTOR > &sLattice, UnitConverter< T, DESCRIPTOR > const &converter, F getSetupPeriodicity=defaults::periodicity< DESCRIPTOR::d >) |
Couple particle to lattice and detect contacts of resolved particles. | |
template<typename T , typename DESCRIPTOR , typename PARTICLETYPE , typename PARTICLECONTACTTYPE , typename WALLCONTACTTYPE , typename F = decltype(defaults::periodicity<DESCRIPTOR::d>)> | |
void | coupleResolvedParticlesToLattice (SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, contact::ContactContainer< T, PARTICLECONTACTTYPE, WALLCONTACTTYPE > &contactContainer, const SuperGeometry< T, DESCRIPTOR::d > &sGeometry, SuperLattice< T, DESCRIPTOR > &sLattice, UnitConverter< T, DESCRIPTOR > const &converter, std::vector< SolidBoundary< T, DESCRIPTOR::d > > &solidBoundaries, F getSetupPeriodicity=defaults::periodicity< DESCRIPTOR::d >) |
Couple particle to lattice and detect contacts of resolved particles. | |
template<typename T , typename DESCRIPTOR , typename PARTICLETYPE , typename PARTICLECONTACTTYPE , typename WALLCONTACTTYPE , typename F = decltype(defaults::periodicity<DESCRIPTOR::d>)> | |
void | coupleResolvedParticlesToLattice (SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, contact::ContactContainer< T, PARTICLECONTACTTYPE, WALLCONTACTTYPE > &contactContainer, const SuperGeometry< T, DESCRIPTOR::d > &sGeometry, SuperLattice< T, DESCRIPTOR > &sLattice, UnitConverter< T, DESCRIPTOR > const &converter, F getSetupPeriodicity=defaults::periodicity< DESCRIPTOR::d >) |
Couple particle to lattice and detect contacts of resolved particles. | |
template<typename T , typename PARTICLETYPE > | |
T | calcKineticEnergy (Particle< T, PARTICLETYPE > &particle) |
template<typename T , typename PARTICLETYPE > | |
void | velocityVerletTranslation (Particle< T, PARTICLETYPE > &particle, T delTime, T delTime2, Vector< T, PARTICLETYPE::d > acceleration) |
template<typename T , typename PARTICLETYPE > | |
void | velocityVerletRotation (Particle< T, PARTICLETYPE > &particle, T delTime, T delTime2, Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > angularAcceleration) |
template<typename T , typename PARTICLETYPE > | |
void | velocityVerletRotor (Particle< T, PARTICLETYPE > &particle, T delTime, Vector< T, PARTICLETYPE::d > angVel) |
template<typename T , typename PARTICLETYPE > | |
void | velocityVerletIntegration (Particle< T, PARTICLETYPE > &particle, T delTime, Vector< T, PARTICLETYPE::d > acceleration, Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > angularAcceleration) |
template<typename T , typename PARTICLETYPE > | |
void | eulerIntegrationTranslation (Particle< T, PARTICLETYPE > &particle, T delTime, Vector< T, PARTICLETYPE::d > acceleration) |
Euler integration. | |
template<typename T , typename PARTICLETYPE > | |
void | eulerIntegrationRotation (Particle< T, PARTICLETYPE > &particle, T delTime, Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > angularAcceleration) |
template<typename T , typename PARTICLETYPE > | |
void | eulerIntegration (Particle< T, PARTICLETYPE > &particle, T delTime, Vector< T, PARTICLETYPE::d > acceleration, Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > angularAcceleration) |
template<typename T , typename PARTICLETYPE > | |
void | analyticalTranslation (Particle< T, PARTICLETYPE > &particle, Vector< T, PARTICLETYPE::d > acceleration, T delTime, Vector< T, PARTICLETYPE::d > fluid_vel) |
using olb::particles::dynamics::DynState |
Definition at line 151 of file particleDynamicsUtilities.h.
void olb::particles::dynamics::analyticalTranslation | ( | Particle< T, PARTICLETYPE > & | particle, |
Vector< T, PARTICLETYPE::d > | acceleration, | ||
T | delTime, | ||
Vector< T, PARTICLETYPE::d > | fluid_vel ) |
Definition at line 195 of file particleMotionFunctions.h.
void olb::particles::dynamics::applyLocalParticleForce | ( | FORCEFUNCTOR & | forceF, |
ParticleSystem< T, PARTICLETYPE > & | particleSystem, | ||
std::size_t | iP0 = 0 ) |
Apply boundary force provided by force functor to the particle center as torque and force.
Definition at line 198 of file particleDynamicsFunctions.h.
References olb::particles::ParticleSystem< T, PARTICLETYPE >::get(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
void olb::particles::dynamics::applySerializableParticleForce | ( | FORCEFUNCTOR & | forceF, |
ParticleSystem< T, PARTICLETYPE > & | particleSystem, | ||
std::size_t | iP0 = 0 ) |
Apply boundary force provided by force functor to the particle center as torque and force.
Definition at line 151 of file particleDynamicsFunctions.h.
References olb::particles::ParticleSystem< T, PARTICLETYPE >::get(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
T olb::particles::dynamics::calcKineticEnergy | ( | Particle< T, PARTICLETYPE > & | particle | ) |
Definition at line 335 of file particleDynamicsFunctions.h.
|
constexpr |
Definition at line 91 of file particleDynamicsFunctions.h.
References olb::util::calculateLocalVelocity().
void olb::particles::dynamics::coupleResolvedParticlesToLattice | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
contact::ContactContainer< T, PARTICLECONTACTTYPE, WALLCONTACTTYPE > & | contactContainer, | ||
const SuperGeometry< T, DESCRIPTOR::d > & | sGeometry, | ||
SuperLattice< T, DESCRIPTOR > & | sLattice, | ||
UnitConverter< T, DESCRIPTOR > const & | converter, | ||
F | getSetupPeriodicity = defaults::periodicity<DESCRIPTOR::d> ) |
Couple particle to lattice and detect contacts of resolved particles.
Definition at line 270 of file particleDynamicsFunctions.h.
References coupleResolvedParticlesToLattice().
void olb::particles::dynamics::coupleResolvedParticlesToLattice | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
contact::ContactContainer< T, PARTICLECONTACTTYPE, WALLCONTACTTYPE > & | contactContainer, | ||
const SuperGeometry< T, DESCRIPTOR::d > & | sGeometry, | ||
SuperLattice< T, DESCRIPTOR > & | sLattice, | ||
UnitConverter< T, DESCRIPTOR > const & | converter, | ||
std::vector< SolidBoundary< T, DESCRIPTOR::d > > & | solidBoundaries, | ||
F | getSetupPeriodicity = defaults::periodicity<DESCRIPTOR::d> ) |
Couple particle to lattice and detect contacts of resolved particles.
Definition at line 235 of file particleDynamicsFunctions.h.
References olb::particles::contact::ContactContainer< T, PARTICLECONTACTTYPE, WALLCONTACTTYPE >::cleanContacts(), olb::particles::ParticleSystem< T, PARTICLETYPE >::get(), olb::SuperStructure< T, D >::getCuboidGeometry(), olb::particles::setSuperParticleField(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
void olb::particles::dynamics::coupleResolvedParticlesToLattice | ( | SuperParticleSystem< T, PARTICLETYPE > & | sParticleSystem, |
contact::ContactContainer< T, PARTICLECONTACTTYPE, WALLCONTACTTYPE > & | contactContainer, | ||
const SuperGeometry< T, DESCRIPTOR::d > & | sGeometry, | ||
SuperLattice< T, DESCRIPTOR > & | sLattice, | ||
UnitConverter< T, DESCRIPTOR > const & | converter, | ||
F | getSetupPeriodicity = defaults::periodicity<DESCRIPTOR::d> ) |
Couple particle to lattice and detect contacts of resolved particles.
Definition at line 321 of file particleDynamicsFunctions.h.
References coupleResolvedParticlesToLattice().
void olb::particles::dynamics::coupleResolvedParticlesToLattice | ( | SuperParticleSystem< T, PARTICLETYPE > & | sParticleSystem, |
contact::ContactContainer< T, PARTICLECONTACTTYPE, WALLCONTACTTYPE > & | contactContainer, | ||
const SuperGeometry< T, DESCRIPTOR::d > & | sGeometry, | ||
SuperLattice< T, DESCRIPTOR > & | sLattice, | ||
UnitConverter< T, DESCRIPTOR > const & | converter, | ||
std::vector< SolidBoundary< T, DESCRIPTOR::d > > & | solidBoundaries, | ||
F | getSetupPeriodicity = defaults::periodicity<DESCRIPTOR::d> ) |
Couple particle to lattice and detect contacts of resolved particles.
Definition at line 286 of file particleDynamicsFunctions.h.
References olb::SuperStructure< T, D >::getCuboidGeometry(), and olb::particles::setSuperParticleField().
void olb::particles::dynamics::doAtCubicBoundPenetration | ( | Particle< T, PARTICLETYPE > & | particle, |
Vector< T, PARTICLETYPE::d > | domainMin, | ||
Vector< T, PARTICLETYPE::d > | domainMax, | ||
F | boundTreatment ) |
Helper functions.
Definition at line 59 of file particleDynamicsUtilities.h.
void olb::particles::dynamics::eulerIntegration | ( | Particle< T, PARTICLETYPE > & | particle, |
T | delTime, | ||
Vector< T, PARTICLETYPE::d > | acceleration, | ||
Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > | angularAcceleration ) |
Definition at line 180 of file particleMotionFunctions.h.
References eulerIntegrationRotation(), and eulerIntegrationTranslation().
void olb::particles::dynamics::eulerIntegrationRotation | ( | Particle< T, PARTICLETYPE > & | particle, |
T | delTime, | ||
Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > | angularAcceleration ) |
Definition at line 160 of file particleMotionFunctions.h.
void olb::particles::dynamics::eulerIntegrationTranslation | ( | Particle< T, PARTICLETYPE > & | particle, |
T | delTime, | ||
Vector< T, PARTICLETYPE::d > | acceleration ) |
Euler integration.
Definition at line 142 of file particleMotionFunctions.h.
void olb::particles::dynamics::initializeParticle | ( | DynamicFieldGroupsD< T, typename PARTICLETYPE::fields_t > & | dynamicFieldGroups, |
std::size_t | iP ) |
Initialize all fields in particle (necessary for clang)
Definition at line 215 of file particleDynamicsFunctions.h.
void olb::particles::dynamics::resetDirection | ( | Particle< T, PARTICLETYPE > & | particle, |
Vector< T, PARTICLETYPE::d > | positionPre, | ||
int | iDir ) |
Definition at line 84 of file particleDynamicsUtilities.h.
void olb::particles::dynamics::resetMovement | ( | Particle< T, PARTICLETYPE > & | particle, |
Vector< T, PARTICLETYPE::d > | positionPre, | ||
Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > | anglePre = Vector<T,utilities::dimensions::convert<PARTICLETYPE::d>::rotation>(0.) ) |
Definition at line 98 of file particleDynamicsUtilities.h.
void olb::particles::dynamics::unserializeForce | ( | Vector< T, PARTICLETYPE::d > & | force, |
T | serializedFunctorForceField[], | ||
int | iP ) |
Unserialize force field provieded by force integration functor (e.g. stokesDragForce)
Definition at line 134 of file particleDynamicsFunctions.h.
void olb::particles::dynamics::unserializeForceTorqueVoxels | ( | Vector< T, PARTICLETYPE::d > & | force, |
Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > & | torque, | ||
T | serializedFunctorForceField[], | ||
int | iP ) |
Unserialize force field provieded by force integration functor (e.g. momentumExchange)
Definition at line 110 of file particleDynamicsFunctions.h.
void olb::particles::dynamics::updateRotationMatrix | ( | Particle< T, PARTICLETYPE > & | particle | ) |
Definition at line 40 of file particleDynamicsUtilities.h.
void olb::particles::dynamics::velocityVerletIntegration | ( | Particle< T, PARTICLETYPE > & | particle, |
T | delTime, | ||
Vector< T, PARTICLETYPE::d > | acceleration, | ||
Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > | angularAcceleration ) |
Definition at line 122 of file particleMotionFunctions.h.
References velocityVerletRotation(), and velocityVerletTranslation().
void olb::particles::dynamics::velocityVerletRotation | ( | Particle< T, PARTICLETYPE > & | particle, |
T | delTime, | ||
T | delTime2, | ||
Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > | angularAcceleration ) |
Definition at line 67 of file particleMotionFunctions.h.
References olb::util::fmod(), and M_PI.
void olb::particles::dynamics::velocityVerletRotor | ( | Particle< T, PARTICLETYPE > & | particle, |
T | delTime, | ||
Vector< T, PARTICLETYPE::d > | angVel ) |
Definition at line 96 of file particleMotionFunctions.h.
References olb::util::fmod(), and M_PI.
void olb::particles::dynamics::velocityVerletTranslation | ( | Particle< T, PARTICLETYPE > & | particle, |
T | delTime, | ||
T | delTime2, | ||
Vector< T, PARTICLETYPE::d > | acceleration ) |
Definition at line 45 of file particleMotionFunctions.h.