51#define NEGATIVE_DIR -1
57namespace grid_generator
59class BoundaryCondition;
96 void resetDiagonalsInCaseOfOtherBC(
Grid *grid, std::vector<real>&
qNode,
int dir,
const std::array<real, 3> &coordinates,
const std::vector<SideType>&
BCAlreadySet)
const;
97 std::array<real, 3> getNeighborCoordinates(
Grid *grid,
const std::array<real, 3> &coordinates,
98 size_t direction)
const;
99 bool neighborNormalToSideIsAStopper(
Grid *grid,
const std::array<real, 3> &coordinates,
SideType side)
const;
102 const std::map<SideType, const std::array<real, 3>>
normals = {
286 throw std::runtime_error(
"SideFactory::make() - SideType not valid.");
int getCoordinate() const override
void addIndices(const std::vector< SPtr< Grid > > &grid, uint level, SPtr< grid_generator::BoundaryCondition > boundaryCondition) override
SideType whoAmI() const override
int getDirection() const override
int getDirection() const override
int getCoordinate() const override
void addIndices(const std::vector< SPtr< Grid > > &grid, uint level, SPtr< grid_generator::BoundaryCondition > boundaryCondition) override
SideType whoAmI() const override
SideType whoAmI() const override
int getDirection() const override
int getCoordinate() const override
void addIndices(const std::vector< SPtr< Grid > > &grid, uint level, SPtr< grid_generator::BoundaryCondition > boundaryCondition) override
SideType whoAmI() const override
void addIndices(const std::vector< SPtr< Grid > > &grid, uint level, SPtr< grid_generator::BoundaryCondition > boundaryCondition) override
int getCoordinate() const override
int getDirection() const override
SideType whoAmI() const override
void addIndices(const std::vector< SPtr< Grid > > &grid, uint level, SPtr< grid_generator::BoundaryCondition > boundaryCondition) override
int getCoordinate() const override
int getDirection() const override
SideType whoAmI() const override
int getCoordinate() const override
int getDirection() const override
void addIndices(const std::vector< SPtr< Grid > > &grid, uint level, SPtr< grid_generator::BoundaryCondition > boundaryCondition) override
SideType whoAmI() const override
void addIndices(const std::vector< SPtr< Grid > > &grid, uint level, SPtr< grid_generator::BoundaryCondition > boundaryCondition) override
int getCoordinate() const override
int getDirection() const override
static SPtr< Side > make(SideType sideType)
const std::map< SideType, size_t > sideToD3Q27
virtual int getDirection() const =0
size_t getD3Q27Direction() const
virtual bool isAlignedWithMyNormal(const Grid *grid, int dir) const
virtual void correctNeighborForPeriodicBoundaries(const Grid *grid, std::array< real, 3 > &coords, std::array< real, 3 > &neighbors) const
virtual int getCoordinate() const =0
void setQs(SPtr< Grid > grid, SPtr< grid_generator::BoundaryCondition > boundaryCondition, uint index)
virtual SideType whoAmI() const =0
void addIndices(SPtr< Grid > grid, SPtr< grid_generator::BoundaryCondition > boundaryCondition, std::string coord, real constant, real startInner, real endInner, real startOuter, real endOuter)
virtual void addIndices(const std::vector< SPtr< Grid > > &grid, uint level, SPtr< grid_generator::BoundaryCondition > boundaryCondition)=0
const std::map< SideType, const std::array< real, 3 > > normals
std::array< real, 3 > getNormal() const
bool isAlignedWithNormal(const Grid *grid, int dir, const std::array< real, 3 > &normal) const
std::shared_ptr< T > SPtr