OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
olb::PowerLawParticleReynoldsNumber< T, Lattice, Particle > Class Template Reference

Class class for power-law particle Reynolds number computation within drag model. More...

#include <ReynoldsNumbers3D.h>

+ Inheritance diagram for olb::PowerLawParticleReynoldsNumber< T, Lattice, Particle >:
+ Collaboration diagram for olb::PowerLawParticleReynoldsNumber< T, Lattice, Particle >:

Public Member Functions

 PowerLawParticleReynoldsNumber (UnitConverter< T, Lattice > &converter, SuperLattice< T, Lattice > &sLattice)
 Constructor.
 
 ~PowerLawParticleReynoldsNumber ()
 Destructor.
 
virtual T operator() (Particle< T > *p, T magU, int globicFull[]) override
 Returns the particle Reynolds number. globicFull = { globic, latticeRoundedP[0, ..., 2] }.
 
- Public Member Functions inherited from olb::ParticleReynoldsNumberBase< T, Lattice, Particle >
virtual ~ParticleReynoldsNumberBase ()
 Destructor.
 
- Public Member Functions inherited from olb::ParticleReynoldsNumber< T, Particle >
virtual ~ParticleReynoldsNumber ()
 Destructor.
 

Protected Attributes

SuperLattice< T, Lattice > & _sLattice
 
- Protected Attributes inherited from olb::ParticleReynoldsNumberBase< T, Lattice, Particle >
UnitConverter< T, Lattice > & _converter
 
- Protected Attributes inherited from olb::ParticleReynoldsNumber< T, Particle >
_RePmin = 0.01
 

Additional Inherited Members

- Protected Member Functions inherited from olb::ParticleReynoldsNumberBase< T, Lattice, Particle >
 ParticleReynoldsNumberBase (UnitConverter< T, Lattice > &converter)
 Constructor.
 

Detailed Description

template<typename T, typename Lattice, template< typename V > class Particle>
class olb::PowerLawParticleReynoldsNumber< T, Lattice, Particle >

Class class for power-law particle Reynolds number computation within drag model.

Definition at line 78 of file ReynoldsNumbers3D.h.

Constructor & Destructor Documentation

◆ PowerLawParticleReynoldsNumber()

template<typename T , typename Lattice , template< typename V > class Particle>
olb::PowerLawParticleReynoldsNumber< T, Lattice, Particle >::PowerLawParticleReynoldsNumber ( UnitConverter< T, Lattice > & converter,
SuperLattice< T, Lattice > & sLattice )

Constructor.

Definition at line 59 of file ReynoldsNumbers3D.hh.

61 : ParticleReynoldsNumberBase<T,Lattice,Particle>(converter),
62 _sLattice(sLattice)
63{}
SuperLattice< T, Lattice > & _sLattice

◆ ~PowerLawParticleReynoldsNumber()

template<typename T , typename Lattice , template< typename V > class Particle>
olb::PowerLawParticleReynoldsNumber< T, Lattice, Particle >::~PowerLawParticleReynoldsNumber ( )
inline

Destructor.

Definition at line 84 of file ReynoldsNumbers3D.h.

84{};

Member Function Documentation

◆ operator()()

template<typename T , typename Lattice , template< typename V > class Particle>
T olb::PowerLawParticleReynoldsNumber< T, Lattice, Particle >::operator() ( Particle< T > * p,
T magU,
int globicFull[] )
overridevirtual

Returns the particle Reynolds number. globicFull = { globic, latticeRoundedP[0, ..., 2] }.

Implements olb::ParticleReynoldsNumber< T, Particle >.

Definition at line 66 of file ReynoldsNumbers3D.hh.

67{
68 // loc() indicates the local cuboid number locIC of the actual processing thread,
69 // for given global cuboid number iC
70 // this is to get appropriate particle system on locIC
71 int locIC = _sLattice.getLoadBalancer().loc(globicFull[0]);
72
73 // particle's dimensionless position, rounded at neighbouring voxel
74 int latticeRoundedPosP[3] = { globicFull[1], globicFull[2], globicFull[3] };
75
76 // getting the power-law relaxation frequency form the dynamics's external field
77 T omega = _sLattice.getBlock(locIC).get (
78 latticeRoundedPosP[0],
79 latticeRoundedPosP[1],
80 latticeRoundedPosP[2] ).template getField<descriptors::OMEGA>();
81
82 // physical viscosity from relaxation time
83 T nu = this->_converter.getPhysViscosity (
84 (1./omega - 0.5) / descriptors::invCs2<T,Lattice>() );
85
86 T ReP = 2. * p->getRad() * magU / nu;
87 return ReP > this->_RePmin ? ReP : this->_RePmin;
88}
UnitConverter< T, Lattice > & _converter
BlockLattice< T, DESCRIPTOR > & getBlock(int locC)
Return BlockLattice with local index locC.
LoadBalancer< T > & getLoadBalancer()
Read and write access to the load balancer.
constexpr T getPhysViscosity() const
return viscosity in physical units

Member Data Documentation

◆ _sLattice

template<typename T , typename Lattice , template< typename V > class Particle>
SuperLattice<T, Lattice>& olb::PowerLawParticleReynoldsNumber< T, Lattice, Particle >::_sLattice
protected

Definition at line 88 of file ReynoldsNumbers3D.h.


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