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

Abstact class for all the back-coupling models, viz., momentum coupling from particle to fluid. More...

#include <backCouplingModels.h>

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

Public Member Functions

virtual void resetExternalField (int material) override
 Resets external field.
 
- Public Member Functions inherited from olb::BackCouplingModel< T, Particle >
virtual void communicate ()=0
 Communicates POPULATION and FORCE fields if the model is non-local.
 
virtual bool operator() (Particle< T > *p, int globic, int material, int subCycles=1)=0
 Class operator to apply the coupling, for overload.
 

Protected Member Functions

 BaseBackCouplingModel (UnitConverter< T, Lattice > &converter, SuperLattice< T, Lattice > &sLattice, SuperGeometry< T, 3 > &sGeometry, int overlap)
 Constructor.
 

Protected Attributes

UnitConverter< T, Lattice > & _converter
 
SuperGeometry< T, 3 > & _sGeometry
 
SuperLattice< T, Lattice > & _sLattice
 
SuperCommunicator< T, SuperLattice< T, Lattice > > _commPopulation
 

Detailed Description

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

Abstact class for all the back-coupling models, viz., momentum coupling from particle to fluid.

Input parameters in attice units.

Definition at line 55 of file backCouplingModels.h.

Constructor & Destructor Documentation

◆ BaseBackCouplingModel()

template<typename T , typename Lattice , template< typename V > class Particle>
olb::BaseBackCouplingModel< T, Lattice, Particle >::BaseBackCouplingModel ( UnitConverter< T, Lattice > & converter,
SuperLattice< T, Lattice > & sLattice,
SuperGeometry< T, 3 > & sGeometry,
int overlap )
protected

Constructor.

Definition at line 37 of file backCouplingModels.hh.

42 : _converter(converter),
43 _sGeometry(sGeometry),
44 _sLattice(sLattice),
46{
47 _commPopulation.template requestField<olb::descriptors::POPULATION>();
48 _commPopulation.requestOverlap(overlap);
49 _commPopulation.exchangeRequests();
50
51 _zeroAnalytical = std::make_shared<AnalyticalConst3D<T, T> > (T());
52 _zeroField = std::make_shared<AnalyticalComposed3D<T, T> > (*_zeroAnalytical, *_zeroAnalytical, *_zeroAnalytical);
53}
UnitConverter< T, Lattice > & _converter
SuperLattice< T, Lattice > & _sLattice
SuperGeometry< T, 3 > & _sGeometry
SuperCommunicator< T, SuperLattice< T, Lattice > > _commPopulation

References olb::BaseBackCouplingModel< T, Lattice, Particle >::_commPopulation.

Member Function Documentation

◆ resetExternalField()

template<typename T , typename Lattice , template< typename V > class Particle>
void olb::BaseBackCouplingModel< T, Lattice, Particle >::resetExternalField ( int material)
overridevirtual

Resets external field.

Implements olb::BackCouplingModel< T, Particle >.

Definition at line 56 of file backCouplingModels.hh.

57{
58 // resets external field
59 this->_sLattice.template defineField<descriptors::FORCE>(this->_sGeometry, material, *_zeroField);
60
61 // NECESSARY to communicate values before using them in operator()
62 _commPopulation.communicate();
63}

Member Data Documentation

◆ _commPopulation

template<typename T , typename Lattice , template< typename V > class Particle>
SuperCommunicator<T, SuperLattice<T, Lattice> > olb::BaseBackCouplingModel< T, Lattice, Particle >::_commPopulation
protected

Definition at line 68 of file backCouplingModels.h.

◆ _converter

template<typename T , typename Lattice , template< typename V > class Particle>
UnitConverter<T, Lattice>& olb::BaseBackCouplingModel< T, Lattice, Particle >::_converter
protected

Definition at line 65 of file backCouplingModels.h.

◆ _sGeometry

template<typename T , typename Lattice , template< typename V > class Particle>
SuperGeometry<T,3>& olb::BaseBackCouplingModel< T, Lattice, Particle >::_sGeometry
protected

Definition at line 66 of file backCouplingModels.h.

◆ _sLattice

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

Definition at line 67 of file backCouplingModels.h.


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