7#ifndef STRUCTUREDBNDRYCND2D
8#define STRUCTUREDBNDRYCND2D
20template <MBool isRans>
37 template <RansMethod ransMethod>
82 computeFrictionPressureCoef_<true, true, true>(
false, computePower);
84 virtual void computeFrictionCoef()
override { computeFrictionPressureCoef_<false, true, false>(
false,
false); };
85 template <MBool calcCp, MBool calcCf, MBool calcIntegrals>
87 template <MBool calcCp, MBool calcCf, MBool
interface>
91 const std::vector<MInt>&,
92 const std::vector<MInt>&,
93 const std::map<
MInt, std::tuple<MInt, MInt, MFloat>>& cellId2recvCell,
94 const std::vector<MInt>&,
103 std::vector<std::pair<MInt, MInt>>&,
105 std::vector<MFloat>&);
108 template <
typename T>
112 template <
typename T = comp<MFloat>>
114 std::vector<std::pair<MInt, MInt>>&,
116 std::vector<std::pair<MInt, MInt>>&,
120 const std::vector<MInt>&,
121 const std::vector<MFloat>&,
122 std::map<
MInt, std::tuple<MInt, MInt, MFloat>>&,
128 std::vector<std::pair<MInt, MInt>>&,
129 const std::vector<MFloat>&);
2D structured solver class
Base class of the structured solver.
Class for the 2D stuctured boundary conditions.
MInt getPointIdFromPoint(MInt origin, MInt incI, MInt incJ)
void bc2006(MInt)
Characteristic in/outflow boundary for zero velocities.
void computeWallDistances()
virtual void computeFrictionPressureCoef(MBool computePower) override
void computeFrictionPressureCoef_(const MBool auxDataWindow=false, const MBool computePower=false)
void getCloserMap(const MFloat *const, std::vector< std::pair< MInt, MInt > > &, const MFloat *const, std::vector< std::pair< MInt, MInt > > &, MFloat *const, T comparator={})
void correctWallDistanceAtBoundary(MInt)
void bc2003(MInt)
Subsonic in/outflow simple.
void correctBndryCndIndices()
void calc_cp_cf(const MInt, const MInt, const MInt, const MInt, MFloat(&)[calcCp+nDim *calcCf])
virtual void distributeWallAndFPProperties() override
MInt m_noPeriodicConnections
void bc2007(MInt)
Subsonic Outflow extrapolate all but pressure, prescribe p8.
MInt getPointIdFromCell(MInt i, MInt j)
void readAndDistributeSpongeCoordinates()
void bc2005(MInt)
Supersonic Outflow,.
void bc2600(MInt)
Prescribe given profile BC.
void initBc6002(MInt) override
void bc2999(MInt)
Blasius bl inflow boundary condition.
MInt cellIndex(MInt i, MInt j)
void bc2002(MInt)
Supersonic Inflow.
static constexpr const MInt nDim
void distributeMapProperties(const std::vector< std::unique_ptr< StructuredWindowMap< nDim > > > &, const std::vector< MInt > &, const std::vector< MInt > &, const std::map< MInt, std::tuple< MInt, MInt, MFloat > > &cellId2recvCell, const std::vector< MInt > &, MFloat *const)
void bc2004(MInt)
Subsonic Outflow, not really non-reflecting for face 0,1,3.
void setUpNearMapComm(const std::vector< std::pair< MInt, MInt > > &, const std::vector< MInt > &, const std::vector< MFloat > &, std::map< MInt, std::tuple< MInt, MInt, MFloat > > &, std::vector< MInt > &, std::vector< MInt > &)
void initBc2510(MInt)
Rescaling inflow.
MFloat m_isothermalWallTemperature
void bc2001(MInt)
Subsonic Inflow <== tfs2001.
void computeDistance2Map(const std::vector< std::unique_ptr< StructuredWindowMap< nDim > > > &, MFloat *const, std::vector< std::pair< MInt, MInt > > &, std::vector< MInt > &, std::vector< MFloat > &)
Compute shortest distance to given set of maps.
virtual void computeLocalWallDistances() override
void initBc2402(MInt)
Channel flow BC.
MFloat shortestDistanceToLineElement(const MFloat(&)[nDim], const MFloat(&)[nDim], const MFloat(&)[nDim], MFloat &, MFloat &)
virtual void computeFrictionCoef() override
virtual void computeLocalExtendedDistancesAndSetComm() override
FvStructuredSolver2D * m_solver
void bc3000(MInt)
Symmetry plane BC.
void modifyFPDistance(const std::vector< std::unique_ptr< StructuredWindowMap< nDim > > > &, MFloat *const, std::vector< std::pair< MInt, MInt > > &, const std::vector< MFloat > &)
Modifies the fluid-porous distance.
void initBc2600(MInt)
Prescribe profile BC.
virtual void bc6002(MInt) override
Base class of the structured boundary conditions.
MBool operator()(const MInt, const T &a, const T &b)