OpenLB 1.7
|
Classes | |
struct | SpawnData |
Functions | |
template<typename T , typename PARTICLETYPE > | |
std::unordered_set< int > | prepareParallelResolvedParticle (SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, Vector< T, PARTICLETYPE::d > position, T circumRadius, const T epsilon, int &globiCcentre, const T physDeltaX, const Vector< bool, PARTICLETYPE::d > &periodicity) |
template<typename T , typename PARTICLETYPE > | |
Particle< T, PARTICLETYPE > | assignParallelResolvedParticleToiC (ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t idxSurface, std::size_t globID, int globiCcentre, const Vector< T, PARTICLETYPE::d > &position, T density=0., const Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > &angleInDegree=Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation >(0.), const Vector< T, PARTICLETYPE::d > &velocity=Vector< T, PARTICLETYPE::d >(0.)) |
template<typename T , typename PARTICLETYPE > | |
bool | assignParallelResolvedParticle (ParticleSystem< T, PARTICLETYPE > &particleSystem, std::unordered_set< int > &setOfICs, int globiC, std::size_t idxSurface, std::size_t globID, std::size_t &localID, int globiCcentre, const Vector< T, PARTICLETYPE::d > &position, T density=0., const Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > &angleInDegree=Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation >(0.), const Vector< T, PARTICLETYPE::d > &velocity=Vector< T, PARTICLETYPE::d >(0.)) |
template<typename T , typename PARTICLETYPE > | |
ParallelParticleLocator | addResolvedObject (SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, std::size_t idxSurface, const Vector< T, PARTICLETYPE::d > &position, T density=0., const Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > &angleInDegree=Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation >(0.), const Vector< T, PARTICLETYPE::d > &velocity=Vector< T, PARTICLETYPE::d >(0.), const Vector< bool, PARTICLETYPE::d > &periodicity=Vector< T, PARTICLETYPE::d >(false)) |
template<typename T , typename PARTICLETYPE , typename F > | |
std::size_t | addSurface (SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, F createUniqueIndicatorPtr) |
Adds surface (SmoothIndicator) to all block particle systems. | |
template<typename T , typename PARTICLETYPE > | |
ParallelParticleLocator | addResolvedSphere3D (SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, const Vector< T, 3 > &position, T radius, T epsilon, T density=0., const Vector< T, 3 > &velocity=Vector< T, 3 >(0.), const Vector< bool, 3 > &periodicity=Vector< bool, 3 >(false)) |
template<typename T , typename PARTICLETYPE > | |
ParallelParticleLocator | addResolvedCuboid3D (SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, const Vector< T, 3 > &position, const Vector< T, 3 > &extend, T epsilon, T density=0., const Vector< T, 3 > &angleInDegree=Vector< T, 3 >(0.), const Vector< T, 3 > &velocity=Vector< T, 3 >(0.), const Vector< bool, 3 > &periodicity=Vector< bool, 3 >(false)) |
template<typename T , typename PARTICLETYPE > | |
ParallelParticleLocator | addResolvedCylinder3D (SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, const Vector< T, 3 > &position, const Vector< T, 3 > &normal, T height, T radius, T epsilon, T density=0., const Vector< T, 3 > &angleInDegree=Vector< T, 3 >(0.), const Vector< T, 3 > &velocity=Vector< T, 3 >(0.), const Vector< bool, 3 > &periodicity=Vector< bool, 3 >(false)) |
template<typename T , typename PARTICLETYPE > | |
ParallelParticleLocator | addResolvedArbitraryShape3D (SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, const Vector< T, 3 > &position, T latticeSpacing, std::shared_ptr< IndicatorF3D< T > > indPtr, T epsilon, T density=0., const Vector< T, 3 > &angleInDegree=Vector< T, 3 >(0.), const Vector< T, 3 > &velocity=Vector< T, 3 >(0.), const Vector< bool, 3 > &periodicity=Vector< bool, 3 >(false)) |
template<typename T , typename PARTICLETYPE > | |
ParallelParticleLocator | addResolvedCircle2D (SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, const Vector< T, 2 > &position, T radius, T epsilon, T density=0., const Vector< T, 2 > &velocity=Vector< T, 2 >(0.), const Vector< bool, 2 > &periodicity=Vector< bool, 2 >(false)) |
template<typename T , typename PARTICLETYPE > | |
ParallelParticleLocator | addSubgridSphere3D (SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, const Vector< T, 3 > &position, T radius, T density=0., const Vector< T, 3 > &velocity=Vector< T, 3 >(0.)) |
template<typename T , typename PARTICLETYPE > | |
ParallelParticleLocator | addSubgridSphereWithSpecies3D (SuperParticleSystem< T, PARTICLETYPE > &sParticleSystem, const Vector< T, 3 > &position, T radius, T density=0., const Vector< T, 3 > &velocity=Vector< T, 3 >(0.), const int species=0) |
template<typename T , unsigned D> | |
T | calcParticleVolume (const std::vector< SpawnData< T, D > > &spawnData, const std::function< T(const std::size_t &)> &getParticleVolume) |
template<typename T , unsigned D> | |
T | calcParticleVolumeFraction (const std::vector< SpawnData< T, D > > &spawnData, const T fluidVolume, const std::function< T(const std::size_t &)> &getParticleVolume) |
template<typename T , unsigned D> | |
void | extendSpawnData (std::vector< SpawnData< T, D > > &spawnData, const T wantedParticleVolumeFraction, IndicatorF< T, D > &fluidDomain, const T fluidDomainVolume, const std::function< T(const std::size_t &)> &getCircumRadius, const std::function< T(const std::size_t &)> &getParticleVolume) |
template<typename T , unsigned D> | |
std::vector< SpawnData< T, D > > | setParticles (const T wantedParticleVolumeFraction, IndicatorF< T, D > &fluidDomain, const T fluidDomainVolume, const std::function< T(const std::size_t &)> &getCircumRadius, const std::function< T(const std::size_t &)> &getParticleVolume, const std::function< void(const SpawnData< T, D > &, const std::size_t &)> createParticle) |
std::vector< std::vector< std::string > > | readParticlePositions (const std::string &filename) |
template<typename T , unsigned D> | |
void | saveParticlePositions (const std::string &filename, const std::vector< SpawnData< T, D > > &spawnData, const std::function< std::string(const std::size_t &)> &evalIdentifier) |
template<typename T , unsigned D> | |
std::vector< SpawnData< T, D > > | setParticles (const std::string &filename, const T wantedParticleVolumeFraction, IndicatorF< T, D > &fluidDomain, const T fluidDomainVolume, const std::function< T(const std::size_t &)> &getParticleVolume, const std::function< void(const SpawnData< T, D > &, const std::string &)> createParticle) |
template<typename T , unsigned D> | |
void | extendSpawnData (std::vector< SpawnData< T, D > > &spawnData, const T wantedParticleVolumeFraction, IndicatorF< T, D > &fluidDomain, const T fluidDomainVolume, const std::function< PhysR< T, D >(const std::size_t &, const PhysR< T, D > &)> &getMin, const std::function< PhysR< T, D >(const std::size_t &, const PhysR< T, D > &)> &getMax, const std::function< T(const std::size_t &)> &getParticleVolume) |
template<typename T , unsigned D> | |
std::vector< SpawnData< T, D > > | setParticles (const T wantedParticleVolumeFraction, IndicatorF< T, D > &fluidDomain, const T fluidDomainVolume, const std::function< PhysR< T, D >(const std::size_t &, const PhysR< T, D > &)> &getMin, const std::function< PhysR< T, D >(const std::size_t &, const PhysR< T, D > &)> &getMax, const std::function< T(const std::size_t &)> &getParticleVolume, const std::function< void(const SpawnData< T, D > &, const std::size_t &)> createParticle) |
template<typename T , unsigned D> | |
void | extendSpawnData (std::vector< SpawnData< T, D > > &spawnData, const T wantedParticleVolumeFraction, IndicatorF< T, D > &fluidDomain, const T fluidDomainVolume, const T deltaX, const T contactDetectionDistance, const std::function< PhysR< T, D >(const std::size_t &, const PhysR< T, D > &)> &getMin, const std::function< PhysR< T, D >(const std::size_t &, const PhysR< T, D > &)> &getMax, const std::function< T(const std::size_t &, const SpawnData< T, D > &, const PhysR< T, D > &)> &signedDistanceToParticle, const std::function< T(const std::size_t &)> &getParticleVolume) |
template<typename T , unsigned D> | |
std::vector< SpawnData< T, D > > | setParticles (const T wantedParticleVolumeFraction, IndicatorF< T, D > &fluidDomain, const T fluidDomainVolume, const T deltaX, const T contactDetectionDistance, const std::function< PhysR< T, D >(const std::size_t &, const PhysR< T, D > &)> &getMin, const std::function< PhysR< T, D >(const std::size_t &, const PhysR< T, D > &)> &getMax, const std::function< T(const std::size_t &, const SpawnData< T, D > &, const PhysR< T, D > &)> &signedDistanceToParticle, const std::function< T(const std::size_t &)> &getParticleVolume, const std::function< void(const SpawnData< T, D > &, const std::size_t &)> createParticle) |
template<typename T , typename PARTICLETYPE > | |
std::vector< SpawnData< T, PARTICLETYPE::d > > | updateParticlePositions (std::vector< SpawnData< T, PARTICLETYPE::d > > spawnData, XParticleSystem< T, PARTICLETYPE > &particleSystem, MPI_Comm particleCreatorComm=MPI_COMM_WORLD) |
Updates particle positions so that they can be easily written to a txt file with the function above. | |
template<typename T , typename PARTICLETYPE > | |
std::vector< SpawnData< T, PARTICLETYPE::d > > | saveUpdatedParticlePositions (const std::string &filename, const std::vector< SpawnData< T, PARTICLETYPE::d > > &originalSpawnData, const std::function< std::string(const std::size_t &)> &evalIdentifier, XParticleSystem< T, PARTICLETYPE > &particleSystem, MPI_Comm particleCreatorComm=MPI_COMM_WORLD) |
template<typename T , typename PARTICLETYPE , bool ROTATION_IS_OPTIONAL = false> | |
void | setResolvedObject (ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t idxParticle, std::size_t idxSurface, const Vector< T, 2 > &position, T density, T angle, const Vector< T, 2 > &velocity) |
template<typename T , typename PARTICLETYPE > | |
void | addResolvedObject (ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t idxSurface, const Vector< T, 2 > &position, T density=0., T angle=0., const Vector< T, 2 > &velocity=Vector< T, 2 >(0.)) |
Add resolved object as new particle with existing surface. | |
template<typename T , typename PARTICLETYPE > | |
void | setResolvedCircle2D (ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t idxParticle, Vector< T, 2 > position, T radius, T epsilon, T density=0., Vector< T, 2 > velocity=Vector< T, 2 >(0.)) |
Set resolved circle for existing particle but new surface. | |
template<typename T , typename PARTICLETYPE > | |
void | addResolvedCircle2D (ParticleSystem< T, PARTICLETYPE > &particleSystem, Vector< T, 2 > position, T radius, T epsilon, T density=0., Vector< T, 2 > velocity=Vector< T, 2 >(0.)) |
Add resolved circle as new particle with new surface. | |
template<typename T , typename PARTICLETYPE > | |
void | setResolvedCuboid2D (ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t idxParticle, Vector< T, 2 > position, Vector< T, 2 > extend, T epsilon, T density=0., T angle=0., Vector< T, 2 > velocity=Vector< T, 2 >(0.)) |
Set resolved cuboid for existing particle but new surface. | |
template<typename T , typename PARTICLETYPE > | |
void | addResolvedCuboid2D (ParticleSystem< T, PARTICLETYPE > &particleSystem, Vector< T, 2 > position, Vector< T, 2 > extend, T epsilon, T density=0., T angle=0., Vector< T, 2 > velocity=Vector< T, 2 >(0.)) |
Add resolved cuboid as new particle with new surface. | |
template<typename T , typename PARTICLETYPE > | |
void | setResolvedTriangle2D (ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t idxParticle, Vector< T, 2 > position, T radius, T epsilon, T density=0., T angle=0., Vector< T, 2 > velocity=Vector< T, 2 >(0.)) |
Set resolved cuboid for existing particle but new surface. | |
template<typename T , typename PARTICLETYPE > | |
void | addResolvedTriangle2D (ParticleSystem< T, PARTICLETYPE > &particleSystem, Vector< T, 2 > position, T radius, T epsilon, T density=0., T angle=0., Vector< T, 2 > velocity=Vector< T, 2 >(0.)) |
Add resolved triangle as new particle with new surface. | |
template<typename T , typename PARTICLETYPE > | |
void | setResolvedArbitraryShape2D (ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t idxParticle, Vector< T, 2 > position, T latticeSpacing, std::shared_ptr< IndicatorF2D< T > > indPtr, T epsilon, T density=0., T angle=0., Vector< T, 2 > velocity=Vector< T, 2 >(0.)) |
Set resolved cuboid for existing particle but new surface. | |
template<typename T , typename PARTICLETYPE > | |
void | addResolvedArbitraryShape2D (ParticleSystem< T, PARTICLETYPE > &particleSystem, Vector< T, 2 > position, T latticeSpacing, std::shared_ptr< IndicatorF2D< T > > indPtr, T epsilon, T density=0., T angle=0., Vector< T, 2 > velocity=Vector< T, 2 >(0.)) |
Add resolved arbitrary shape as new particle with new surface. | |
template<typename T , typename PARTICLETYPE , bool IGNORE_WARNINGS = false> | |
void | setResolvedSphere3D (ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t idxParticle, const Vector< T, 3 > &position, T radius, T epsilon, T density=0., const Vector< T, 3 > &velocity=Vector< T, 3 >(0.)) |
Set resolved sphere for existing particle but new surface. | |
template<typename T , typename PARTICLETYPE , bool IGNORE_WARNINGS = false> | |
void | addResolvedSphere3D (ParticleSystem< T, PARTICLETYPE > &particleSystem, const Vector< T, 3 > &position, T radius, T epsilon, T density=0., const Vector< T, 3 > &velocity=Vector< T, 3 >(0.)) |
Add resolved sphere as new particle with new surface. | |
template<typename T , typename PARTICLETYPE > | |
void | setResolvedCylinder3D (ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t idxParticle, const Vector< T, 3 > &position, const Vector< T, 3 > &normal, T height, T radius, T epsilon, T density=0., const Vector< T, 3 > &angleInDegree=Vector< T, 3 >(0.), const Vector< T, 3 > &velocity=Vector< T, 3 >(0.)) |
Set resolved cylinder for existing particle but new surface. | |
template<typename T , typename PARTICLETYPE > | |
void | addResolvedCylinder3D (ParticleSystem< T, PARTICLETYPE > &particleSystem, const Vector< T, 3 > &position, const Vector< T, 3 > &normal, T height, T radius, T epsilon, T density=0., const Vector< T, 3 > &angleInDegree=Vector< T, 3 >(0.), const Vector< T, 3 > &velocity=Vector< T, 3 >(0.)) |
Add resolved cylinder as new particle with new surface. | |
template<typename T , typename PARTICLETYPE > | |
void | setResolvedCuboid3D (ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t idxParticle, const Vector< T, 3 > &position, const Vector< T, 3 > &extend, T epsilon, T density=0., const Vector< T, 3 > &angleInDegree=Vector< T, 3 >(0.), const Vector< T, 3 > &velocity=Vector< T, 3 >(0.)) |
Set resolved cuboid for existing particle but new surface. | |
template<typename T , typename PARTICLETYPE > | |
void | addResolvedCuboid3D (ParticleSystem< T, PARTICLETYPE > &particleSystem, const Vector< T, 3 > &position, const Vector< T, 3 > &extend, T epsilon, T density=0., const Vector< T, 3 > &angleInDegree=Vector< T, 3 >(0.), const Vector< T, 3 > &velocity=Vector< T, 3 >(0.)) |
Add resolved cuboid as new particle with new surface. | |
template<typename T , typename PARTICLETYPE > | |
void | setResolvedCone3D (ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t idxParticle, const Vector< T, 3 > &position1, const Vector< T, 3 > &position2, T radius1, T radius2, T epsilon, T density=0, const Vector< T, 3 > &angleInDegree=Vector< T, 3 >(0.), const Vector< T, 3 > &velocity=Vector< T, 3 >(0.)) |
Set resolved cone for existing particle but new surface. | |
template<typename T , typename PARTICLETYPE > | |
void | addResolvedCone3D (ParticleSystem< T, PARTICLETYPE > &particleSystem, const Vector< T, 3 > &position1, const Vector< T, 3 > &position2, T radius1, T radius2, T epsilon, T density=0, const Vector< T, 3 > &angleInDegree=Vector< T, 3 >(0.), const Vector< T, 3 > &velocity=Vector< T, 3 >(0.)) |
Add resolved cone as new particle with new surface. | |
template<typename T , typename PARTICLETYPE > | |
void | setResolvedEllipsoid3D (ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t idxParticle, const Vector< T, 3 > &position, const Vector< T, 3 > &radius, T epsilon, T density=0., const Vector< T, 3 > &angleInDegree=Vector< T, 3 >(0.), const Vector< T, 3 > &velocity=Vector< T, 3 >(0.)) |
Set resolved ellipsoid for existing particle but new surface. | |
template<typename T , typename PARTICLETYPE > | |
void | addResolvedEllipsoid3D (ParticleSystem< T, PARTICLETYPE > &particleSystem, const Vector< T, 3 > &position, const Vector< T, 3 > &radius, T epsilon, T density=0., const Vector< T, 3 > &angleInDegree=Vector< T, 3 >(0.), const Vector< T, 3 > &velocity=Vector< T, 3 >(0.)) |
Add resolved ellipsoid as new particle with new surface. | |
template<typename T , typename PARTICLETYPE > | |
void | setResolvedArbitraryShape3D (ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t idxParticle, Vector< T, 3 > position, T latticeSpacing, std::shared_ptr< IndicatorF3D< T > > indPtr, T epsilon, T density=0., Vector< T, 3 > angleInDegree=Vector< T, 3 >(0.), Vector< T, 3 > velocity=Vector< T, 3 >(0.)) |
Set resolved cuboid for existing particle but new surface. | |
template<typename T , typename PARTICLETYPE > | |
void | addResolvedArbitraryShape3D (ParticleSystem< T, PARTICLETYPE > &particleSystem, Vector< T, 3 > position, T latticeSpacing, std::shared_ptr< IndicatorF3D< T > > indPtr, T epsilon, T density=0., Vector< T, 3 > angleInDegree=Vector< T, 3 >(0.), Vector< T, 3 > velocity=Vector< T, 3 >(0.)) |
Add resolved arbitrary shape as new particle with new surface. | |
template<typename T , typename PARTICLETYPE > | |
void | addSubgridSphere3D (ParticleSystem< T, PARTICLETYPE > &particleSystem, const Vector< T, 3 > &position, T radius, T density=0., const Vector< T, 3 > &velocity=Vector< T, 3 >(0.)) |
template<typename PARTICLETYPE , bool ROTATION_IS_OPTIONAL = false> | |
void | checkForErrors () |
template<typename T , typename PARTICLETYPE , bool ROTATION_IS_OPTIONAL = false> | |
Particle< T, PARTICLETYPE > | setResolvedObject (ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t idxParticle, std::size_t idxSurface, const Vector< T, PARTICLETYPE::d > &position, T density, Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > angleInDegree, const Vector< T, PARTICLETYPE::d > &velocity) |
Set new particle for existing surface (and return particle object) | |
template<typename T , typename PARTICLETYPE > | |
Particle< T, PARTICLETYPE > | addResolvedObject (ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t idxSurface, const Vector< T, PARTICLETYPE::d > &position, T density=0., const Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > &angleInDegree=Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation >(0.), const Vector< T, PARTICLETYPE::d > &velocity=Vector< T, PARTICLETYPE::d >(0.)) |
Add resolved object as new particle with existing surface (and return particle object) | |
template<typename T , typename PARTICLETYPE > | |
Particle< T, PARTICLETYPE > | setSubgridObject (ParticleSystem< T, PARTICLETYPE > &particleSystem, std::size_t idxParticle, const Vector< T, PARTICLETYPE::d > &position, T radius, T density, const Vector< T, PARTICLETYPE::d > &velocity, T shapeFactor=T{1}) |
Set new particle (and return particle object) | |
template<typename T , typename PARTICLETYPE > | |
Particle< T, PARTICLETYPE > | addSubgridObject (ParticleSystem< T, PARTICLETYPE > &particleSystem, const Vector< T, PARTICLETYPE::d > &position, T radius, T density=0., const Vector< T, PARTICLETYPE::d > &velocity=Vector< T, PARTICLETYPE::d >(0.)) |
Add subgrid object as new particle (and return particle object) | |
void olb::particles::creators::addResolvedArbitraryShape2D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
Vector< T, 2 > | position, | ||
T | latticeSpacing, | ||
std::shared_ptr< IndicatorF2D< T > > | indPtr, | ||
T | epsilon, | ||
T | density = 0., | ||
T | angle = 0., | ||
Vector< T, 2 > | velocity = Vector<T,2> (0.) ) |
Add resolved arbitrary shape as new particle with new surface.
Set resolved arbitrary shape 2D at given index
Definition at line 252 of file particleCreatorFunctions2D.h.
References olb::particles::ParticleSystem< T, PARTICLETYPE >::extend(), setResolvedArbitraryShape2D(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
void olb::particles::creators::addResolvedArbitraryShape3D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
Vector< T, 3 > | position, | ||
T | latticeSpacing, | ||
std::shared_ptr< IndicatorF3D< T > > | indPtr, | ||
T | epsilon, | ||
T | density = 0., | ||
Vector< T, 3 > | angleInDegree = Vector<T,3> (0.), | ||
Vector< T, 3 > | velocity = Vector<T,3> (0.) ) |
Add resolved arbitrary shape as new particle with new surface.
Set resolved arbitrary shape 3D at given index
Definition at line 336 of file particleCreatorFunctions3D.h.
References olb::particles::ParticleSystem< T, PARTICLETYPE >::extend(), setResolvedArbitraryShape3D(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
ParallelParticleLocator olb::particles::creators::addResolvedArbitraryShape3D | ( | SuperParticleSystem< T, PARTICLETYPE > & | sParticleSystem, |
const Vector< T, 3 > & | position, | ||
T | latticeSpacing, | ||
std::shared_ptr< IndicatorF3D< T > > | indPtr, | ||
T | epsilon, | ||
T | density = 0., | ||
const Vector< T, 3 > & | angleInDegree = Vector<T,3> (0.), | ||
const Vector< T, 3 > & | velocity = Vector<T,3> (0.), | ||
const Vector< bool, 3 > & | periodicity = Vector<bool,3>(false) ) |
Definition at line 345 of file particleParallelCreatorFunctions3D.h.
References addSurface(), assignParallelResolvedParticle(), olb::particles::communication::forSystemsInSuperParticleSystem(), olb::SuperStructure< T, D >::getCuboidGeometry(), olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getGlobID(), olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getSuperStructure(), and prepareParallelResolvedParticle().
void olb::particles::creators::addResolvedCircle2D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
Vector< T, 2 > | position, | ||
T | radius, | ||
T | epsilon, | ||
T | density = 0., | ||
Vector< T, 2 > | velocity = Vector<T,2>(0.) ) |
Add resolved circle as new particle with new surface.
Set resolved circle 2D at given index
Definition at line 109 of file particleCreatorFunctions2D.h.
References olb::particles::ParticleSystem< T, PARTICLETYPE >::extend(), setResolvedCircle2D(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
ParallelParticleLocator olb::particles::creators::addResolvedCircle2D | ( | SuperParticleSystem< T, PARTICLETYPE > & | sParticleSystem, |
const Vector< T, 2 > & | position, | ||
T | radius, | ||
T | epsilon, | ||
T | density = 0., | ||
const Vector< T, 2 > & | velocity = Vector<T,2> (0.), | ||
const Vector< bool, 2 > & | periodicity = Vector<bool,2>(false) ) |
Definition at line 394 of file particleParallelCreatorFunctions3D.h.
References addSurface(), assignParallelResolvedParticle(), olb::particles::communication::forSystemsInSuperParticleSystem(), olb::SuperStructure< T, D >::getCuboidGeometry(), olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getGlobID(), olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getSuperStructure(), and prepareParallelResolvedParticle().
void olb::particles::creators::addResolvedCone3D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
const Vector< T, 3 > & | position1, | ||
const Vector< T, 3 > & | position2, | ||
T | radius1, | ||
T | radius2, | ||
T | epsilon, | ||
T | density = 0, | ||
const Vector< T, 3 > & | angleInDegree = Vector<T,3> (0.), | ||
const Vector< T, 3 > & | velocity = Vector<T,3> (0.) ) |
Add resolved cone as new particle with new surface.
Set resolved cone 3D at given index
Definition at line 233 of file particleCreatorFunctions3D.h.
References olb::particles::ParticleSystem< T, PARTICLETYPE >::extend(), setResolvedCone3D(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
void olb::particles::creators::addResolvedCuboid2D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
Vector< T, 2 > | position, | ||
Vector< T, 2 > | extend, | ||
T | epsilon, | ||
T | density = 0., | ||
T | angle = 0., | ||
Vector< T, 2 > | velocity = Vector<T,2> (0.) ) |
Add resolved cuboid as new particle with new surface.
Set resolved cuboid 2D at given index
Definition at line 155 of file particleCreatorFunctions2D.h.
References olb::particles::ParticleSystem< T, PARTICLETYPE >::extend(), setResolvedCuboid2D(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
void olb::particles::creators::addResolvedCuboid3D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
const Vector< T, 3 > & | position, | ||
const Vector< T, 3 > & | extend, | ||
T | epsilon, | ||
T | density = 0., | ||
const Vector< T, 3 > & | angleInDegree = Vector<T,3> (0.), | ||
const Vector< T, 3 > & | velocity = Vector<T,3> (0.) ) |
Add resolved cuboid as new particle with new surface.
Set resolved cuboid 3D at given index
Definition at line 183 of file particleCreatorFunctions3D.h.
References olb::particles::ParticleSystem< T, PARTICLETYPE >::extend(), setResolvedCuboid3D(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
ParallelParticleLocator olb::particles::creators::addResolvedCuboid3D | ( | SuperParticleSystem< T, PARTICLETYPE > & | sParticleSystem, |
const Vector< T, 3 > & | position, | ||
const Vector< T, 3 > & | extend, | ||
T | epsilon, | ||
T | density = 0., | ||
const Vector< T, 3 > & | angleInDegree = Vector<T,3> (0.), | ||
const Vector< T, 3 > & | velocity = Vector<T,3> (0.), | ||
const Vector< bool, 3 > & | periodicity = Vector<bool,3>(false) ) |
Definition at line 249 of file particleParallelCreatorFunctions3D.h.
References addSurface(), assignParallelResolvedParticle(), olb::particles::communication::forSystemsInSuperParticleSystem(), olb::SuperStructure< T, D >::getCuboidGeometry(), olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getGlobID(), olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getSuperStructure(), and prepareParallelResolvedParticle().
void olb::particles::creators::addResolvedCylinder3D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
const Vector< T, 3 > & | position, | ||
const Vector< T, 3 > & | normal, | ||
T | height, | ||
T | radius, | ||
T | epsilon, | ||
T | density = 0., | ||
const Vector< T, 3 > & | angleInDegree = Vector<T,3> (0.), | ||
const Vector< T, 3 > & | velocity = Vector<T,3> (0.) ) |
Add resolved cylinder as new particle with new surface.
Set resolved cylinder 3D at given index
Definition at line 134 of file particleCreatorFunctions3D.h.
References olb::particles::ParticleSystem< T, PARTICLETYPE >::extend(), setResolvedCylinder3D(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
ParallelParticleLocator olb::particles::creators::addResolvedCylinder3D | ( | SuperParticleSystem< T, PARTICLETYPE > & | sParticleSystem, |
const Vector< T, 3 > & | position, | ||
const Vector< T, 3 > & | normal, | ||
T | height, | ||
T | radius, | ||
T | epsilon, | ||
T | density = 0., | ||
const Vector< T, 3 > & | angleInDegree = Vector<T,3> (0.), | ||
const Vector< T, 3 > & | velocity = Vector<T,3> (0.), | ||
const Vector< bool, 3 > & | periodicity = Vector<bool,3>(false) ) |
Definition at line 298 of file particleParallelCreatorFunctions3D.h.
References addSurface(), assignParallelResolvedParticle(), olb::particles::communication::forSystemsInSuperParticleSystem(), olb::SuperStructure< T, D >::getCuboidGeometry(), olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getGlobID(), olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getSuperStructure(), and prepareParallelResolvedParticle().
void olb::particles::creators::addResolvedEllipsoid3D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
const Vector< T, 3 > & | position, | ||
const Vector< T, 3 > & | radius, | ||
T | epsilon, | ||
T | density = 0., | ||
const Vector< T, 3 > & | angleInDegree = Vector<T,3> (0.), | ||
const Vector< T, 3 > & | velocity = Vector<T,3> (0.) ) |
Add resolved ellipsoid as new particle with new surface.
Set resolved ellipsoid 3D at given index
Definition at line 284 of file particleCreatorFunctions3D.h.
References olb::particles::ParticleSystem< T, PARTICLETYPE >::extend(), setResolvedEllipsoid3D(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
void olb::particles::creators::addResolvedObject | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
std::size_t | idxSurface, | ||
const Vector< T, 2 > & | position, | ||
T | density = 0., | ||
T | angle = 0., | ||
const Vector< T, 2 > & | velocity = Vector<T,2> (0.) ) |
Add resolved object as new particle with existing surface.
Set resolved object 2D at given index
Definition at line 62 of file particleCreatorFunctions2D.h.
References addResolvedObject().
Particle< T, PARTICLETYPE > olb::particles::creators::addResolvedObject | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
std::size_t | idxSurface, | ||
const Vector< T, PARTICLETYPE::d > & | position, | ||
T | density = 0., | ||
const Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > & | angleInDegree = Vector<T,utilities::dimensions::convert<PARTICLETYPE::d>::rotation> (0.), | ||
const Vector< T, PARTICLETYPE::d > & | velocity = Vector<T,PARTICLETYPE::d> (0.) ) |
Add resolved object as new particle with existing surface (and return particle object)
Set resolved object 3D at given index
Return new particle object
Definition at line 101 of file particleCreatorHelperFunctions.h.
References olb::particles::ParticleSystem< T, PARTICLETYPE >::extend(), olb::particles::ParticleSystem< T, PARTICLETYPE >::get(), setResolvedObject(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
ParallelParticleLocator olb::particles::creators::addResolvedObject | ( | SuperParticleSystem< T, PARTICLETYPE > & | sParticleSystem, |
std::size_t | idxSurface, | ||
const Vector< T, PARTICLETYPE::d > & | position, | ||
T | density = 0., | ||
const Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > & | angleInDegree = Vector<T,utilities::dimensions::convert<PARTICLETYPE::d>::rotation> (0.), | ||
const Vector< T, PARTICLETYPE::d > & | velocity = Vector<T,PARTICLETYPE::d> (0.), | ||
const Vector< bool, PARTICLETYPE::d > & | periodicity = Vector<T,PARTICLETYPE::d>(false) ) |
Definition at line 129 of file particleParallelCreatorFunctions3D.h.
References assignParallelResolvedParticle(), olb::particles::communication::forSystemsInSuperParticleSystem(), olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getBlockParticleSystems(), olb::SuperStructure< T, D >::getCuboidGeometry(), olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getGlobID(), olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getSuperStructure(), and prepareParallelResolvedParticle().
void olb::particles::creators::addResolvedSphere3D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
const Vector< T, 3 > & | position, | ||
T | radius, | ||
T | epsilon, | ||
T | density = 0., | ||
const Vector< T, 3 > & | velocity = Vector<T,3> (0.) ) |
Add resolved sphere as new particle with new surface.
Set resolved sphere 3D at given index
Definition at line 86 of file particleCreatorFunctions3D.h.
References olb::particles::ParticleSystem< T, PARTICLETYPE >::extend(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
ParallelParticleLocator olb::particles::creators::addResolvedSphere3D | ( | SuperParticleSystem< T, PARTICLETYPE > & | sParticleSystem, |
const Vector< T, 3 > & | position, | ||
T | radius, | ||
T | epsilon, | ||
T | density = 0., | ||
const Vector< T, 3 > & | velocity = Vector<T,3> (0.), | ||
const Vector< bool, 3 > & | periodicity = Vector<bool,3>(false) ) |
Definition at line 201 of file particleParallelCreatorFunctions3D.h.
References addSurface(), assignParallelResolvedParticle(), olb::particles::communication::forSystemsInSuperParticleSystem(), olb::SuperStructure< T, D >::getCuboidGeometry(), olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getGlobID(), olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getSuperStructure(), and prepareParallelResolvedParticle().
void olb::particles::creators::addResolvedTriangle2D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
Vector< T, 2 > | position, | ||
T | radius, | ||
T | epsilon, | ||
T | density = 0., | ||
T | angle = 0., | ||
Vector< T, 2 > | velocity = Vector<T,2> (0.) ) |
Add resolved triangle as new particle with new surface.
Set resolved triangle 2D at given index
Definition at line 203 of file particleCreatorFunctions2D.h.
References olb::particles::ParticleSystem< T, PARTICLETYPE >::extend(), setResolvedTriangle2D(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
Particle< T, PARTICLETYPE > olb::particles::creators::addSubgridObject | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
const Vector< T, PARTICLETYPE::d > & | position, | ||
T | radius, | ||
T | density = 0., | ||
const Vector< T, PARTICLETYPE::d > & | velocity = Vector<T,PARTICLETYPE::d> (0.) ) |
Add subgrid object as new particle (and return particle object)
Set subgrid object 3D at given index
Return new particle object
Definition at line 168 of file particleCreatorHelperFunctions.h.
References olb::particles::ParticleSystem< T, PARTICLETYPE >::extend(), olb::particles::ParticleSystem< T, PARTICLETYPE >::get(), setSubgridObject(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
void olb::particles::creators::addSubgridSphere3D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
const Vector< T, 3 > & | position, | ||
T | radius, | ||
T | density = 0., | ||
const Vector< T, 3 > & | velocity = Vector<T,3> (0.) ) |
Definition at line 360 of file particleCreatorFunctions3D.h.
References addSubgridObject().
ParallelParticleLocator olb::particles::creators::addSubgridSphere3D | ( | SuperParticleSystem< T, PARTICLETYPE > & | sParticleSystem, |
const Vector< T, 3 > & | position, | ||
T | radius, | ||
T | density = 0., | ||
const Vector< T, 3 > & | velocity = Vector<T,3> (0.) ) |
Definition at line 443 of file particleParallelCreatorFunctions3D.h.
References addSubgridObject(), olb::particles::communication::forSystemsInSuperParticleSystem(), olb::particles::ParticleSystem< T, PARTICLETYPE >::get(), olb::SuperStructure< T, D >::getCuboidGeometry(), olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getGlobID(), olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getSuperStructure(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
ParallelParticleLocator olb::particles::creators::addSubgridSphereWithSpecies3D | ( | SuperParticleSystem< T, PARTICLETYPE > & | sParticleSystem, |
const Vector< T, 3 > & | position, | ||
T | radius, | ||
T | density = 0., | ||
const Vector< T, 3 > & | velocity = Vector<T,3> (0.), | ||
const int | species = 0 ) |
Definition at line 482 of file particleParallelCreatorFunctions3D.h.
References addSubgridObject(), olb::particles::communication::forSystemsInSuperParticleSystem(), olb::particles::ParticleSystem< T, PARTICLETYPE >::get(), olb::SuperStructure< T, D >::getCuboidGeometry(), olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getGlobID(), olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getSuperStructure(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
std::size_t olb::particles::creators::addSurface | ( | SuperParticleSystem< T, PARTICLETYPE > & | sParticleSystem, |
F | createUniqueIndicatorPtr ) |
Adds surface (SmoothIndicator) to all block particle systems.
Definition at line 174 of file particleParallelCreatorFunctions3D.h.
References olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getBlockParticleSystems().
bool olb::particles::creators::assignParallelResolvedParticle | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
std::unordered_set< int > & | setOfICs, | ||
int | globiC, | ||
std::size_t | idxSurface, | ||
std::size_t | globID, | ||
std::size_t & | localID, | ||
int | globiCcentre, | ||
const Vector< T, PARTICLETYPE::d > & | position, | ||
T | density = 0., | ||
const Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > & | angleInDegree = Vector<T,utilities::dimensions::convert<PARTICLETYPE::d>::rotation> (0.), | ||
const Vector< T, PARTICLETYPE::d > & | velocity = Vector<T,PARTICLETYPE::d> (0.) ) |
Definition at line 102 of file particleParallelCreatorFunctions3D.h.
References assignParallelResolvedParticleToiC().
Particle< T, PARTICLETYPE > olb::particles::creators::assignParallelResolvedParticleToiC | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
std::size_t | idxSurface, | ||
std::size_t | globID, | ||
int | globiCcentre, | ||
const Vector< T, PARTICLETYPE::d > & | position, | ||
T | density = 0., | ||
const Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > & | angleInDegree = Vector<T,utilities::dimensions::convert<PARTICLETYPE::d>::rotation> (0.), | ||
const Vector< T, PARTICLETYPE::d > & | velocity = Vector<T,PARTICLETYPE::d> (0.) ) |
Definition at line 79 of file particleParallelCreatorFunctions3D.h.
References addResolvedObject().
T olb::particles::creators::calcParticleVolume | ( | const std::vector< SpawnData< T, D > > & | spawnData, |
const std::function< T(const std::size_t &)> & | getParticleVolume ) |
Definition at line 57 of file particleCreatorFunctions.h.
T olb::particles::creators::calcParticleVolumeFraction | ( | const std::vector< SpawnData< T, D > > & | spawnData, |
const T | fluidVolume, | ||
const std::function< T(const std::size_t &)> & | getParticleVolume ) |
Definition at line 73 of file particleCreatorFunctions.h.
References calcParticleVolume().
void olb::particles::creators::checkForErrors | ( | ) |
Definition at line 36 of file particleCreatorHelperFunctions.h.
void olb::particles::creators::extendSpawnData | ( | std::vector< SpawnData< T, D > > & | spawnData, |
const T | wantedParticleVolumeFraction, | ||
IndicatorF< T, D > & | fluidDomain, | ||
const T | fluidDomainVolume, | ||
const std::function< PhysR< T, D >(const std::size_t &, const PhysR< T, D > &)> & | getMin, | ||
const std::function< PhysR< T, D >(const std::size_t &, const PhysR< T, D > &)> & | getMax, | ||
const std::function< T(const std::size_t &)> & | getParticleVolume ) |
Definition at line 263 of file particleCreatorFunctions.h.
References calcParticleVolume().
void olb::particles::creators::extendSpawnData | ( | std::vector< SpawnData< T, D > > & | spawnData, |
const T | wantedParticleVolumeFraction, | ||
IndicatorF< T, D > & | fluidDomain, | ||
const T | fluidDomainVolume, | ||
const std::function< T(const std::size_t &)> & | getCircumRadius, | ||
const std::function< T(const std::size_t &)> & | getParticleVolume ) |
Definition at line 81 of file particleCreatorFunctions.h.
References calcParticleVolume(), olb::particles::discrete_points_on_hull::calculate(), and olb::norm().
void olb::particles::creators::extendSpawnData | ( | std::vector< SpawnData< T, D > > & | spawnData, |
const T | wantedParticleVolumeFraction, | ||
IndicatorF< T, D > & | fluidDomain, | ||
const T | fluidDomainVolume, | ||
const T | deltaX, | ||
const T | contactDetectionDistance, | ||
const std::function< PhysR< T, D >(const std::size_t &, const PhysR< T, D > &)> & | getMin, | ||
const std::function< PhysR< T, D >(const std::size_t &, const PhysR< T, D > &)> & | getMax, | ||
const std::function< T(const std::size_t &, const SpawnData< T, D > &, const PhysR< T, D > &)> & | signedDistanceToParticle, | ||
const std::function< T(const std::size_t &)> & | getParticleVolume ) |
Definition at line 411 of file particleCreatorFunctions.h.
References calcParticleVolume(), olb::util::ceil(), olb::util::floor(), and olb::particles::contact::forEachPositionWithBreak().
std::unordered_set< int > olb::particles::creators::prepareParallelResolvedParticle | ( | SuperParticleSystem< T, PARTICLETYPE > & | sParticleSystem, |
Vector< T, PARTICLETYPE::d > | position, | ||
T | circumRadius, | ||
const T | epsilon, | ||
int & | globiCcentre, | ||
const T | physDeltaX, | ||
const Vector< bool, PARTICLETYPE::d > & | periodicity ) |
Definition at line 46 of file particleParallelCreatorFunctions3D.h.
References olb::particles::communication::getCuboid(), olb::SuperStructure< T, D >::getCuboidGeometry(), olb::particles::SuperParticleSystem< T, PARTICLETYPE >::getSuperStructure(), olb::particles::communication::getSurfaceTouchingICs(), olb::util::max(), olb::util::sqrt(), and olb::particles::SuperParticleSystem< T, PARTICLETYPE >::updateOffsetFromCircumRadius().
std::vector< std::vector< std::string > > olb::particles::creators::readParticlePositions | ( | const std::string & | filename | ) |
Definition at line 183 of file particleCreatorFunctions.h.
void olb::particles::creators::saveParticlePositions | ( | const std::string & | filename, |
const std::vector< SpawnData< T, D > > & | spawnData, | ||
const std::function< std::string(const std::size_t &)> & | evalIdentifier ) |
Definition at line 210 of file particleCreatorFunctions.h.
std::vector< SpawnData< T, PARTICLETYPE::d > > olb::particles::creators::saveUpdatedParticlePositions | ( | const std::string & | filename, |
const std::vector< SpawnData< T, PARTICLETYPE::d > > & | originalSpawnData, | ||
const std::function< std::string(const std::size_t &)> & | evalIdentifier, | ||
XParticleSystem< T, PARTICLETYPE > & | particleSystem, | ||
MPI_Comm | particleCreatorComm = MPI_COMM_WORLD ) |
Definition at line 650 of file particleCreatorFunctions.h.
References saveParticlePositions().
std::vector< SpawnData< T, D > > olb::particles::creators::setParticles | ( | const std::string & | filename, |
const T | wantedParticleVolumeFraction, | ||
IndicatorF< T, D > & | fluidDomain, | ||
const T | fluidDomainVolume, | ||
const std::function< T(const std::size_t &)> & | getParticleVolume, | ||
const std::function< void(const SpawnData< T, D > &, const std::string &)> | createParticle ) |
Definition at line 231 of file particleCreatorFunctions.h.
References readParticlePositions().
std::vector< SpawnData< T, D > > olb::particles::creators::setParticles | ( | const T | wantedParticleVolumeFraction, |
IndicatorF< T, D > & | fluidDomain, | ||
const T | fluidDomainVolume, | ||
const std::function< PhysR< T, D >(const std::size_t &, const PhysR< T, D > &)> & | getMin, | ||
const std::function< PhysR< T, D >(const std::size_t &, const PhysR< T, D > &)> & | getMax, | ||
const std::function< T(const std::size_t &)> & | getParticleVolume, | ||
const std::function< void(const SpawnData< T, D > &, const std::size_t &)> | createParticle ) |
Definition at line 389 of file particleCreatorFunctions.h.
std::vector< SpawnData< T, D > > olb::particles::creators::setParticles | ( | const T | wantedParticleVolumeFraction, |
IndicatorF< T, D > & | fluidDomain, | ||
const T | fluidDomainVolume, | ||
const std::function< T(const std::size_t &)> & | getCircumRadius, | ||
const std::function< T(const std::size_t &)> & | getParticleVolume, | ||
const std::function< void(const SpawnData< T, D > &, const std::size_t &)> | createParticle ) |
Definition at line 162 of file particleCreatorFunctions.h.
std::vector< SpawnData< T, D > > olb::particles::creators::setParticles | ( | const T | wantedParticleVolumeFraction, |
IndicatorF< T, D > & | fluidDomain, | ||
const T | fluidDomainVolume, | ||
const T | deltaX, | ||
const T | contactDetectionDistance, | ||
const std::function< PhysR< T, D >(const std::size_t &, const PhysR< T, D > &)> & | getMin, | ||
const std::function< PhysR< T, D >(const std::size_t &, const PhysR< T, D > &)> & | getMax, | ||
const std::function< T(const std::size_t &, const SpawnData< T, D > &, const PhysR< T, D > &)> & | signedDistanceToParticle, | ||
const std::function< T(const std::size_t &)> & | getParticleVolume, | ||
const std::function< void(const SpawnData< T, D > &, const std::size_t &)> | createParticle ) |
Definition at line 511 of file particleCreatorFunctions.h.
void olb::particles::creators::setResolvedArbitraryShape2D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
std::size_t | idxParticle, | ||
Vector< T, 2 > | position, | ||
T | latticeSpacing, | ||
std::shared_ptr< IndicatorF2D< T > > | indPtr, | ||
T | epsilon, | ||
T | density = 0., | ||
T | angle = 0., | ||
Vector< T, 2 > | velocity = Vector<T,2> (0.) ) |
Set resolved cuboid for existing particle but new surface.
Set resolved arbitrary shape with given suface
Definition at line 224 of file particleCreatorFunctions2D.h.
References setResolvedObject(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
void olb::particles::creators::setResolvedArbitraryShape3D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
std::size_t | idxParticle, | ||
Vector< T, 3 > | position, | ||
T | latticeSpacing, | ||
std::shared_ptr< IndicatorF3D< T > > | indPtr, | ||
T | epsilon, | ||
T | density = 0., | ||
Vector< T, 3 > | angleInDegree = Vector<T,3> (0.), | ||
Vector< T, 3 > | velocity = Vector<T,3> (0.) ) |
Set resolved cuboid for existing particle but new surface.
Set resolved arbitrary shape with given suface
Definition at line 307 of file particleCreatorFunctions3D.h.
References setResolvedObject(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
void olb::particles::creators::setResolvedCircle2D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
std::size_t | idxParticle, | ||
Vector< T, 2 > | position, | ||
T | radius, | ||
T | epsilon, | ||
T | density = 0., | ||
Vector< T, 2 > | velocity = Vector<T,2>(0.) ) |
Set resolved circle for existing particle but new surface.
Set resolved circle 2D with given suface
Definition at line 77 of file particleCreatorFunctions2D.h.
References olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
void olb::particles::creators::setResolvedCone3D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
std::size_t | idxParticle, | ||
const Vector< T, 3 > & | position1, | ||
const Vector< T, 3 > & | position2, | ||
T | radius1, | ||
T | radius2, | ||
T | epsilon, | ||
T | density = 0, | ||
const Vector< T, 3 > & | angleInDegree = Vector<T,3> (0.), | ||
const Vector< T, 3 > & | velocity = Vector<T,3> (0.) ) |
Set resolved cone for existing particle but new surface.
Set resolved cone 3D with given suface
Definition at line 204 of file particleCreatorFunctions3D.h.
References setResolvedObject(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
void olb::particles::creators::setResolvedCuboid2D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
std::size_t | idxParticle, | ||
Vector< T, 2 > | position, | ||
Vector< T, 2 > | extend, | ||
T | epsilon, | ||
T | density = 0., | ||
T | angle = 0., | ||
Vector< T, 2 > | velocity = Vector<T,2> (0.) ) |
Set resolved cuboid for existing particle but new surface.
Set resolved cuboid 3D with given suface
Definition at line 128 of file particleCreatorFunctions2D.h.
References setResolvedObject(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
void olb::particles::creators::setResolvedCuboid3D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
std::size_t | idxParticle, | ||
const Vector< T, 3 > & | position, | ||
const Vector< T, 3 > & | extend, | ||
T | epsilon, | ||
T | density = 0., | ||
const Vector< T, 3 > & | angleInDegree = Vector<T,3> (0.), | ||
const Vector< T, 3 > & | velocity = Vector<T,3> (0.) ) |
Set resolved cuboid for existing particle but new surface.
Set resolved cuboid 3D with given suface
Definition at line 156 of file particleCreatorFunctions3D.h.
References setResolvedObject(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
void olb::particles::creators::setResolvedCylinder3D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
std::size_t | idxParticle, | ||
const Vector< T, 3 > & | position, | ||
const Vector< T, 3 > & | normal, | ||
T | height, | ||
T | radius, | ||
T | epsilon, | ||
T | density = 0., | ||
const Vector< T, 3 > & | angleInDegree = Vector<T,3> (0.), | ||
const Vector< T, 3 > & | velocity = Vector<T,3> (0.) ) |
Set resolved cylinder for existing particle but new surface.
Set resolved cylinder 3D with given suface
Definition at line 106 of file particleCreatorFunctions3D.h.
References setResolvedObject(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
void olb::particles::creators::setResolvedEllipsoid3D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
std::size_t | idxParticle, | ||
const Vector< T, 3 > & | position, | ||
const Vector< T, 3 > & | radius, | ||
T | epsilon, | ||
T | density = 0., | ||
const Vector< T, 3 > & | angleInDegree = Vector<T,3> (0.), | ||
const Vector< T, 3 > & | velocity = Vector<T,3> (0.) ) |
Set resolved ellipsoid for existing particle but new surface.
Set resolved ellipsoid 3D with given suface
Definition at line 255 of file particleCreatorFunctions3D.h.
References setResolvedObject(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
void olb::particles::creators::setResolvedObject | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
std::size_t | idxParticle, | ||
std::size_t | idxSurface, | ||
const Vector< T, 2 > & | position, | ||
T | density, | ||
T | angle, | ||
const Vector< T, 2 > & | velocity ) |
Definition at line 50 of file particleCreatorFunctions2D.h.
Particle< T, PARTICLETYPE > olb::particles::creators::setResolvedObject | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
std::size_t | idxParticle, | ||
std::size_t | idxSurface, | ||
const Vector< T, PARTICLETYPE::d > & | position, | ||
T | density, | ||
Vector< T, utilities::dimensions::convert< PARTICLETYPE::d >::rotation > | angleInDegree, | ||
const Vector< T, PARTICLETYPE::d > & | velocity ) |
Set new particle for existing surface (and return particle object)
Return new particle object
Definition at line 46 of file particleCreatorHelperFunctions.h.
References olb::util::degreeToRadian(), olb::particles::ParticleSystem< T, PARTICLETYPE >::get(), and olb::particles::access::setDensity().
void olb::particles::creators::setResolvedSphere3D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
std::size_t | idxParticle, | ||
const Vector< T, 3 > & | position, | ||
T | radius, | ||
T | epsilon, | ||
T | density = 0., | ||
const Vector< T, 3 > & | velocity = Vector<T,3> (0.) ) |
Set resolved sphere for existing particle but new surface.
Set resolved sphere 3D with given suface
Definition at line 53 of file particleCreatorFunctions3D.h.
References olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
void olb::particles::creators::setResolvedTriangle2D | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
std::size_t | idxParticle, | ||
Vector< T, 2 > | position, | ||
T | radius, | ||
T | epsilon, | ||
T | density = 0., | ||
T | angle = 0., | ||
Vector< T, 2 > | velocity = Vector<T,2> (0.) ) |
Set resolved cuboid for existing particle but new surface.
Set resolved triangle 2D with given suface
Definition at line 176 of file particleCreatorFunctions2D.h.
References setResolvedObject(), and olb::particles::ParticleSystem< T, PARTICLETYPE >::size().
Particle< T, PARTICLETYPE > olb::particles::creators::setSubgridObject | ( | ParticleSystem< T, PARTICLETYPE > & | particleSystem, |
std::size_t | idxParticle, | ||
const Vector< T, PARTICLETYPE::d > & | position, | ||
T | radius, | ||
T | density, | ||
const Vector< T, PARTICLETYPE::d > & | velocity, | ||
T | shapeFactor = T{1} ) |
Set new particle (and return particle object)
Return new particle object
Definition at line 125 of file particleCreatorHelperFunctions.h.
std::vector< SpawnData< T, PARTICLETYPE::d > > olb::particles::creators::updateParticlePositions | ( | std::vector< SpawnData< T, PARTICLETYPE::d > > | spawnData, |
XParticleSystem< T, PARTICLETYPE > & | particleSystem, | ||
MPI_Comm | particleCreatorComm = MPI_COMM_WORLD ) |
Updates particle positions so that they can be easily written to a txt file with the function above.
Definition at line 541 of file particleCreatorFunctions.h.
References olb::particles::communication::fillSendBuffer(), olb::particles::communication::forParticlesInSuperParticleSystem(), olb::particles::access::getAngle(), olb::FieldArrayD< T, DESCRIPTOR, PLATFORM, FIELD >::getField(), olb::particles::access::getPosition(), olb::singleton::mpi(), olb::util::radianToDegree(), olb::particles::communication::receiveAndExecuteForData(), olb::particles::communication::sendMappedData(), and olb::FieldArrayD< T, DESCRIPTOR, PLATFORM, FIELD >::setField().