VirtualFluids 0.2.0
Parallel CFD LBM Solver
Loading...
Searching...
No Matches
vf::gpu::Side Class Referenceabstract

#include <Side.h>

Inheritance diagram for vf::gpu::Side:
SideTestSpecificSubclass vf::gpu::Geometry vf::gpu::MX vf::gpu::MY vf::gpu::MZ vf::gpu::PX vf::gpu::PY vf::gpu::PZ

Public Member Functions

virtual ~Side ()=default
 
virtual void addIndices (const std::vector< SPtr< Grid > > &grid, uint level, SPtr< grid_generator::BoundaryCondition > boundaryCondition)=0
 
virtual int getCoordinate () const =0
 
virtual int getDirection () const =0
 
virtual SideType whoAmI () const =0
 
std::array< real, 3 > getNormal () const
 
size_t getD3Q27Direction () const
 

Protected Member Functions

void addIndices (SPtr< Grid > grid, SPtr< grid_generator::BoundaryCondition > boundaryCondition, std::string coord, real constant, real startInner, real endInner, real startOuter, real endOuter)
 
void setQs (SPtr< Grid > grid, SPtr< grid_generator::BoundaryCondition > boundaryCondition, uint index)
 
virtual void correctNeighborForPeriodicBoundaries (const Grid *grid, std::array< real, 3 > &coords, std::array< real, 3 > &neighbors) const
 
virtual bool isAlignedWithMyNormal (const Grid *grid, int dir) const
 
bool isAlignedWithNormal (const Grid *grid, int dir, const std::array< real, 3 > &normal) const
 

Protected Attributes

const std::map< SideType, const std::array< real, 3 > > normals
 
const std::map< SideType, size_t > sideToD3Q27
 

Detailed Description

Definition at line 67 of file Side.h.

Constructor & Destructor Documentation

◆ ~Side()

virtual vf::gpu::Side::~Side ( )
virtualdefault

Member Function Documentation

◆ addIndices() [1/2]

virtual void vf::gpu::Side::addIndices ( const std::vector< SPtr< Grid > > &  grid,
uint  level,
SPtr< grid_generator::BoundaryCondition >  boundaryCondition 
)
pure virtual

◆ addIndices() [2/2]

void vf::gpu::Side::addIndices ( SPtr< Grid >  grid,
SPtr< grid_generator::BoundaryCondition >  boundaryCondition,
std::string  coord,
real  constant,
real  startInner,
real  endInner,
real  startOuter,
real  endOuter 
)
protected

◆ correctNeighborForPeriodicBoundaries()

void vf::gpu::Side::correctNeighborForPeriodicBoundaries ( const Grid *  grid,
std::array< real, 3 > &  coords,
std::array< real, 3 > &  neighbors 
) const
protectedvirtual

Definition at line 192 of file Side.cpp.

◆ getCoordinate()

virtual int vf::gpu::Side::getCoordinate ( ) const
pure virtual

◆ getD3Q27Direction()

size_t vf::gpu::Side::getD3Q27Direction ( ) const

Definition at line 63 of file Side.cpp.

◆ getDirection()

virtual int vf::gpu::Side::getDirection ( ) const
pure virtual

◆ getNormal()

std::array< real, 3 > vf::gpu::Side::getNormal ( ) const

Definition at line 51 of file Side.cpp.

◆ isAlignedWithMyNormal()

bool vf::gpu::Side::isAlignedWithMyNormal ( const Grid *  grid,
int  dir 
) const
protectedvirtual

Definition at line 179 of file Side.cpp.

◆ isAlignedWithNormal()

bool vf::gpu::Side::isAlignedWithNormal ( const Grid *  grid,
int  dir,
const std::array< real, 3 > &  normal 
) const
protected

Definition at line 185 of file Side.cpp.

◆ setQs()

void vf::gpu::Side::setQs ( SPtr< Grid >  grid,
SPtr< grid_generator::BoundaryCondition >  boundaryCondition,
uint  index 
)
protected

Only setting q's that partially point in the Side-normal direction

Definition at line 109 of file Side.cpp.

◆ whoAmI()

virtual SideType vf::gpu::Side::whoAmI ( ) const
pure virtual

Member Data Documentation

◆ normals

const std::map<SideType, const std::array<real, 3> > vf::gpu::Side::normals
protected
Initial value:
= {
{ SideType::MX, { NEGATIVE_DIR, 0.0, 0.0 } }, { SideType::PX, { POSITIVE_DIR, 0.0, 0.0 } },
{ SideType::MY, { 0.0, NEGATIVE_DIR, 0.0 } }, { SideType::PY, { 0.0, POSITIVE_DIR, 0.0 } },
{ SideType::MZ, { 0.0, 0.0, NEGATIVE_DIR } }, { SideType::PZ, { 0.0, 0.0, POSITIVE_DIR } }
}
#define POSITIVE_DIR
Definition Side.h:50
#define NEGATIVE_DIR
Definition Side.h:51

Definition at line 102 of file Side.h.

◆ sideToD3Q27

const std::map<SideType, size_t> vf::gpu::Side::sideToD3Q27
protected
Initial value:
= {
{ SideType::MX, vf::lbm::dir::dM00 }, { SideType::PX, vf::lbm::dir::dP00 },
{ SideType::MY, vf::lbm::dir::d0M0 }, { SideType::PY, vf::lbm::dir::d0P0 },
{ SideType::MZ, vf::lbm::dir::d00M }, { SideType::PZ, vf::lbm::dir::d00P }
}

Definition at line 107 of file Side.h.


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