OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
olb::BlockLatticeStructure2D< T, DESCRIPTOR > Class Template Referenceabstract

An interface to all the variants of (more or less) regular lattices. More...

#include <blockLatticeStructure2D.h>

+ Inheritance diagram for olb::BlockLatticeStructure2D< T, DESCRIPTOR >:
+ Collaboration diagram for olb::BlockLatticeStructure2D< T, DESCRIPTOR >:

Public Member Functions

 BlockLatticeStructure2D (int nx, int ny)
 
 ~BlockLatticeStructure2D () override
 
virtual void defineRho (BlockIndicatorF2D< T > &indicator, AnalyticalF< 2, T, T > &rho)
 
virtual void defineRho (BlockGeometryStructure2D< T > &blockGeometry, int material, AnalyticalF< 2, T, T > &rho)
 
virtual void defineU (BlockIndicatorF2D< T > &indicator, AnalyticalF< 2, T, T > &u)
 
virtual void defineU (BlockGeometryStructure2D< T > &blockGeometry, int material, AnalyticalF< 2, T, T > &u)
 
virtual void defineRhoU (BlockIndicatorF2D< T > &indicator, AnalyticalF< 2, T, T > &rho, AnalyticalF< 2, T, T > &u)
 
virtual void defineRhoU (BlockGeometryStructure2D< T > &blockGeometry, int material, AnalyticalF< 2, T, T > &rho, AnalyticalF< 2, T, T > &u)
 
virtual void definePopulations (BlockIndicatorF2D< T > &indicator, AnalyticalF< 2, T, T > &Pop)
 
virtual void definePopulations (BlockGeometryStructure2D< T > &blockGeometry, int material, AnalyticalF< 2, T, T > &Pop)
 
template<typename FIELD >
void defineField (BlockIndicatorF2D< T > &indicator, AnalyticalF< 2, T, T > &field)
 
template<typename FIELD >
void defineField (BlockGeometryStructure2D< T > &blockGeometry, int material, AnalyticalF< 2, T, T > &field)
 
template<typename FIELD >
void defineField (BlockGeometryStructure2D< T > &blockGeometry, IndicatorF2D< T > &indicator, AnalyticalF< 2, T, T > &field)
 
template<typename FIELD >
void addField (BlockGeometryStructure2D< T > &blockGeometry, IndicatorF2D< T > &indicator, AnalyticalF< 2, T, T > &field)
 
template<typename FIELD >
void addField (BlockGeometryStructure2D< T > &blockGeometry, IndicatorF2D< T > &indicator, AnalyticalF< 2, T, T > &field, AnalyticalF< 2, T, T > &porous)
 
template<typename FIELD >
void multiplyField (BlockGeometryStructure2D< T > &blockGeometry, IndicatorF2D< T > &indicator, AnalyticalF< 2, T, T > &field)
 
virtual void iniEquilibrium (BlockIndicatorF2D< T > &indicator, AnalyticalF< 2, T, T > &rho, AnalyticalF< 2, T, T > &u)
 
virtual void iniEquilibrium (BlockGeometryStructure2D< T > &blockGeometry, int material, AnalyticalF< 2, T, T > &rho, AnalyticalF< 2, T, T > &u)
 
virtual void iniRegularized (BlockIndicatorF2D< T > &indicator, AnalyticalF< 2, T, T > &rho, AnalyticalF< 2, T, T > &u, AnalyticalF< 2, T, T > &pi)
 
virtual void iniRegularized (BlockGeometryStructure2D< T > &blockGeometry, int material, AnalyticalF< 2, T, T > &rho, AnalyticalF< 2, T, T > &u, AnalyticalF< 2, T, T > &pi)
 
virtual Cell< T, DESCRIPTOR > get (int iX, int iY)=0
 
virtual Cell< T, DESCRIPTOR > get (int latticeR[])=0
 
virtual ConstCell< T, DESCRIPTOR > get (int iX, int iY) const =0
 
virtual T & getPop (std::size_t iCell, unsigned iPop)=0
 
virtual T & getPop (int iX, int iY, unsigned iPop)=0
 
virtual void initialize ()=0
 
virtual void defineDynamics (int x0_, int x1_, int y0_, int y1_, Dynamics< T, DESCRIPTOR > *dynamics)=0
 
virtual void defineDynamics (int iX, int iY, Dynamics< T, DESCRIPTOR > *dynamics)=0
 
virtual Dynamics< T, DESCRIPTOR > * getDynamics (int iX, int iY)=0
 
virtual void collide (int x0_, int x1_, int y0_, int y1_)=0
 
virtual void collide ()=0
 
virtual void stripeOffDensityOffset (int x0_, int x1_, int y0_, int y1_, T offset)=0
 
virtual void stripeOffDensityOffset (T offset)=0
 
virtual void addPostProcessor (PostProcessorGenerator2D< T, DESCRIPTOR > const &ppGen)=0
 
virtual void resetPostProcessors ()=0
 
virtual void postProcess (int x0_, int x1_, int y0_, int y1_)=0
 
virtual void postProcess ()=0
 
virtual void addLatticeCoupling (LatticeCouplingGenerator2D< T, DESCRIPTOR > const &lcGen, std::vector< SpatiallyExtendedObject2D * > partners)=0
 
virtual void executeCoupling (int x0_, int x1_, int y0_, int y1_)=0
 
virtual void executeCoupling ()=0
 
virtual LatticeStatistics< T > & getStatistics ()=0
 
virtual LatticeStatistics< T > const & getStatistics () const =0
 
virtual void freeSurfacePostProcess (size_t i, int x0_, int x1_, int y0_, int y1_)=0
 
virtual void freeSurfacePostProcess (size_t i)=0
 
virtual void freeSurfaceInitialize ()=0
 
- Public Member Functions inherited from olb::BlockStructure2D
 BlockStructure2D (int nx, int ny)
 
 BlockStructure2D (int nx, int ny, int overlap)
 
 BlockStructure2D ()
 
int getNx () const
 Read only access to block width.
 
int getNy () const
 Read only access to block height.
 
std::size_t getNcells () const
 Get number of cells.
 
std::size_t getCellId (int iX, int iY) const
 Get 1D cell ID.
 
std::ptrdiff_t getNeighborDistance (int iX, int iY) const
 Get 1D neighbor distance.
 
std::ptrdiff_t getNeighborDistance (Vector< int, 2 > c) const
 Get 1D neighbor distance.
 
bool isInside (int iX, int iY) const
 Return whether location is valid.
 

Public Attributes

std::vector< Momenta< T, DESCRIPTOR > * > momentaVector
 
std::vector< Dynamics< T, DESCRIPTOR > * > dynamicsVector
 

Additional Inherited Members

- Protected Attributes inherited from olb::BlockStructure2D
int _nx
 Block width.
 
int _ny
 Block height.
 

Detailed Description

template<typename T, typename DESCRIPTOR>
class olb::BlockLatticeStructure2D< T, DESCRIPTOR >

An interface to all the variants of (more or less) regular lattices.

Definition at line 50 of file blockLatticeStructure2D.h.

Constructor & Destructor Documentation

◆ BlockLatticeStructure2D()

template<typename T , typename DESCRIPTOR >
olb::BlockLatticeStructure2D< T, DESCRIPTOR >::BlockLatticeStructure2D ( int nx,
int ny )
inline

Definition at line 52 of file blockLatticeStructure2D.h.

◆ ~BlockLatticeStructure2D()

template<typename T , typename DESCRIPTOR >
olb::BlockLatticeStructure2D< T, DESCRIPTOR >::~BlockLatticeStructure2D ( )
inlineoverride

Definition at line 53 of file blockLatticeStructure2D.h.

53{ }

Member Function Documentation

◆ addField() [1/2]

template<typename T , typename DESCRIPTOR >
template<typename FIELD >
void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::addField ( BlockGeometryStructure2D< T > & blockGeometry,
IndicatorF2D< T > & indicator,
AnalyticalF< 2, T, T > & field )

◆ addField() [2/2]

template<typename T , typename DESCRIPTOR >
template<typename FIELD >
void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::addField ( BlockGeometryStructure2D< T > & blockGeometry,
IndicatorF2D< T > & indicator,
AnalyticalF< 2, T, T > & field,
AnalyticalF< 2, T, T > & porous )

◆ addLatticeCoupling()

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::addLatticeCoupling ( LatticeCouplingGenerator2D< T, DESCRIPTOR > const & lcGen,
std::vector< SpatiallyExtendedObject2D * > partners )
pure virtual

◆ addPostProcessor()

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::addPostProcessor ( PostProcessorGenerator2D< T, DESCRIPTOR > const & ppGen)
pure virtual

◆ collide() [1/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::collide ( )
pure virtual

◆ collide() [2/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::collide ( int x0_,
int x1_,
int y0_,
int y1_ )
pure virtual

◆ defineDynamics() [1/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::defineDynamics ( int iX,
int iY,
Dynamics< T, DESCRIPTOR > * dynamics )
pure virtual

◆ defineDynamics() [2/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::defineDynamics ( int x0_,
int x1_,
int y0_,
int y1_,
Dynamics< T, DESCRIPTOR > * dynamics )
pure virtual

◆ defineField() [1/3]

template<typename T , typename DESCRIPTOR >
template<typename FIELD >
void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::defineField ( BlockGeometryStructure2D< T > & blockGeometry,
IndicatorF2D< T > & indicator,
AnalyticalF< 2, T, T > & field )

◆ defineField() [2/3]

template<typename T , typename DESCRIPTOR >
template<typename FIELD >
void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::defineField ( BlockGeometryStructure2D< T > & blockGeometry,
int material,
AnalyticalF< 2, T, T > & field )

◆ defineField() [3/3]

template<typename T , typename DESCRIPTOR >
template<typename FIELD >
void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::defineField ( BlockIndicatorF2D< T > & indicator,
AnalyticalF< 2, T, T > & field )

◆ definePopulations() [1/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::definePopulations ( BlockGeometryStructure2D< T > & blockGeometry,
int material,
AnalyticalF< 2, T, T > & Pop )
virtual

◆ definePopulations() [2/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::definePopulations ( BlockIndicatorF2D< T > & indicator,
AnalyticalF< 2, T, T > & Pop )
virtual

◆ defineRho() [1/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::defineRho ( BlockGeometryStructure2D< T > & blockGeometry,
int material,
AnalyticalF< 2, T, T > & rho )
virtual

◆ defineRho() [2/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::defineRho ( BlockIndicatorF2D< T > & indicator,
AnalyticalF< 2, T, T > & rho )
virtual

◆ defineRhoU() [1/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::defineRhoU ( BlockGeometryStructure2D< T > & blockGeometry,
int material,
AnalyticalF< 2, T, T > & rho,
AnalyticalF< 2, T, T > & u )
virtual

◆ defineRhoU() [2/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::defineRhoU ( BlockIndicatorF2D< T > & indicator,
AnalyticalF< 2, T, T > & rho,
AnalyticalF< 2, T, T > & u )
virtual

◆ defineU() [1/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::defineU ( BlockGeometryStructure2D< T > & blockGeometry,
int material,
AnalyticalF< 2, T, T > & u )
virtual

◆ defineU() [2/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::defineU ( BlockIndicatorF2D< T > & indicator,
AnalyticalF< 2, T, T > & u )
virtual

◆ executeCoupling() [1/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::executeCoupling ( )
pure virtual

◆ executeCoupling() [2/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::executeCoupling ( int x0_,
int x1_,
int y0_,
int y1_ )
pure virtual

◆ freeSurfaceInitialize()

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::freeSurfaceInitialize ( )
pure virtual

◆ freeSurfacePostProcess() [1/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::freeSurfacePostProcess ( size_t i)
pure virtual

◆ freeSurfacePostProcess() [2/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::freeSurfacePostProcess ( size_t i,
int x0_,
int x1_,
int y0_,
int y1_ )
pure virtual

◆ get() [1/3]

template<typename T , typename DESCRIPTOR >
virtual ConstCell< T, DESCRIPTOR > olb::BlockLatticeStructure2D< T, DESCRIPTOR >::get ( int iX,
int iY ) const
pure virtual

◆ get() [2/3]

template<typename T , typename DESCRIPTOR >
virtual Cell< T, DESCRIPTOR > olb::BlockLatticeStructure2D< T, DESCRIPTOR >::get ( int iX,
int iY )
pure virtual

◆ get() [3/3]

template<typename T , typename DESCRIPTOR >
virtual Cell< T, DESCRIPTOR > olb::BlockLatticeStructure2D< T, DESCRIPTOR >::get ( int latticeR[])
pure virtual

◆ getDynamics()

template<typename T , typename DESCRIPTOR >
virtual Dynamics< T, DESCRIPTOR > * olb::BlockLatticeStructure2D< T, DESCRIPTOR >::getDynamics ( int iX,
int iY )
pure virtual

◆ getPop() [1/2]

template<typename T , typename DESCRIPTOR >
virtual T & olb::BlockLatticeStructure2D< T, DESCRIPTOR >::getPop ( int iX,
int iY,
unsigned iPop )
pure virtual

◆ getPop() [2/2]

template<typename T , typename DESCRIPTOR >
virtual T & olb::BlockLatticeStructure2D< T, DESCRIPTOR >::getPop ( std::size_t iCell,
unsigned iPop )
pure virtual

◆ getStatistics() [1/2]

template<typename T , typename DESCRIPTOR >
virtual LatticeStatistics< T > const & olb::BlockLatticeStructure2D< T, DESCRIPTOR >::getStatistics ( ) const
pure virtual

◆ getStatistics() [2/2]

template<typename T , typename DESCRIPTOR >
virtual LatticeStatistics< T > & olb::BlockLatticeStructure2D< T, DESCRIPTOR >::getStatistics ( )
pure virtual

◆ iniEquilibrium() [1/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::iniEquilibrium ( BlockGeometryStructure2D< T > & blockGeometry,
int material,
AnalyticalF< 2, T, T > & rho,
AnalyticalF< 2, T, T > & u )
virtual

◆ iniEquilibrium() [2/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::iniEquilibrium ( BlockIndicatorF2D< T > & indicator,
AnalyticalF< 2, T, T > & rho,
AnalyticalF< 2, T, T > & u )
virtual

◆ iniRegularized() [1/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::iniRegularized ( BlockGeometryStructure2D< T > & blockGeometry,
int material,
AnalyticalF< 2, T, T > & rho,
AnalyticalF< 2, T, T > & u,
AnalyticalF< 2, T, T > & pi )
virtual

◆ iniRegularized() [2/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::iniRegularized ( BlockIndicatorF2D< T > & indicator,
AnalyticalF< 2, T, T > & rho,
AnalyticalF< 2, T, T > & u,
AnalyticalF< 2, T, T > & pi )
virtual

◆ initialize()

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::initialize ( )
pure virtual

◆ multiplyField()

template<typename T , typename DESCRIPTOR >
template<typename FIELD >
void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::multiplyField ( BlockGeometryStructure2D< T > & blockGeometry,
IndicatorF2D< T > & indicator,
AnalyticalF< 2, T, T > & field )

◆ postProcess() [1/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::postProcess ( )
pure virtual

◆ postProcess() [2/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::postProcess ( int x0_,
int x1_,
int y0_,
int y1_ )
pure virtual

◆ resetPostProcessors()

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::resetPostProcessors ( )
pure virtual

◆ stripeOffDensityOffset() [1/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::stripeOffDensityOffset ( int x0_,
int x1_,
int y0_,
int y1_,
T offset )
pure virtual

◆ stripeOffDensityOffset() [2/2]

template<typename T , typename DESCRIPTOR >
virtual void olb::BlockLatticeStructure2D< T, DESCRIPTOR >::stripeOffDensityOffset ( T offset)
pure virtual

Member Data Documentation

◆ dynamicsVector

template<typename T , typename DESCRIPTOR >
std::vector<Dynamics<T,DESCRIPTOR>*> olb::BlockLatticeStructure2D< T, DESCRIPTOR >::dynamicsVector

Definition at line 55 of file blockLatticeStructure2D.h.

◆ momentaVector

template<typename T , typename DESCRIPTOR >
std::vector<Momenta<T,DESCRIPTOR>*> olb::BlockLatticeStructure2D< T, DESCRIPTOR >::momentaVector

Definition at line 54 of file blockLatticeStructure2D.h.


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