28#ifndef LB_FORWARD_COUPLING_MODELS_H
29#define LB_FORWARD_COUPLING_MODELS_H
40template<
typename T,
template<
typename V>
class Particle>
55template<
typename T,
typename Lattice,
template<
typename V>
class Particle>
77template<
typename T,
typename Lattice,
template<
typename V>
class Particle>
81 virtual bool operator() (Particle<T>* p,
int globic)
override;
94template<
typename T,
typename Lattice,
template<
typename V>
class Particle>
107template<
typename T,
typename Lattice,
template<
typename V>
class Particle>
121template<
typename T,
typename Lattice,
template<
typename V>
class Particle>
125 virtual bool operator() (Particle<T>* p,
int globic)
override;
141template<
typename T,
typename Lattice,
template<
typename V>
class Particle>
156template<
typename T,
typename Lattice,
template<
typename V>
class Particle>
166 virtual bool operator() (Particle<T>* p,
int globic)
override;
Abstact base class for all the local/non-local forward-coupling models.
UnitConverter< T, Lattice > & _converter
std::shared_ptr< TwoWayHelperFunctional< T, Lattice > > _momentumExchange
std::shared_ptr< SuperLatticeInterpPhysVelocity3D< T, Lattice > > _interpLatticeVelocity
BaseForwardCouplingModel(UnitConverter< T, Lattice > &converter, SuperLattice< T, Lattice > &sLattice, SuperGeometry< T, 3 > &sGeometry, std::shared_ptr< DragModel< T, Particle > > dragModel)
Constructor.
std::shared_ptr< SuperLatticeInterpDensity3Degree3D< T, Lattice > > _interpLatticeDensity
SuperLattice< T, Lattice > & _sLattice
Abstact base class for DragModelBase.
Abstact base class for all the forward-coupling models Its raison d'etre consists of not being temple...
ForwardCouplingModel(SuperGeometry< T, 3 > &sGeometry, std::shared_ptr< DragModel< T, Particle > > dragModel)
Constructor.
SuperGeometry< T, 3 > & _sGeometry
std::shared_ptr< DragModel< T, Particle > > _dragModel
virtual bool operator()(Particle< T > *p, int globic)=0
Class operator to apply the coupling, for overload.
Class for a forward-coupling model following the Ladd's mechanism.
LaddForwardCouplingModel(UnitConverter< T, Lattice > &converter, SuperLattice< T, Lattice > &sLattice, SuperGeometry< T, 3 > &sGeometry, std::shared_ptr< DragModel< T, Particle > > dragModel)
Constructor.
Abstact class for all the local forward-coupling models, viz., momentum coupling from fluid to partic...
LocalBaseForwardCouplingModel(UnitConverter< T, Lattice > &converter, SuperLattice< T, Lattice > &sLattice, SuperGeometry< T, 3 > &sGeometry, std::shared_ptr< DragModel< T, Particle > > dragModel)
Constructor.
virtual bool operator()(Particle< T > *p, int globic) override
Class operator to apply the coupling, for overload.
Class for a naive forward-coupling model.
NaiveForwardCouplingModel(UnitConverter< T, Lattice > &converter, SuperLattice< T, Lattice > &sLattice, SuperGeometry< T, 3 > &sGeometry, std::shared_ptr< DragModel< T, Particle > > dragModel)
Constructor.
Class for a naive, non-local forward-coupling model as in Sungkorn et al.
NaiveNonLocalForwardCouplingModel(UnitConverter< T, Lattice > &converter, SuperLattice< T, Lattice > &sLattice, SuperGeometry< T, 3 > &sGeometry, std::shared_ptr< DragModel< T, Particle > > dragModel, std::shared_ptr< SmoothingFunctional< T, Lattice > > smoothingFunctional)
Constructor.
Abstact class for all the non-local forward-coupling models, viz., momentum coupling from fluid to pa...
std::shared_ptr< SmoothingFunctional< T, Lattice > > _smoothingFunctional
NonLocalBaseForwardCouplingModel(UnitConverter< T, Lattice > &converter, SuperLattice< T, Lattice > &sLattice, SuperGeometry< T, 3 > &sGeometry, std::shared_ptr< DragModel< T, Particle > > dragModel, std::shared_ptr< SmoothingFunctional< T, Lattice > > smoothingFunctional)
Constructor.
virtual bool operator()(Particle< T > *p, int globic) override
Class operator to apply the coupling, for overload.
Abstact class for all the smoothing functionals.
Representation of a statistic for a parallel 2D geometry.
Super class maintaining block lattices for a cuboid decomposition.
Conversion between physical and lattice units, as well as discretization.
Class for a forward-coupling model as in Evrard, Denner and van Wachem (2019), but with an extra-norm...
virtual bool operator()(Particle< T > *p, int globic) override
Class operator to apply the coupling, for overload.
vanWachemForwardCouplingModel(UnitConverter< T, Lattice > &converter, SuperLattice< T, Lattice > &sLattice, SuperGeometry< T, 3 > &sGeometry, std::shared_ptr< DragModel< T, Particle > > dragModel, std::shared_ptr< SmoothingFunctional< T, Lattice > > smoothingFunctional, int nVoxelInterpPoints)
Constructor.
std::shared_ptr< SmoothingFunctional< T, Lattice > > _smoothingFunctional
Top level namespace for all of OpenLB.