25template <MInt nDim,
class SysEqn>
35template <MInt nDim,
class SysEqn>
39template <MInt nDim, SolverType SolverTypeR, SolverType SolverTypeL>
41template <MInt nDim,
class SysEqn>
45template <MInt nDim,
class RANSModel>
112template <MInt nDim,
class SysEqn>
152 typename SysEqn::ConservativeVariables*
CV{};
153 typename SysEqn::FluxVariables*
FV{};
154 typename SysEqn::PrimitiveVariables*
PV{};
155 typename SysEqn::AdditionalVariables*
AV{};
446 std::map<MInt, MSTG<nDim, MAIA_FINITE_VOLUME, MAIA_FINITE_VOLUME>*>
m_stgBC;
447 std::map<MInt, MSTG<nDim, MAIA_STRUCTURED, MAIA_FINITE_VOLUME>*>
m_stgBCStrcd;
512 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
514 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
516 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
518 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
520 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
522 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
527 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
529 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
531 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
533 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
535 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
537 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
539 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
541 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
543 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
545 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
547 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
549 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
551 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
553 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
557 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
559 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
561 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
563 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
565 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
567 template <
class X =
void, std::enable_if_t<nDim == 2, X*> =
nullptr>
569 template <
class X =
void, std::enable_if_t<nDim == 2, X*> =
nullptr>
571 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
584 template <
class X =
void, std::enable_if_t<nDim == 2, X*> =
nullptr>
586 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
588 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
590 template <
class X =
void, std::enable_if_t<nDim == 2, X*> =
nullptr>
592 TERMM(1,
"MGC in 2D not implemented yet!");
599 ATTRIBUTES2(ATTRIBUTE_HOT, ATTRIBUTE_FLATTEN)
void copySlopesToSmallCells();
601 ATTRIBUTES2(ATTRIBUTE_HOT, ATTRIBUTE_FLATTEN)
void copyVarsToSmallCells();
603 ATTRIBUTES2(ATTRIBUTE_HOT, ATTRIBUTE_FLATTEN)
void correctBoundarySurfaceVariables();
623 template <
class X =
void, std::enable_if_t<nDim == 2, X*> =
nullptr>
676 template <class _ = void, std::enable_if_t<hasPV_N<SysEqn>::value, _*> =
nullptr,
677 std::enable_if_t<nDim == 3, _*> =
nullptr>
679 template <class _ = void, std::enable_if_t<hasPV_N<SysEqn>::value, _*> =
nullptr,
680 std::enable_if_t<nDim == 3, _*> =
nullptr>
682 template <class _ = void, std::enable_if_t<hasPV_N<SysEqn>::value, _*> =
nullptr,
683 std::enable_if_t<nDim == 3, _*> =
nullptr>
685 template <class _ = void, std::enable_if_t<!hasPV_N<SysEqn>::value, _*> =
nullptr,
686 std::enable_if_t<nDim == 3, _*> =
nullptr>
688 template <class _ = void, std::enable_if_t<!hasPV_N<SysEqn>::value, _*> =
nullptr,
689 std::enable_if_t<nDim == 3, _*> =
nullptr>
692 template <class _ = void, std::enable_if_t<hasPV_N<SysEqn>::value, _*> =
nullptr,
693 std::enable_if_t<nDim == 3, _*> =
nullptr>
695 template <class _ = void, std::enable_if_t<hasPV_N<SysEqn>::value, _*> =
nullptr,
696 std::enable_if_t<nDim == 3, _*> =
nullptr>
698 template <class _ = void, std::enable_if_t<hasPV_N<SysEqn>::value, _*> =
nullptr,
699 std::enable_if_t<nDim == 3, _*> =
nullptr>
701 template <class _ = void, std::enable_if_t<!hasPV_N<SysEqn>::value, _*> =
nullptr,
702 std::enable_if_t<nDim == 3, _*> =
nullptr>
705 template <class _ = void, std::enable_if_t<!hasPV_N<SysEqn>::value, _*> =
nullptr,
706 std::enable_if_t<nDim == 3, _*> =
nullptr>
708 template <class _ = void, std::enable_if_t<!hasPV_N<SysEqn>::value, _*> =
nullptr,
709 std::enable_if_t<nDim == 3, _*> =
nullptr>
714 template <class _ = void, std::enable_if_t<hasPV_N<SysEqn>::value, _*> =
nullptr,
715 std::enable_if_t<nDim == 2, _*> =
nullptr>
719 template <class _ = void, std::enable_if_t<hasPV_N<SysEqn>::value, _*> =
nullptr,
720 std::enable_if_t<nDim == 2, _*> =
nullptr>
724 template <class _ = void, std::enable_if_t<hasPV_N<SysEqn>::value, _*> =
nullptr,
725 std::enable_if_t<nDim == 2, _*> =
nullptr>
729 template <class _ = void, std::enable_if_t<!hasPV_N<SysEqn>::value, _*> =
nullptr,
730 std::enable_if_t<nDim == 2, _*> =
nullptr>
734 template <class _ = void, std::enable_if_t<!hasPV_N<SysEqn>::value, _*> =
nullptr,
735 std::enable_if_t<nDim == 2, _*> =
nullptr>
740 template <class _ = void, std::enable_if_t<hasPV_N<SysEqn>::value, _*> =
nullptr,
741 std::enable_if_t<nDim == 2, _*> =
nullptr>
745 template <class _ = void, std::enable_if_t<hasPV_N<SysEqn>::value, _*> =
nullptr,
746 std::enable_if_t<nDim == 2, _*> =
nullptr>
750 template <class _ = void, std::enable_if_t<hasPV_N<SysEqn>::value, _*> =
nullptr,
751 std::enable_if_t<nDim == 2, _*> =
nullptr>
755 template <class _ = void, std::enable_if_t<!hasPV_N<SysEqn>::value, _*> =
nullptr,
756 std::enable_if_t<nDim == 2, _*> =
nullptr>
760 template <class _ = void, std::enable_if_t<!hasPV_N<SysEqn>::value, _*> =
nullptr,
761 std::enable_if_t<nDim == 2, _*> =
nullptr>
765 template <class _ = void, std::enable_if_t<!hasPV_N<SysEqn>::value, _*> =
nullptr,
766 std::enable_if_t<nDim == 2, _*> =
nullptr>
807 template <
unsigned char vTerms>
809 template <
unsigned char tTerms>
858 template <
class X =
void, std::enable_if_t<nDim == 3, X*> =
nullptr>
GridCell
Grid cell Property Labels.
MInt m_regenerationInterval
MBool m_regenerateSeeding
void checkRegeneration(const MFloat time)
Bc1601Class(MPI_Comm &communicator, const MInt m_solverId, const MInt domainId, MFloat &u_total, MFloat &invSigmaSponge)
void generateAndCommRandomNumbers()
Bc1601Class functions:
void calculateFlucts(const MFloat that, const MFloat xhat, const MFloat yhat, const MFloat zhat, MFloat *fluctChol)
MBool loadRandomNumbers()
MInt m_regenerationCounter
void storeBoundaryVariables()
MFloat ** m_7901LESAverageOld
void addBesselModes(MInt)
MFloat m_bc1251ForcingAmplitude
MFloat m_static_cbc1091e_inflowArea
BndryCndHandler * bndryCndHandlerVariables
MFloat m_primaryJetRadius
MBool m_static_cbc1099_1091d_first
virtual void generateBndryCells()
generate finite-volume boundary cells
MFloat * m_sigmaSpongeBndryId
void cbc1099_1091_local_comb(MInt)
MFloat m_static_cbc3091a_R
std::vector< MInt > m_cbcBndryCndIds
void cbc1091b_after(MInt)
Subsonic fully reflecting characteristic inflow condition - cut off - sets T0,u,v to prescribed value...
MInt m_static_cbc1099_1091_local_comb_dimT2
void cbc1099_1091_local(MInt)
MInt * m_spongeBndryCndIds
holds the sponge boundary IDs
void allocateCutOffMemory()
allocates the cut off list memory
void cbcRHS(MInt, MInt, MFloat *, MFloat *, MFloat *)
Calculates the right hand side.
BndryCndHandler * bndryCndHandlerSlopesInviscid
virtual void bc19520(MInt)
void recorrectCellCoordinates()
std::vector< std::vector< MFloat > > m_dirNormal
BndryCndHandler * bndryCndHandlerCutOffInit
MInt * m_7901globalNoPeriodicLocations
void sbc2801y(MInt)
Solid wall Navier-Stokes boundary condition Computes ghost cell slopes for the viscous flux computati...
List< MInt > * m_sortedBndryCells
void sbc1000co(const MInt)
Cut off condition for the slopes.
MInt * m_7901periodicIndex
void sbc00co(const MInt)
Cut off condition for the slopes.
Collector< FvBndryCell< nDim, SysEqn > > * m_bndryCells
MInt m_static_cbc1091e_dimN
void computeTetra(MFloat *, MFloat *, MFloat *, MFloat *, MFloat *, MFloat *)
MInt m_static_cbc2099_1091_local_comb_dimT1
void(FvBndryCndXD::* BndryCndHandler)(MInt)
std::vector< MInt > m_cbcDomainMin
BndryCndHandlerVar * bndryCndHandlerNeumann
std::vector< std::vector< MFloat > > m_cbcReferencePoint
MBool m_static_cbc2091d_solverProfile
MInt m_static_cbc1091d_dimT1
MInt noDomains() const
Return the total number of domains (total number of ranks in current MPI communicator)
MFloat * m_spongeEndIteration
MFloat m_static_cbc1099_1091_engine_tangent[3]
void updateCutOffSlopesViscous()
MInt m_static_cbc1091e_dimT1
BndryCndHandler * nonReflectingCutOffBoundaryCondition
void cbc1091e_after(MInt)
Subsonic fully reflecting characteristic inflow condition - cut off - sets T0,u,v to prescribed value...
MInt m_noSpongeBndryCndIds
number of sponge boundary condition IDs
std::vector< std::vector< MInt > > m_azimuthalNearBoundaryWindowMap
MInt * m_bcCo_comm_pointer
MFloat m_static_cbc1099_outFlowArea
MBool m_complexBoundaryMB
void cbc1099a_after(MInt)
Subsonic fully reflecting characteristic outflow condition - cut off - sets pstat to prescribed value...
std::pair< MFloat, MFloat > * m_unTargetData
MInt m_static_cbc1099_1091_local_dirN
MInt m_static_cbc1099_1091_local_comb_dimT1
MFloat ** m_targetValuesBC11110
MInt m_static_cbc1091_dimT1
void calcBesselFractions(const MFloat, const MFloat, const MFloat, MFloat &, MFloat &)
void plotAllCutPoints()
writes a .vtk file containing all cut points stored on the cut cells
void initCutOffBndryCnds()
MInt m_static_cbc3091a_dimN
MBool m_static_cbc1091c_first
MFloat m_static_cbc1099_1091_engine_inflowArea
MBool m_smallCellRHSCorrection
MInt m_static_cbc1091d_dirN
void sbc2720co(MInt)
Cut off condition for the slopes copys the slopes, and sets pressure slope to sero NOTIMPLEMENTED ver...
void cbcDampingOutflow(MInt, MInt, MFloat, MFloat *)
Calculates the outflow damping terms.
void cbc1099_1091d_after(MInt)
MInt m_static_cbc2091d_after_dimN
MBool m_static_cbc1099_first
MBool m_static_cbc1091b_first
MFloat m_static_cbc1099_1091_engine_normal[3]
MInt m_static_cbc1099_1091_engine_domainMin
MFloat m_static_cbc3091a_referencePoint[3]
MInt m_static_cbc1091d_after_dirN
MBool m_firstUseBc10970
Only 3D ends ///.
void bcNeumannMb(MInt)
Moving boundary Neumann condition.
MInt m_7902globalNoWallNormalLocations
void cbc109911(MInt)
Characteristic boundary condition. Outflow. Prescribed: p. Partially Refelecting.
MInt m_static_cbc1091c_dirN
void copyRHSIntoGhostCells()
MFloat m_static_cbc1091c_referencePoint[3]
SysEqn::PrimitiveVariables * PV
SysEqn::FluxVariables * FV
std::vector< MFloat > m_7902wallNormalLocations
virtual void bc2001(MInt)
MInt m_static_plotIntersectionPoints_iter
MInt m_static_cbc2099_1091_local_comb_dirN
void initBesselModes(MInt)
MFloat m_bc1251ForcingWavelength
void bcNeumannIsothermalUnburntProfileH(MInt)
Computes the p and rho slopes on boundary cells using the least-squares method and setting implicitel...
MInt m_static_correctInflowBoundary_iter
MBool m_static_computeImagePointRecConst_firstRun
MFloat m_static_cbc1099_1091_local_inflowArea
virtual void bc1801(MInt)
FvCartesianSolverXD< nDim, SysEqn > * m_solver
MInt m_static_cbc1099_1091_engine_dimT2
MFloat m_Bc3011WallTemperature
void sbc2001(MInt)
Solid wall Navier-Stokes boundary condition Computes ghost cell slopes for the viscous flux computati...
MBool m_static_cbc1099_1091d_after_first
void bcInit2700(MInt)
init for the acoustic and entropy waves
MPI_Comm mpiComm() const
Return the MPI communicator used by the corresponding solver.
virtual void sbc2710co(MInt)
MInt m_static_cbc1091b_dirN
void initSmallCellCorrection(MInt updateOnlyBndryCndId=-1)
Initialize the small-cell correction for the flux-redistribution method The cell vars are computed us...
FvBndryCell< nDim, SysEqn > * m_bndryCell
std::vector< MInt > m_stgBcCells
MInt m_static_cbc2091a_dimN
std::map< MInt, MSTG< nDim, MAIA_STRUCTURED, MAIA_FINITE_VOLUME > * > m_stgBCStrcd
MInt m_ipVariableIterative
MFloat m_static_cbc1099_1091d_after_interpolationFactor
MFloat m_4000timeInterval
virtual void bc1901(MInt)
void updateCutOffSlopesInviscid()
void updateGhostCellSlopesViscous()
void cbcViscousTerms(MInt, MInt, MFloat *, MFloat *, MFloat *, MFloat *, MInt *, MFloat *)
Calculates the outgoing viscous terms V.
MInt * m_7902periodicIndex
MInt m_static_sbc1000co_directions[s_sbc1000co_fixedMaxNoBndryCndIds]
MFloat m_static_cbc2099_1091_local_comb_referencePoint[nDim]
MInt m_static_cbc2091d_dimT1
MFloat m_static_cbc2091d_referencePoint[nDim]
MBool m_cellCoordinatesCorrected
MFloat m_static_cbc1099_1091_local_R
ATTRIBUTES2(ATTRIBUTE_HOT, ATTRIBUTE_FLATTEN) void sbc1000(const MInt)
void checkBoundaryCells()
void setGapGhostCellVariables(MInt bcId)
update ghostCell variables for gap-Cells
void bcInit0004(MInt)
Sets up the reconstruction stencil for boundary cells (quadratic least-squares reconstruction)
MInt m_static_cbc1099_1091d_dimT1
MInt m_static_cbc1099_1091_local_dimT2
MBool m_shockFromInnerSolution
void deleteBndryCell(MInt)
Deletes a boundary cell (without collector fragmentation)
void cbcGradients(MInt, MInt, MFloat *, MFloat *, MFloat *, MFloat *)
Calculates the gradients of the cbcCell.
void cbc2099_1091_local_comb(MInt)
MFloat m_spongeLayerThickness
MInt m_static_cbc1099_1091_local_domainMin
ATTRIBUTES2(ATTRIBUTE_HOT, ATTRIBUTE_FLATTEN) void correctBoundarySurfaceVariables()
MInt m_static_cbc1091_dirN
void bcNeumannIsothermalUnburntProfile(MInt)
Computes the p and rho slopes on boundary cells using the least-squares method and setting implicitel...
MInt m_static_cbc1099_dirN
void updateCutOffCellVariables()
MBool m_static_cbc1091_first
MBool m_static_cbc1091e_first
void bcNeumannIsothermalBurntProfileH(MInt)
Computes the p and rho slopes on boundary cells using the least-squares method and setting implicitel...
MBool m_createSpongeBoundary
MFloat * vecScalarMul(MFloat, MFloat *, MFloat *)
std::vector< std::vector< MInt > > m_azimuthalNearBoundaryHaloCells
virtual void bc2770(MInt)
std::vector< MFloat > * m_7901periodicLocations
virtual void bc1003(MInt)
bool m_static_bc1099MGC_first
MInt * m_7902globalNoPeriodicLocations
BndryCndHandler * bndryCndHandlerInit
std::vector< std::vector< MFloat > > m_dirTangent
void computeTri(MFloat *, MFloat *, MFloat *, MFloat *, MFloat *)
void cbcMeanPressureCo(MInt, MFloat *)
std::vector< CutCandidate< nDim > > m_cutCandidates
MInt m_static_cbc1091c_after_dirN
MFloat m_static_cbc2091b_H
MInt m_static_cbc3091a_dimT2
MInt m_multipleGhostCells
void detectSmallBndryCells()
Detects small cells and identifies a master cell Calls mergeCell to merge master and small cell.
void markCutOff(MIntScratchSpace &cutOffCells)
MBool m_static_cbc2099_1091_local_comb_first
void computePlaneVectors()
uses Gram-Schmidt to compute orthonormal vectors in the cut plane
MFloat m_static_cbc2091a_inflowArea
ATTRIBUTES2(ATTRIBUTE_HOT, ATTRIBUTE_FLATTEN) void copySlopesToSmallCells()
void createCutFace()
computes the geometry of each the cut cells (2D version) 2 cut points are assumed for each boundary c...
FvBndryCndXD(FvCartesianSolverXD< nDim, SysEqn > *solver)
MBool checkInside(MInt)
checks if all corners of a cell are located in the computational domain
MInt m_static_cbc1091d_after_dimT1
MFloat m_static_cbc1099_1091_local_H
MInt m_static_cbc3091a_dirN
MBool m_static_cbc1091d_after_first
MInt m_static_cbc1099_1091_local_dimN
void bcInit0002(MInt)
Sets up the reconstruction stencil for boundary cells.
MInt m_static_cbc1091b_dimN
MInt m_static_cbc1099_dimT2
MInt m_static_cbc1091c_after_dimT1
MFloat m_static_cbc1091b_referencePoint[3]
void cbcTurbulenceInjection(MInt, MFloat *, MInt)
Turbulence injection (identical to bc1601) adjusted for Taylor's Hypothesis for cbc.
void computeCutPoints()
computes the cut points where a boundary cell intersects with the geometry computes the following bou...
void correctCellCoordinates()
MBool m_static_cbc1091d_first
MBool m_static_cbc1099_1091_local_first
void computeReconstructionConstants_interpolation()
std::vector< List< MInt > * > m_sortedCutOffCells
MBool m_static_cbc2091d_after_first
void cbc1099_1091_engineOld(MInt)
MInt m_static_bc1091MGC_minTimeSteps
MFloat ** m_7901LESAverage
MFloat m_static_cbc2091a_referencePoint[nDim]
MInt m_static_cbc2091d_dimN
MInt m_static_cbc1091_dimN
void exchangeCutOffBoundaryCells()
exchanges the cut off boundary cells and adds them to the accordings cut off boundary lists
void cbcGradientsViscous(MInt, MInt, MFloat *, MFloat *, MFloat *, MFloat *, MInt *)
Calculates the viscous gradients of the cbcCell.
MFloat m_volumeLimitOther
void correctBoundarySurfaceVariablesMGC()
corrects the left and right variables values on the boundary surface
std::vector< std::vector< MInt > > m_azimuthalNearBoundaryWindowCells
MFloat computeCutoffBoundaryGeometry(const MInt, const MInt, MFloat *)
computes centroid and radius (return parameter) of a cut-off boundary surface assumes that the surfac...
void correctBoundarySurfaceVariablesMGCSurface()
corrects the left and right variables values on the boundary surface
std::vector< std::vector< MFloat > > m_cbcRelax
MFloat m_shearLayerStrength
SysEqn::AdditionalVariables * AV
void computePoly5(MFloat *, MFloat *, MFloat *, MFloat *, MFloat *, MFloat *, MFloat *, MFloat *)
void correctMasterSlaveSurfaces()
Removes surfaces between master-slave pairs and reassigns slave cell surfaces.
MFloat m_radiusVelFlameTube
GeometryIntersection< nDim > * m_geometryIntersection
MInt m_static_cbc1099_1091d_dirN
MInt m_static_cbc1091c_after_dimT2
virtual void bc3037MGC(MInt)
MFloat ** m_7902LESAverage
MInt m_static_cbc1091c_dimN
MInt m_static_cbc2099_1091_local_comb_dimN
void computeImagePointRecConst(MInt updateOnlyBndryCndId=-1)
virtual void bc2003(MInt)
MFloat m_static_cbc1099_referencePoint[3]
std::pair< MFloat, MFloat > * m_vnTargetData
BndryCndHandler * bndryCndHandlerCutOffVariables
virtual void bc10990(MInt)
MInt m_static_bc1091MGC_nghbrDir
BndryCndHandler * nonReflectingBoundaryConditionAfterTreatmentCutOff
void writeStlFileOfCell(MInt, const char *)
Only 3D ///.
MFloat * m_spongeStartIteration
MInt m_static_cbc1099_dimT1
void updateGhostCellVariables()
List< MInt > * m_smallBndryCells
MFloat m_static_bc1099MGC_timeOfMaxPdiff
MInt m_static_cbc2091a_dimT1
void correctNormal(MFloat *)
void writeStlOfNodes(MInt, MInt *&, const char *)
MFloat * m_sigmaEndSpongeBndryId
MBool m_static_initSmallCellCorrection_firstRun
ATTRIBUTES2(ATTRIBUTE_HOT, ATTRIBUTE_FLATTEN) void copyVarsToSmallCells()
std::vector< MInt > * m_nearBoundaryHaloCells
void getFeatureEdges(MInt &, MFloat **&, MInt, MInt *&, MFloat *&, MFloat *&)
void cbc1099_1091_engine(MInt)
MFloat m_static_cbc1099_1091d_targetPressure
MInt m_static_cbc1099_dimN
void correctCell(MFloat *, MFloat *, MFloat *, MFloat *)
BndryCndHandler * bndryViscousSlopes
void computeMirrorCoordinates(MInt, MFloat *, MInt)
void addBoundarySurfacesMGC()
adds a surface for the ghost-boundary cell intersections
MFloat m_4000timeStepOffset
MInt m_noFluxRedistributionLayers
MInt * m_Bc2770TargetCells
void cbc109921(MInt)
Characteristic boundary condition. Outflow. Prescribed: p. Partially Refelecting.
MBool m_static_cbc2091a_solverProfile
MBool m_static_cbc1091b_solverProfile
MInt m_static_cbc1099_1091_engine_dimN
MBool m_changeAdiabBCToTemp
void getIntersectionPoints(MFloat **&, MFloat **&, MInt, MInt, MFloat **&, MInt &)
MFloat m_static_cbc3091a_inflowArea
MFloat m_static_cbc1091_referencePoint[3]
MInt m_static_cbc3091a_dimT1
MFloat updateImagePointVariables(MInt)
Updates the image point variables used with multiple ghost cell formulation.
MInt m_static_cbc1099_1091d_dimT2
maia::fv::surface_collector::FvSurfaceCollector< nDim > & m_surfaces
MInt m_static_cbc1099_1091_local_comb_dirN
void bcNeumannIsothermal(MInt)
Computes the p and rho slopes on boundary cells using the least-squares method and setting implicitel...
void plotIntersectionPoints(MInt *, MFloat ***&)
MFloat m_static_cbc1099_1091_local_targetPressure
void createCutFaceMGC()
ONLY 3D VERSIONS.
MBool m_static_cbc2091d_first
void correctCoarseBndryCells()
void correctFace(MFloat *, MFloat *, MFloat *, MFloat *)
MBool m_static_cbc3091a_first
MInt m_static_cbc1099_1091d_after_dimN
void bcNeumannIsothermalBurntProfile(MInt)
Computes the p and rho slopes on boundary cells using the least-squares method and setting implicitel...
MInt m_static_cbc1099_1091_engine_dimT1
virtual void bc1401(MInt)
void updateRHSSmallCells()
MInt m_static_bc1091MGC_first2
MFloat m_static_cbc2091b_inflowArea
List< MInt > * m_sortedSpongeBndryCells
void correctInflowBoundary(MInt)
MFloat * vecSub(MFloat *, MFloat *, MFloat *)
void(FvBndryCndXD::* BndryCndHandlerVar)(MInt)
void correctInflowBoundary(MInt, MBool=false)
void resetCutOffFirst()
reset first for cutOffBndryCnd, this is necessary after a balance!
MFloat m_static_cbc2091a_H
MInt m_noCutOffBndryCndIds
MInt m_static_cbc1091c_after_dimN
MInt m_static_cbc1099_1091d_after_dirN
MFloat ** m_horTargetData
void plotTriangle(std::ofstream &, MFloat *, MFloat *, MFloat *, MFloat *)
void cbc1091c_after(MInt)
Subsonic fully reflecting characteristic inflow condition - cut off - sets T0,u,v to prescribed value...
MInt m_horTargetDataCount
void checkCutPointsValidity()
checks the validity of a boundary cell
MFloat m_momentumThickness
void plotEdges(MInt &, MFloat **&)
void addModes(MInt)
supersonic inflow with imposed onlique shock wave version: cut-off boundary condition author: Thomas ...
void computeNeumannLSConstants(MInt)
Sets up the reconstruction stencil for boundary cells.
MInt m_static_cbc1091c_dimT1
MInt m_noCellsInsideSpongeLayer
MBool m_static_cbc2091b_solverProfile
void cbcTransversalTerms(MInt, MInt, MFloat *, MFloat *, MFloat *, MFloat *, MFloat *)
Calculates the transversal correction terms T.
MInt m_noLevelSetsUsedForMb
MInt * m_boundarySurfaces
std::vector< std::vector< MInt > > m_cbcDir
void computePoly4(MFloat *, MFloat *, MFloat *, MFloat *, MFloat *, MFloat *, MFloat *)
MFloat ** m_reconstructionConstants
MFloat m_static_cbc1091b_inflowArea
void applyNonReflectingBCCutOff()
virtual void bc2002(MInt)
void computePoly6(MFloat *, MFloat *, MFloat *, MFloat *, MFloat *, MFloat *, MFloat *, MFloat *, MFloat *)
void detectSmallBndryCellsMGC()
Detects small cells and identifies a master cell Calls mergeCell to merge master and small cell.
MInt createSplitCell_MGC(MInt, MInt)
produces an exact copy of a fvcell and the respective boundary cell
MInt m_static_cbc2091d_after_dimT1
MBool m_static_cbc1099_1091_engine_first
MInt * m_spongeTimeDependent
void cbcOutgoingAmplitudeVariation(MInt, MInt, MFloat *, MFloat *, MFloat *, MFloat *, MFloat *)
Calculates the outgoing terms wave amplitude variation L.
MInt m_static_cbc1091b_dimT1
MBool m_static_cbc1091c_after_first
void setBCTypes(MInt updateOnlyBndryCndId=-1)
void cbcDampingInflow(MInt, MInt, MFloat, MFloat *, MString)
Calculates the inflow damping terms.
MBool m_static_cbc1091d_solverProfile
MInt m_static_cbc1091e_dirN
MBool m_jetInletTurbulence
MInt m_static_bc1091MGC_edgeCellCounter
MInt m_static_cbc1099_domainMin
void exchangeComputedCutPoints()
std::vector< MInt > m_smallCutCells
BndryCndHandler * bndryCndHandlerCutOffSlopesInviscid
MBool m_firstUseSetBCTypes
void createBndryCndHandler()
creates pointers to the boundary conditions
MInt ** m_reconstructionNghbrs
MInt m_static_cbc2091b_dirN
MFloat m_targetVelocityFactor
void computeTri(MFloat *, MFloat *, MFloat *, MFloat *, MFloat *, MFloat *)
void applyNeumannBoundaryCondition()
void updateGhostCellSlopesInviscid()
void checkCutPointsValidityParGeom()
checks the validity of a boundary cell using parallel geometry
MInt m_static_cbc1091_dimT2
void sbc2801x(MInt)
Solid wall Navier-Stokes boundary condition Computes ghost cell slopes for the viscous flux computati...
void cbc1091d_after(MInt)
Subsonic fully reflecting characteristic inflow condition - cut off - sets un to prescribed value aft...
MInt m_static_cbc1091_domainMin
void addBoundarySurfaces()
adds a surface for the ghost-boundary cell intersections
MBool m_createBoundaryAtCutoff
void correctInflowBoundary(MInt, MFloat *&, MFloat *&)
virtual void cmptGhostCells()
void cbcMachCo(MInt, MFloat *)
Returns the mean and maximum Mach number of the cut off cells.
std::map< MInt, MBool > m_stgLocal
void computePolygon(MFloat *x, const MInt N, MFloat *centroid, MFloat *area)
MFloat m_static_cbc2099_1091_local_comb_outFlowArea
MBool m_static_cbc1091e_solverProfile
MFloat m_secondaryJetRadius
std::vector< MFloat > m_7901globalWallNormalLocations
void setNearBoundaryRecNghbrs(MInt updateOnlyBndryCndId=-1)
virtual void bc1001coflowY(MInt)
MFloat m_static_cbc1099_1091_local_referencePoint[3]
MFloat m_static_cbc1099_1091d_inflowArea
MInt * m_cellsInsideSpongeLayer
std::vector< MFloat > * m_7902periodicLocations
void correctInflowBoundary(MInt, MFloat *&, MFloat *&, MBool=false)
maia::fv::collector::FvCellCollector< nDim > & m_cells
MFloat m_sigmaNonReflInflow
static constexpr MInt s_sbc1000co_fixedMaxNoBndryCndIds
std::vector< MInt > * m_nearBoundaryWindowCells
MBool m_static_cbc1091a_solverProfile
void correctGhostCellSlopesViscous()
void bcInit1601(MInt)
Initialize bc1601.
MInt m_static_cbc1091d_minDom
MFloat m_static_cbc1099_1091_local_comb_outFlowArea
MInt isCutOffInterface(MInt cellId)
void createBoundaryAtCutoff()
MInt m_7901globalNoWallNormalLocations
void applyNonReflectingBCAfterTreatmentCutOff()
void createSpongeAtSpongeBndryCnds()
creates Sponge Cells at spongeBndryCnds
void mergeCellsMGC()
merges master and small cells - for multiple ghost cells formulation
MFloat m_static_cbc1099_1091_local_comb_referencePoint[3]
MInt m_bc1251ForcingDirection
BndryCndHandler * bndryCndHandlerSpongeVariables
void resetCutOff()
reset sorterdCutOff Cells and cutOff communicator before balancing and adaptation!
MInt m_noMaxSpongeBndryCells
MFloat m_shearLayerThickness
MFloat m_static_cbc2091d_inflowArea
void computeGhostCellsMGC()
Computes one ghost cell for each boundary surface.
void createSortedBndryCellList()
void precomputeBesselTrigonometry(MInt)
MFloat m_bc1251ForcingFrequency
std::vector< MFloat > m_7902globalWallNormalLocations
MInt m_static_cbc1091d_after_dimT2
void getSortedElements(const std::vector< MInt > &, MInt &, MInt *&, MInt &, MInt *&, MInt)
void sbc1002(MInt)
Symmetry boundary condition about x-axis (slopes)
MFloat m_static_cbc1091d_inflowArea
void cbc2091b_after(MInt)
Subsonic fully reflecting characteristic inflow condition - cut off - sets T0,u,v to prescribed value...
MInt domainId() const
Return the domain id of this solver on the current MPI communicator.
MInt m_static_cbc1091d_after_dimN
MInt m_static_plotEdges_iter
Only 3D ///.
MBool m_static_cbc2091a_first
std::vector< MFloat > m_cbcLref
virtual void bc1791(MInt)
std::vector< MFloat > m_7901wallNormalLocations
MInt * m_spongeBndryCells
virtual void writeStlFileOfCell(MInt, const MChar *)
std::vector< MFloat > m_cbcInflowArea
MFloat m_static_cbc2091b_referencePoint[nDim]
void bcInit2770(MInt)
supersonic inflow with imposed onlique shock wave and linear waves version: cut-off boundary conditio...
MBool m_static_cbc1099_1091_local_comb_first
MInt * m_cutOffBndryCndIds
void cbc2091d_after(MInt)
Subsonic fully reflecting characteristic inflow condition - cut off - sets un to prescribed value aft...
virtual void bc10910(MInt)
MInt m_static_cbc1099_1091d_dimN
MFloat m_static_cbc2091d_H
MInt m_static_cbc1099_1091_engine_dirN
MFloat m_static_cbc1091d_referencePoint[3]
MFloat m_inflowTemperatureRatio
MInt m_static_cbc1099_1091_local_comb_dimN
MFloat m_pressureRatioChannel
MBool m_bc1601MoveGenOutOfSponge
void cbc109910(MInt)
Characteristic boundary condition. Outflow. Prescribed: p. Partially Refelecting.
MInt m_static_bc1091MGC_first
void cbcTauQ(MInt, MFloat *, MFloat *, MInt *)
Calculates the stress tensor tau and the heat flux q and the mean velocity on the construction stenci...
virtual void bc1005(MInt)
virtual void bc1004(MInt)
Bc1601Class< nDim > * m_bc1601
MInt m_noImagePointIterations
void bc1952(MInt)
Subsonic outflow boundary condition (applied directly to the (boundary) cell). Set of variables: Stan...
void initSmallCellRHSCorrection(MInt updateOnlyBndryCndId=-1)
void cutOffBcMissingNeighbor(const MInt cellId, const MString bcName)
MInt m_static_cbc2091a_dirN
void bcNeumannIsothermalUnburnt(MInt)
Computes the p and rho slopes on boundary cells using the least-squares method, and setting implicite...
MInt m_static_cbc1091d_dimN
MFloat m_static_cbc1091_inflowArea
void computeReverseMap()
Creates a mapping (boundary cell id) -> (cell id) in m_bndryCellIds.
void bcNeumann3600(MInt)
Simple and fast fixed adiabatic wall boundary condition for use with the flux-redistribution method.
MFloat m_static_cbc1091c_inflowArea
SysEqn::ConservativeVariables * CV
MInt m_static_cbc2091d_after_dirN
void initBndryCommunications()
inits the commnicators for the boundaries
BndryCndHandler * bndryCutOffViscousSlopes
void computeTrapez(MFloat *, MFloat *, MFloat *, MFloat *, MFloat *, MFloat *, MFloat *)
void rerecorrectCellCoordinates()
MBool m_cbcSmallCellCorrection
MInt m_static_cbc2091d_dirN
void bcInit0001(MInt)
Sets up the reconstruction stencil for boundary cells.
MFloat ** m_7902LESAverageOld
MInt m_static_cbc2091b_dimN
MInt m_noBoundarySurfaces
std::list< std::pair< MInt, MInt > > m_wmSrfcToCellId
MInt m_static_cbc1099_1091_local_dimT1
void resetBndryCommunication()
MBool m_static_cbc3091a_solverProfile
MFloat m_static_cbc1099_1091d_referencePoint[nDim]
void computePyra(MFloat *, MFloat *, MFloat *, MFloat *, MFloat *, MFloat *)
MInt m_static_writeStlOfNodes_iter
std::map< MInt, MSTG< nDim, MAIA_FINITE_VOLUME, MAIA_FINITE_VOLUME > * > m_stgBC
MInt * m_spongeDirections
MBool m_static_cbc2091b_first
MBool m_static_sbc1000co_first
MInt m_static_cbc2091b_dimT1
void computePoly3(MFloat *, MFloat *, MFloat *, MFloat *, MFloat *, MFloat *)
This class is a ScratchSpace.
virtual MInt domainId() const
Return the domainId (rank)
MPI_Comm mpiComm() const
Return the MPI communicator used by this solver.
virtual MInt noDomains() const
Class that represents FV cell collector.
Class that represents FV surface collector.
FvCell
FV cell Property Labels.
std::basic_string< char > MString