MAIA bb96820c
Multiphysics at AIA
Loading...
Searching...
No Matches
LsCartesianSolver< nDim_ > Class Template Reference

#include <lscartesiansolver.h>

Inheritance diagram for LsCartesianSolver< nDim_ >:
[legend]
Collaboration diagram for LsCartesianSolver< nDim_ >:
[legend]

Public Types

using Cell = typename maia::grid::tree::Tree< nDim_ >::Cell
 
using GCellCollector = maia::ls::collector::GCells< nDim_ >
 
using PropertyReference = typename GCellCollector::BitsetType::reference
 
using CartesianSolver = typename maia::CartesianSolver< nDim, LsCartesianSolver >
 
using Grid = typename CartesianSolver::Grid
 
using GridProxy = typename CartesianSolver::GridProxy
 
using Geom = Geometry< nDim >
 
- Public Types inherited from maia::CartesianSolver< nDim_, LsCartesianSolver< nDim_ > >
using Grid = CartesianGrid< nDim >
 
using GridProxy = typename maia::grid::Proxy< nDim >
 
using Geom = Geometry< nDim >
 
using TreeProxy = maia::grid::tree::TreeProxy< nDim >
 
using Cell = maia::grid::tree::Cell
 

Public Member Functions

MFloat time () const override
 Return the time. More...
 
MFloat timeStep () const
 Returns the timeStep. More...
 
MInt noVariables () const override
 Return the number of variables. More...
 
virtual void saveSolverSolution (const MBool, const MBool)
 
virtual void cleanUp ()
 
Geomgeometry () const
 Access the solver's geometry. More...
 
 LsCartesianSolver (MInt, const MBool *, GridProxy &gridProxy_, Geom &geometry_, const MPI_Comm comm)
 
CHECKNORMAL< nDim > & checkNormal () const
 
MInt noSolverTimers (const MBool allTimings) override
 
MInt maxLevel () const
 
MFloat c_cellLengthAtCell (const MInt gCellId) const
 
MFloat cellVolumeAtCell (const MInt gCellId) const
 
MFloat c_cellLengthAtLevel (const MInt level) const
 
MInt noInternalCells () const override
 Return the number of internal cells within this solver. More...
 
void extendVelocity (const MInt set)
 
MInt a_noCells () const
 
void a_appendCollector ()
 
void a_resetPropertiesSolver (const MInt cellId)
 Returns property p of the cell cellId. More...
 
maia::ls::cell::BitsetType::reference a_isBndryCellG (const MInt cellId)
 
MBool a_isBndryCellG (const MInt cellId) const
 
MInt a_maxGCellLevel (const MInt set=-1) const
 
MFloata_extensionVelocityG (const MInt cellId, const MInt dim, const MInt set)
 Returns fExt of the cell cellId for index n. More...
 
MFloat a_extensionVelocityG (const MInt cellId, const MInt dim, const MInt set) const
 Returns fExt of the cell cellId for index n. More...
 
maia::ls::cell::BitsetTypeSet::reference a_inBandG (const MInt cellId, const MInt set)
 
MBool a_inBandG (const MInt cellId, const MInt set) const
 
maia::ls::cell::BitsetTypeSet::reference a_isGBoundaryCellG (const MInt cellId, const MInt set)
 
MBool a_isGBoundaryCellG (const MInt cellId, const MInt set) const
 
MBool a_isGZeroCell (const MInt cellId, const MInt set) const
 
maia::ls::cell::BitsetTypeSet::reference a_isGZeroCell (const MInt cellId, const MInt set)
 
MBool a_wasGZeroCell (const MInt cellId, const MInt set) const
 
maia::ls::cell::BitsetTypeSet::reference a_wasGZeroCell (const MInt cellId, const MInt set)
 
maia::ls::cell::BitsetTypeSet::reference a_hasPositiveSign (const MInt cellId, const MInt set)
 Returns the hasPositiveSigncellId for the setset. More...
 
MBool a_hasPositiveSign (const MInt cellId, const MInt set) const
 Returns the hasPositiveSigncellId for the setset. More...
 
MInt a_levelSetSign (const MInt cellId, const MInt set)
 Returns the signed (MInt) version of hasPositiveSigncellId for the setset. More...
 
MFloata_normalVectorG (const MInt cellId, const MInt dim, const MInt set)
 Returns normalVector of the cell cellId for index n. More...
 
MFloat a_normalVectorG (const MInt cellId, const MInt dim, const MInt set) const
 Returns normalVector of the cell cellId for index n. More...
 
maia::ls::cell::BitsetType::reference a_nearGapG (const MInt cellId)
 
MBool a_nearGapG (const MInt cellId) const
 
maia::ls::cell::BitsetType::reference a_regridTriggerG (const MInt cellId)
 
MBool a_regridTriggerG (const MInt cellId) const
 
MInta_bodyIdG (const MInt cellId, const MInt set)
 Returns bodyId of the cell cellId for set set. More...
 
MInt a_bodyIdG (const MInt cellId, const MInt set) const
 Returns bodyId of the cell cellId for set set. More...
 
MInta_secondBodyId (const MInt cellId)
 Returns secondBodyId of the cell cellId for set set. More...
 
MInt a_secondBodyId (const MInt cellId) const
 Returns secondBodyId of the cell cellId for set set. More...
 
MFloata_curvatureG (const MInt cellId, const MInt set)
 Returns curvature of the cell cellId for set set. More...
 
MFloat a_curvatureG (const MInt cellId, const MInt set) const
 Returns curvature of the cell cellId for set set. More...
 
MFloata_levelSetFunctionG (const MInt cellId, const MInt set)
 Returns levelSetFunction of the cell cellId. More...
 
MFloat a_levelSetFunctionG (const MInt cellId, const MInt set) const
 Returns levelSetFunction of the cell cellId. More...
 
MFloata_oldLevelSetFunctionG (const MInt cellId, const MInt set)
 Returns the old levelSetFunction of the cell cellId. More...
 
MFloat a_oldLevelSetFunctionG (const MInt cellId, const MInt set) const
 Returns the old levelSetFunction of the cell cellId. More...
 
MFloata_levelSetFunctionSlope (const MInt cellId, const MInt dim, const MInt set)
 Returns ls-FunctionSlope of the cell cellId for set dim set. More...
 
MFloat a_levelSetFunctionSlope (const MInt cellId, const MInt dim, const MInt set) const
 Returns ls-FunctionSlope of the cell cellId for set dim set. More...
 
MFloata_levelSetRHS (const MInt cellId, const MInt set)
 Returns ls-RHS of the cell cellId for set set. More...
 
MFloat a_levelSetRHS (const MInt cellId, const MInt set) const
 Returns ls-RHS of the cell cellId for set set. More...
 
MFloata_correctedBurningVelocity (const MInt cellId, const MInt set)
 Returns corrected burning velocity of the cell cellId for set set. More...
 
MFloat correctedBurningVelocity (const MInt cellId, const MInt set) const
 Returns corrected burning velocity of the cell cellId for set set. More...
 
MLonga_containingCell (const MInt cellId, const MInt body)
 Returns the containing cellcellId. More...
 
MLong a_containingCell (const MInt cellId, const MInt body) const
 Returns the containing cellcellId. More...
 
MInta_containingDomain (const MInt cellId, const MInt body)
 Returns the containing DomaincellId. More...
 
MInt a_containingDomain (const MInt cellId, const MInt body) const
 Returns the containing DomaincellId. More...
 
MFloata_gapWidth (const MInt id)
 Returns the gap widthcellId. More...
 
MFloat a_gapWidth (const MInt id) const
 Returns the gap widthcellId. More...
 
MInta_potentialGapCell (const MInt id)
 Returns the potential gap cellcellId. More...
 
MInt a_potentialGapCell (const MInt id) const
 Returns the potential gap cellcellId. More...
 
MInta_potentialGapCellClose (const MInt id)
 Returns the potential gap cell closecellId. More...
 
MInt a_potentialGapCellClose (const MInt id) const
 Returns the potential gap cell closecellId. More...
 
MFloata_meanCoord (const MInt dir)
 
MFloat a_meanCoord (const MInt dir) const
 
MInt c_noCells () const
 
MInt c_parentId (const MInt gCellId) const
 
MInt c_noChildren (const MInt gCellId) const
 
MInt c_childId (const MInt gCellId, const MInt pos) const
 
MFloat c_coordinate (const MInt gCellId, const MInt dim) const
 Returns the coordinate of the cell cellId for direction dim. More...
 
MInt c_neighborId (const MInt gCellId, const MInt dir) const
 
MInt a_bandNghbrIdsG (const MInt cellId, const MInt dir, const MInt set) const
 Returns bandNeighborId of the cell cellId for index n. More...
 
MInt a_hasNeighbor (const MInt gCellId, const MInt dir) const
 Returns noNeighborIds of the gcell CellId variables varId. More...
 
MBool a_isWindow (const MInt gCellId) const
 Returns IsWindow of the cell cellId. More...
 
maia::ls::cell::BitsetType::reference a_isWindow (const MInt gCellId)
 Returns IsWindow of the cell cellId. More...
 
MLong c_globalId (const MInt gCellId) const
 
MInt a_domainId (const MLong gGlobalId)
 
MInt a_localId (const MLong gGlobalId)
 
MBool c_isLeafCell (const MInt gCellId) const
 
MBool a_isHalo (const MInt gCellId) const
 Returns IsHalo of the cell cellId. More...
 
maia::ls::cell::BitsetType::reference a_isHalo (const MInt gCellId)
 Returns IsHalo of the cell cellId. More...
 
MInt a_level (const MInt gCellId) const
 Returns the level of the gcell gCellId. More...
 
MFloata_flameSpeedG (const MInt cellId, const MInt set)
 Returns flameSpeed of the cell cellId for index n. More...
 
MFloat a_flameSpeedG (const MInt cellId, const MInt set) const
 Returns flameSpeed of the cell cellId for index n. More...
 
MBool forceAdaptation () override
 Returns the levelSet-Adaptation-forcing. More...
 
constexpr MInt a_bandCellId (MInt id, MInt set) const
 
constexpr MInt a_internalBandCellId (MInt id, MInt set) const
 
constexpr MInt a_bandBndryCellId (MInt id, MInt set) const
 
constexpr MInt a_G0CellId (MInt id, MInt set) const
 
constexpr MInt a_gBndryCellId (MInt id, MInt set) const
 
constexpr MInt a_noBandCells (MInt set) const
 
constexpr MInt a_noInternalBandCells (MInt set) const
 
constexpr MInt a_noBandBndryCells (MInt set) const
 
constexpr MInt a_noG0Cells (MInt set) const
 
constexpr MInt a_noGBndryCells (MInt set) const
 
MInta_bandLayer (MInt id, MInt set)
 
MInt a_bandLayer (MInt id, MInt set) const
 
MInta_internalBandLayer (MInt id, MInt set)
 
MInt a_internalBandLayer (MInt id, MInt set) const
 
MInt getCurrentTimeStep () const override
 
void resetExtensionVelocity ()
 
void initSolver () override
 
void initLocalizedLevelSetCG ()
 
void createBaseGgridCG ()
 
void createGgridCG (MBool=false)
 
void generateListOfGExchangeCellsCG ()
 
void buildLevelSetTube (MInt mode=-1)
 
void fastBuildLevelSetTubeCG ()
 
void testCellsCG ()
 
void restartLocalizedLevelSetCG ()
 
MInt loadLevelSetGridFlowVarsParCG (const MChar *fileName)
 
virtual void writeRestartLevelSetFileCG (MBool, const MString &, const MString &)
 
void prepareAdaptation () override
 prepare adaptation for split adaptation before the adaptation loop More...
 
void setSensors (std::vector< std::vector< MFloat > > &sensors, std::vector< MFloat > &sensorWeight, std::vector< std::bitset< 64 > > &sensorCellFlag, std::vector< MInt > &sensorSolverId) override
 set solver sensors for split adaptation within the adaptation loop More...
 
void postAdaptation () override
 post adaptation for split adaptation within the adaptation loop More...
 
void finalizeAdaptation () override
 finalize adaptation for split sadptation after the adaptation loop More...
 
void sensorInterface (std::vector< std::vector< MFloat > > &sensors, std::vector< std::bitset< 64 > > &sensorCellFlag, std::vector< MFloat > &sensorWeight, MInt sensorOffset, MInt sen) override
 
void removeChilds (const MInt) override
 Coarsen the given cell. More...
 
void removeCell (const MInt) override
 Remove the given cell. More...
 
void refineCell (const MInt) override
 Refine the given cell. More...
 
void swapCells (const MInt, const MInt) override
 Swap the given cells. More...
 
void swapProxy (const MInt cellId0, const MInt cellId1) override
 Swap the given cells. More...
 
MInt cellOutside (const MFloat *, const MInt, const MInt) override
 Check whether cell is outside the fluid domain. More...
 
void exchangeAllLevelSetData ()
 
void exchangeLevelSet ()
 
void exchangeLs (MFloat *, MInt, MInt)
 
void exchangeGapInfo ()
 
void initAzimuthalExchange ()
 
void resizeGridMap () override
 Swap the given cells. More...
 
MBool levelSetAdaptationTrigger ()
 
void getContainingCellFromNeighbor (MInt body, MInt cellId, MFloat *xCoord, MFloat *xOld)
 
MInt getContainingCellHalo (MFloat *point)
 
void finalizeInitSolver () override
 
void initRotatingLS ()
 
void resetContainingGCells ()
 
void updateContainingGCells (MInt mode=0)
 
void copyWindowToHaloIds ()
 
void checkHaloCells ()
 
void setInterfaceList (MIntScratchSpace &interfaceCells)
 
void resetSolverFull ()
 
void resetSolver () override
 Reset the solver/solver for load balancing. More...
 
void balance (const MInt *const noCellsToReceiveByDomain, const MInt *const noCellsToSendByDomain, const MInt *const targetDomainsByCell, const MInt oldNoCells) override
 
void balancePre () override
 
void balancePost () override
 
void finalizeBalance () override
 
MBool hasSplitBalancing () const override
 Return if load balancing for solver is split into multiple methods or implemented in balance() More...
 
void localToGlobalIds () override
 
MInt noCellDataDlb () const override
 Methods to inquire solver data information. More...
 
MInt cellDataTypeDlb (const MInt dataId) const override
 
MInt cellDataSizeDlb (const MInt dataId, const MInt gridCellId) override
 
void getCellDataDlb (const MInt dataId, const MInt oldNoCells, const MInt *const bufferIdToCellId, MInt *const data) override
 Return solver data for DLB. More...
 
void getCellDataDlb (const MInt dataId, const MInt oldNoCells, const MInt *const bufferIdToCellId, MFloat *const data) override
 
void setCellDataDlb (const MInt dataId, const MInt *const data) override
 Set solver data for DLB. More...
 
void setCellDataDlb (const MInt dataId, const MFloat *const data) override
 
void setCellWeights (MFloat *) override
 Set cell weights. More...
 
MInt noLoadTypes () const override
 
void getDefaultWeights (MFloat *weights, std::vector< MString > &names) const override
 
void getLoadQuantities (MInt *const loadQuantities) const override
 
MFloat getCellLoad (const MInt cellId, const MFloat *const weights) const override
 
void getSolverTimings (std::vector< std::pair< MString, MFloat > > &solverTimings, const MBool allTimings) override
 
void limitWeights (MFloat *) override
 
void getDomainDecompositionInformation (std::vector< std::pair< MString, MInt > > &domainInfo) override
 
void reconstructOldGField ()
 
void rotateLevelSet (MInt returnMode, MFloat *cellData, MInt body, const MFloat *xCoord, const MFloat *xCenter, const MFloat *angle)
 
void processRotatingLevelSet (MFloat &phi, MInt &cellId, MInt &domId, MFloat *point, MInt set)
 
MInt checkSecondLayerCells (std::vector< MInt > &diag2Cells, std::map< MInt, std::vector< MInt > > &dirCode, MFloat *point)
 
void prepareGlobalComm (MInt *noCellsToDom)
 
void globalToLocalIdsContainingCells ()
 
void localToGlobalIdsContainingCells ()
 
void computeLevelSetRHS ()
 
void levelSetConstrainedReinitialization (MInt methodId, MInt startSet, MInt endSet, MInt gapMode)
 
void levelSetHighOrderConstrainedReinitialization (MInt methodId, MInt startSet, MInt endSet, MInt gapMode)
 
void maintainOuterBandLayers (MInt order, MInt startSet, MInt endSet)
 
void determineMinMaxMeanInterfacePosition ()
 
void determineSteadyFlameLength ()
 
void determineMinMaxMeanRegionInterfacePosition (MFloat xRegN, MFloat xRegP, MFloat yRegN, MFloat yRegP, MInt set)
 
void reinitBand (MInt startSet, MInt endSet)
 
void initializeGControlPoint ()
 this function is used to initialize the control point. More...
 
void initializeIntegrationScheme ()
 
void initializeIntegrationScheme_semiLagrange ()
 
void setGCellBndryProperty ()
 
void applyLevelSetBoundaryConditions ()
 
void initializeGField ()
 Initializes the solver values with the values of the undisturbed flow The values are given by the property file. The conservative and primitive variables are calculated and set with the given values as also the variables of the cells. More...
 
void constructGFieldFromSTL (MInt ConstructFlag)
 Used for initializing G field into the domain. ConstructFlag == 0: only reinitialization part will be called (used cell-type depends on the initMode) == 1: only initialization part will be called (which uses all cells in the domain) == 2: both initialization and reinitialization part will be called (currently unused!) (however only cells in the band are used for the initialization, only usefull after band-cells have been found!) == 3: only initialization part will be called (which uses all band-cells in the domain) only usefull after band-cells have been found! More...
 
void rotateSTL (MInt direction)
 
void rotateSTL (MInt direction, MInt body, MFloat *center)
 
void spatiallyAdaptiveCorrectionFromSTL ()
 this function does a correction based on the curvature of the geometry. The high curvature regions are corrected, while the low curvature regions are left untouched. The number of the corrected is controlled by the multiple level thresholds. remarks: this works only with control 2 (moving STL). More...
 
void levelSetReinitialization (MInt mode=1)
 
void setBandNewArrivals (MInt computingSet=-1)
 
void updateLowerGridLevels (MInt mode=-1)
 
void updateAllLowerGridLevels (MInt mode=-1)
 
void determineG0Cells (MInt computingSet=-1)
 
void determineBandCells (MInt mode=-1)
 
void updateBndryCellList ()
 
void resetOutsideCells (MInt mode=-1)
 
void resetOldOutsideCells ()
 
void computeCurvature (MInt mode=-1)
 
void computeCurvaturePeriodic ()
 
void determinePropagationSpeed ()
 
void computeNormalVectors (MInt mode=-1)
 
void computeNormalVectorsPeriodic ()
 
void computeNormalVectorsAtFront ()
 
void computeExtensionVelocityGEQUPVMarksteinOpt (MFloat *FfluidDensity, MInt set)
 
void computeGCellTimeStep ()
 
void levelSetRestriction ()
 
void computeZeroLevelSetArcLength ()
 
void setUpBodyToSetTable ()
 
void computeBodyPropertiesForced (MInt returnMode, MFloat *bodyData, MInt body, MFloat time, MBool printPosition=false)
 returns a specific property of the specifuec body used to provide a unique function for both level-set and moving boundary code return mode: 1: body venter 2: body velocity 3: body acceleration 4: body temperature More...
 
void identifyBodies (MInt mode=0)
 sets a_bodyIdG(gCells,set) for all sets exept for the collected levelset (this is done in buildCollectedLevelSet()) More...
 
void setUpLevelSetInterpolationStencil (MInt cellId, MInt *interpolationCells, MInt position)
 
void shiftOldLevelSetField (MInt dir, MInt set, MInt body)
 
void buildCollectedLevelSet (MInt mode=1)
 
void reBuildCollectedLevelSet (MInt mode)
 
void gapHandling ()
 
void levelSetGapCorrect ()
 
void levelSetGapRecorrect ()
 
void finalizeLevelSetInitialization ()
 
void setUpPotentialGapCells ()
 Set up cells, that may be tagged as gap cells during the solver run! Initialises the arrays, according to the specifiec properties: More...
 
void allocateLevelSetMemory ()
 
void allocateRotatingLs ()
 
void initializeCollectedLevelSet (MInt mode)
 
void regionGrowing (MInt cellId, MInt region)
 
void setChildRegions (MInt cellId, MInt region)
 
MBool levelSetSolver ()
 
MBool gRungeKutta ()
 
MBool semiLagrangeTimeStep ()
 
MBool regridLevelSet ()
 
MBool levelSetReinitializationTrigger ()
 
MBool inCell (MInt cellId, MFloat *point)
 
MBool gapCellsExist ()
 
MBool localGapCellsExist ()
 
MFloat firstOrderEikonalSolver (MInt cellListSize, MInt maxIterations, MInt set)
 
MFloat secondOrderEikonalSolver (MFloat *q, const MInt *nghbrs, MInt cellListSize, MInt maxIterations, MInt set)
 
MFloat fifthOrderEikonalSolver (MInt cellListSize, MInt maxIterations, MInt *crCells, MInt noCRCells, MFloat *factors, MInt crMode, MInt set)
 
MFloat computeDistanceFromSTL (MFloat *target, MInt *closestElement, MFloat *closestPoint, MInt set, MFloat sphereRadiusFactor=F5)
 
MFloat interpolateOldLevelSet (MInt *interpolationCells, MFloat *point, MInt referenceSet)
 
MFloat interpolateLevelSet (MInt *interpolationCells, MFloat *point, MInt referenceSet)
 
MInt determineLevelSetSignFromSTL (MFloat *target, MInt set)
 this function checks if the "target" coordinates is inside(return 1) or outside (return -1) STL and return level set sign. More...
 
MInt hyperbolicExtensionOpt (MFloat *q, MInt *cellList, MInt cellListSize, MFloat convergenceCriterion, MInt set)
 
MInt getContainingCell (MFloat *point)
 
MInt getContainingCell (MInt startCell, MFloat *point, MInt set=-1)
 
MInt setUpLevelSetInterpolationStencil (MInt cellId, MInt *interpolationCells, MFloat *point)
 
void exchangeIntBuffers (MInt *, MInt *, MInt, MInt)
 
template<typename T >
void exchangeBuffersGlobal (T *sendBuffer, T *receiveBuffer, MInt *, MInt *, MInt *, MInt *, MInt, MInt offset=1)
 
void readLevelSetProperties ()
 
void preTimeStep () override
 
void postTimeStep () override
 
void buildMultipleLevelSet (MInt mode=1)
 
MBool _levelSetSolutionStep ()
 
MBool finalizeLevelSet_ (const MInt t_levelSet, const MInt t_output)
 
MBool solutionStep () override
 
void finalizeLevelSet ()
 
void saveRestartFile (const MBool, MInt *)
 
void writeRestartFile (const MBool, const MBool, const MString, MInt *recalcIdTree) override
 
void reIntAfterRestart (MBool) override
 
MBool prepareRestart (MBool, MBool &) override
 Prepare the solvers for a grid-restart. More...
 
MFloat reduceData (const MInt, MFloat *data, const MInt dataBlockSize=1)
 
MFloat crankAngle (const MFloat, const MInt)
 
void determinePeriodicDistance ()
 
- Public Member Functions inherited from maia::CartesianSolver< nDim_, LsCartesianSolver< nDim_ > >
 CartesianSolver (const MInt solverId, GridProxy &gridProxy_, const MPI_Comm comm, const MBool checkActive=false)
 
MInt minLevel () const
 Read-only accessors for grid data. More...
 
MInt maxLevel () const
 
MInt maxNoGridCells () const
 
MInt maxRefinementLevel () const
 
MInt maxUniformRefinementLevel () const
 
MInt noNeighborDomains () const
 
MInt neighborDomain (const MInt id) const
 
MLong domainOffset (const MInt id) const
 
MInt noHaloLayers () const
 
MInt noHaloCells (const MInt domainId) const
 
MInt haloCellId (const MInt domainId, const MInt cellId) const
 
MInt noWindowCells (const MInt domainId) const
 
MInt windowCellId (const MInt domainId, const MInt cellId) const
 
MString gridInputFileName () const
 
MFloat reductionFactor () const
 
MFloat centerOfGravity (const MInt dir) const
 
MInt neighborList (const MInt cellId, const MInt dir) const
 
const MLonglocalPartitionCellGlobalIds (const MInt cellId) const
 
MLong localPartitionCellOffsets (const MInt index) const
 
MInt noMinCells () const
 
MInt minCell (const MInt id) const
 
const MInthaloCell (const MInt domainId, const MInt cellId) const
 
const MIntwindowCell (const MInt domainId, const MInt cellId) const
 
MBool isActive () const override
 
constexpr GridProxygrid () const
 
GridProxygrid ()
 
virtual void sensorDerivative (std::vector< std::vector< MFloat > > &, std::vector< std::bitset< 64 > > &, std::vector< MFloat > &, MInt, MInt)
 
virtual void sensorDivergence (std::vector< std::vector< MFloat > > &, std::vector< std::bitset< 64 > > &, std::vector< MFloat > &, MInt, MInt)
 
virtual void sensorTotalPressure (std::vector< std::vector< MFloat > > &, std::vector< std::bitset< 64 > > &, std::vector< MFloat > &, MInt, MInt)
 
virtual void sensorEntropyGrad (std::vector< std::vector< MFloat > > &, std::vector< std::bitset< 64 > > &, std::vector< MFloat > &, MInt, MInt)
 
virtual void sensorEntropyQuot (std::vector< std::vector< MFloat > > &, std::vector< std::bitset< 64 > > &, std::vector< MFloat > &, MInt, MInt)
 
virtual void sensorVorticity (std::vector< std::vector< MFloat > > &, std::vector< std::bitset< 64 > > &, std::vector< MFloat > &, MInt, MInt)
 
virtual void sensorInterface (std::vector< std::vector< MFloat > > &, std::vector< std::bitset< 64 > > &, std::vector< MFloat > &, MInt, MInt)
 
void sensorLimit (std::vector< std::vector< MFloat > > &, std::vector< std::bitset< 64 > > &, std::vector< MFloat > &, MInt, MInt, std::function< MFloat(MInt)>, const MFloat, const MInt *, const MBool, const MBool allowCoarsening=true)
 simple sensor to apply a limit for a value More...
 
void sensorSmooth (std::vector< std::vector< MFloat > > &, std::vector< std::bitset< 64 > > &, std::vector< MFloat > &, MInt, MInt)
 sensor to smooth level jumps NOTE: only refines additional cells to ensure a smooth level transition this requires that all other sensors are frozen i.e. no refine/coarse sensors set! More...
 
void sensorBand (std::vector< std::vector< MFloat > > &, std::vector< std::bitset< 64 > > &, std::vector< MFloat > &, MInt, MInt)
 This sensor generates a max refinement band around the cells with max refinement level. In order for it to work, the property addedAdaptationSteps has to be equal to /maxRefinementLevel() - minLevel()/. This sensor also ensures a smooth transition between levels. Do not use together with sensorSmooth. More...
 
virtual void sensorMeanStress (std::vector< std::vector< MFloat > > &, std::vector< std::bitset< 64 > > &, std::vector< MFloat > &, MInt, MInt)
 
virtual void sensorParticle (std::vector< std::vector< MFloat > > &, std::vector< std::bitset< 64 > > &, std::vector< MFloat > &, MInt, MInt)
 
virtual void sensorSpecies (std::vector< std::vector< MFloat > > &, std::vector< std::bitset< 64 > > &, std::vector< MFloat > &, MInt, MInt)
 
virtual void sensorPatch (std::vector< std::vector< MFloat > > &sensor, std::vector< std::bitset< 64 > > &sensorCellFlag, std::vector< MFloat > &sensorWeight, MInt sensorOffset, MInt sen)
 
virtual void sensorCutOff (std::vector< std::vector< MFloat > > &, std::vector< std::bitset< 64 > > &, std::vector< MFloat > &, MInt, MInt)
 
void saveSensorData (const std::vector< std::vector< MFloat > > &sensors, const MInt &level, const MString &gridFileName, const MInt *const recalcIds) override
 Saves all sensor values for debug/tunig purposes. More...
 
void assertValidGridCellId (const MInt) const
 
MLong c_parentId (const MInt cellId) const
 Returns the grid parent id of the cell cellId. More...
 
MLong c_neighborId (const MInt cellId, const MInt dir) const
 Returns the grid neighbor id of the grid cell cellId dir. More...
 
MInt c_noCells () const
 
MInt c_level (const MInt cellId) const
 
MLong c_globalGridId (const MInt cellId)
 
void exchangeData (T *data, const MInt dataBlockSize=1)
 Exchange memory in 'data' assuming a solver size of 'dataBlockSize' per cell. More...
 
void exchangeLeafData (std::function< T &(MInt, MInt)> data, const MInt noDat=1)
 Blocking exchange memory in 'data' assuming a solver size of 'dataBlockSize' per cell NOTE: exchange is only performed on leaf-cells and leaf-NeighborDomains Assumes, that updateLeafCellExchange has been called in the proxy previously! More...
 
void exchangeSparseLeafValues (G getData, S setData, const MInt dataSize, M cellMapping)
 Exchange of sparse data structures on max Level. More...
 
void exchangeAzimuthalPer (T *data, MInt dataBlockSize=1, MInt firstBlock=0)
 Exchange of sparse data structures on max Level. More...
 
void collectVariables (T *variablesIn, ScratchSpace< T > &variablesOut, const std::vector< MString > &variablesNameIn, std::vector< MString > &variablesNameOut, const MInt noVars, const MInt noCells, const MBool reverseOrder=false)
 generalised helper function for writing restart files! This is necessary for example if the minLevel shall be raised at the new restart! More...
 
void collectVariables (T **variablesIn, ScratchSpace< T > &variablesOut, const std::vector< MString > &variablesNameIn, std::vector< MString > &variablesNameOut, const MInt noVars, const MInt noCells)
 generalised helper function for writing restart files! This is necessary for example if the minLevel shall be raised at the new restart! More...
 
void saveGridFlowVars (const MChar *fileName, const MChar *gridFileName, const MInt noTotalCells, const MInt noInternal, MFloatScratchSpace &dbVariables, std::vector< MString > &dbVariablesName, MInt noDbVars, MIntScratchSpace &idVariables, std::vector< MString > &idVariablesName, MInt noIdVars, MFloatScratchSpace &dbParameters, std::vector< MString > &dbParametersName, MIntScratchSpace &idParameters, std::vector< MString > &idParametersName, MInt *recalcIds, MFloat time)
 This function writes the parallel Netcdf cartesian grid cell based solution/restart file currently used in PostData, LPT and LS solvers! More...
 
void collectParameters (T, ScratchSpace< T > &, const MChar *, std::vector< MString > &)
 This function collects a single parameters for the massivley parallel IO functions. More...
 
void calcRecalcCellIdsSolver (const MInt *const recalcIdsTree, MInt &noCells, MInt &noInternalCellIds, std::vector< MInt > &recalcCellIdsSolver, std::vector< MInt > &reorderedCellIds)
 Derive recalc cell ids of the solver and reordered cell ids. More...
 
- Public Member Functions inherited from Solver
MString getIdentifier (const MBool useSolverId=false, const MString preString="", const MString postString="_")
 
virtual ~Solver ()=default
 
virtual MInt noInternalCells () const =0
 Return the number of internal cells within this solver. More...
 
virtual MFloat time () const =0
 Return the time. More...
 
virtual MInt noVariables () const
 Return the number of variables. More...
 
virtual void getDimensionalizationParams (std::vector< std::pair< MFloat, MString > > &) const
 Return the dimensionalization parameters of this solver. More...
 
void updateDomainInfo (const MInt domainId, const MInt noDomains, const MPI_Comm mpiComm, const MString &loc)
 Set new domain information. More...
 
virtual MFloata_slope (const MInt, MInt const, const MInt)
 
virtual MBool a_isBndryCell (const MInt) const
 
virtual MFloata_FcellVolume (MInt)
 
virtual MInt getCurrentTimeStep () const
 
virtual void accessSampleVariables (MInt, MFloat *&)
 
virtual void getSampleVariableNames (std::vector< MString > &NotUsed(varNames))
 
virtual MBool a_isBndryGhostCell (MInt) const
 
virtual void saveCoarseSolution ()
 
virtual void getSolverSamplingProperties (std::vector< MInt > &NotUsed(samplingVarIds), std::vector< MInt > &NotUsed(noSamplingVars), std::vector< std::vector< MString > > &NotUsed(samplingVarNames), const MString NotUsed(featureName)="")
 
virtual void initSolverSamplingVariables (const std::vector< MInt > &NotUsed(varIds), const std::vector< MInt > &NotUsed(noSamplingVars))
 
virtual void calcSamplingVariables (const std::vector< MInt > &NotUsed(varIds), const MBool NotUsed(exchange))
 
virtual void calcSamplingVarAtPoint (const MFloat *NotUsed(point), const MInt NotUsed(id), const MInt NotUsed(sampleVarId), MFloat *NotUsed(state), const MBool NotUsed(interpolate)=false)
 
virtual void balance (const MInt *const NotUsed(noCellsToReceiveByDomain), const MInt *const NotUsed(noCellsToSendByDomain), const MInt *const NotUsed(targetDomainsByCell), const MInt NotUsed(oldNoCells))
 Perform load balancing. More...
 
virtual MBool hasSplitBalancing () const
 Return if load balancing for solver is split into multiple methods or implemented in balance() More...
 
virtual void balancePre ()
 
virtual void balancePost ()
 
virtual void finalizeBalance ()
 
virtual void resetSolver ()
 Reset the solver/solver for load balancing. More...
 
virtual void cancelMpiRequests ()
 Cancel open mpi (receive) requests in the solver (e.g. due to interleaved execution) More...
 
virtual void setCellWeights (MFloat *)
 Set cell weights. More...
 
virtual MInt noLoadTypes () const
 
virtual void getDefaultWeights (MFloat *NotUsed(weights), std::vector< MString > &NotUsed(names)) const
 
virtual void getLoadQuantities (MInt *const NotUsed(loadQuantities)) const
 
virtual MFloat getCellLoad (const MInt NotUsed(cellId), const MFloat *const NotUsed(weights)) const
 
virtual void limitWeights (MFloat *NotUsed(weights))
 
virtual void localToGlobalIds ()
 
virtual void globalToLocalIds ()
 
virtual MInt noCellDataDlb () const
 Methods to inquire solver data information. More...
 
virtual MInt cellDataTypeDlb (const MInt NotUsed(dataId)) const
 
virtual MInt cellDataSizeDlb (const MInt NotUsed(dataId), const MInt NotUsed(cellId))
 
virtual void getCellDataDlb (const MInt NotUsed(dataId), const MInt NotUsed(oldNoCells), const MInt *const NotUsed(bufferIdToCellId), MInt *const NotUsed(data))
 
virtual void getCellDataDlb (const MInt NotUsed(dataId), const MInt NotUsed(oldNoCells), const MInt *const NotUsed(bufferIdToCellId), MLong *const NotUsed(data))
 
virtual void getCellDataDlb (const MInt NotUsed(dataId), const MInt NotUsed(oldNoCells), const MInt *const NotUsed(bufferIdToCellId), MFloat *const NotUsed(data))
 
virtual void setCellDataDlb (const MInt NotUsed(dataId), const MInt *const NotUsed(data))
 
virtual void setCellDataDlb (const MInt NotUsed(dataId), const MLong *const NotUsed(data))
 
virtual void setCellDataDlb (const MInt NotUsed(dataId), const MFloat *const NotUsed(data))
 
virtual void getGlobalSolverVars (std::vector< MFloat > &NotUsed(globalFloatVars), std::vector< MInt > &NotUsed(globalIntVars))
 
virtual void setGlobalSolverVars (std::vector< MFloat > &NotUsed(globalFloatVars), std::vector< MInt > &NotUsed(globalIdVars))
 
void enableDlbTimers ()
 
void reEnableDlbTimers ()
 
void disableDlbTimers ()
 
MBool dlbTimersEnabled ()
 
void startLoadTimer (const MString name)
 
void stopLoadTimer (const MString &name)
 
void stopIdleTimer (const MString &name)
 
void startIdleTimer (const MString &name)
 
MBool isLoadTimerRunning ()
 
virtual MInt noSolverTimers (const MBool NotUsed(allTimings))
 
virtual void getSolverTimings (std::vector< std::pair< MString, MFloat > > &NotUsed(solverTimings), const MBool NotUsed(allTimings))
 
virtual void getDomainDecompositionInformation (std::vector< std::pair< MString, MInt > > &NotUsed(domainInfo))
 
void setDlbTimer (const MInt timerId)
 
virtual void prepareAdaptation (std::vector< std::vector< MFloat > > &, std::vector< MFloat > &, std::vector< std::bitset< 64 > > &, std::vector< MInt > &)
 
virtual void reinitAfterAdaptation ()
 
virtual void prepareAdaptation ()
 prepare adaptation for split adaptation before the adaptation loop More...
 
virtual void setSensors (std::vector< std::vector< MFloat > > &, std::vector< MFloat > &, std::vector< std::bitset< 64 > > &, std::vector< MInt > &)
 set solver sensors for split adaptation within the adaptation loop More...
 
virtual void saveSensorData (const std::vector< std::vector< MFloat > > &, const MInt &, const MString &, const MInt *const)
 
virtual void postAdaptation ()
 post adaptation for split adaptation within the adaptation loop More...
 
virtual void finalizeAdaptation ()
 finalize adaptation for split sadptation after the adaptation loop More...
 
virtual void refineCell (const MInt)
 Refine the given cell. More...
 
virtual void removeChilds (const MInt)
 Coarsen the given cell. More...
 
virtual void removeCell (const MInt)
 Remove the given cell. More...
 
virtual void swapCells (const MInt, const MInt)
 Swap the given cells. More...
 
virtual void swapProxy (const MInt, const MInt)
 Swap the given cells. More...
 
virtual MInt cellOutside (const MFloat *, const MInt, const MInt)
 Check whether cell is outside the fluid domain. More...
 
virtual void resizeGridMap ()
 Swap the given cells. More...
 
virtual MBool prepareRestart (MBool, MBool &)
 Prepare the solvers for a grid-restart. More...
 
virtual void reIntAfterRestart (MBool)
 
MPI_Comm mpiComm () const
 Return the MPI communicator used by this solver. More...
 
virtual MInt domainId () const
 Return the domainId (rank) More...
 
virtual MInt noDomains () const
 
virtual MBool isActive () const
 
void setSolverStatus (const MBool status)
 
MBool getSolverStatus ()
 Get the solver status indicating if the solver is currently active in the execution recipe. More...
 
MString testcaseDir () const
 Return the testcase directory. More...
 
MString outputDir () const
 Return the directory for output files. More...
 
MString restartDir () const
 Return the directory for restart files. More...
 
MString solverMethod () const
 Return the solverMethod of this solver. More...
 
MString solverType () const
 Return the solverType of this solver. More...
 
MInt restartInterval () const
 Return the restart interval of this solver. More...
 
MInt restartTimeStep () const
 Return the restart interval of this solver. More...
 
MInt solverId () const
 Return the solverId. More...
 
MBool restartFile ()
 
MInt readSolverSamplingVarNames (std::vector< MString > &varNames, const MString featureName="") const
 Read sampling variables names, store in vector and return the number of sampling variables. More...
 
virtual MBool hasRestartTimeStep () const
 
virtual MBool forceAdaptation ()
 
virtual void preTimeStep ()=0
 
virtual void postTimeStep ()=0
 
virtual void initSolver ()=0
 
virtual void finalizeInitSolver ()=0
 
virtual void saveSolverSolution (const MBool NotUsed(forceOutput)=false, const MBool NotUsed(finalTimeStep)=false)=0
 
virtual void cleanUp ()=0
 
virtual MBool solutionStep ()
 
virtual void preSolutionStep (MInt)
 
virtual MBool postSolutionStep ()
 
virtual MBool solverConverged ()
 
virtual void getInterpolatedVariables (MInt, const MFloat *, MFloat *)
 
virtual void loadRestartFile ()
 
virtual MInt determineRestartTimeStep () const
 
virtual void writeRestartFile (MBool)
 
virtual void writeRestartFile (const MBool, const MBool, const MString, MInt *)
 
virtual void setTimeStep ()
 
virtual void implicitTimeStep ()
 
virtual void prepareNextTimeStep ()
 

Public Attributes

GCellCollector m_cells
 
Geomm_geometry
 
CHECKNORMAL< nDim > * m_checkNormal
 
MBool m_semiLagrange
 
MFloatm_semiLagrange_xShift_ref = nullptr
 
LsControlPoint< nDimm_gCtrlPnt
 
MBool m_static_semiLagrangeTimeStep_firstTime = true
 
MInt m_lsCollectorMode = -1
 
MBool m_LsRotate = false
 
MBool m_reconstructOldG = true
 
MInt m_rotatingReinitTrigger = 0
 
MFloatm_semiLagrange_xRot_ref = nullptr
 
MFloatm_semiLagrange_xRot_STL = nullptr
 
MIntm_globalSndOffsets = nullptr
 
MIntm_globalRcvOffsets = nullptr
 
MIntm_initialGCell = nullptr
 
std::vector< MIntm_newCells
 
std::map< MInt, MIntm_swapIds
 
std::vector< MIntm_bodiesToCompute
 
MInt m_noBodiesToCompute
 
MIntm_cellDomIds = nullptr
 
MFloatm_bodyAngularVelocity = nullptr
 
MFloatm_bodyAngularAcceleration = nullptr
 
MFloatm_omega = nullptr
 
MFloatm_bodyRadius = nullptr
 
MFloat m_referenceLength
 
MFloat m_referenceVelocity
 
MBool m_periodicMovement
 
MInt m_periodicDirection
 
MFloat m_periodicDistance
 
MFloat m_meanCoord [3] {}
 
std::map< MInt, MIntm_refinedCells
 
MInt m_reconstructBand = 0
 
MBool m_newRefinedBand = false
 
MInt m_adaptationLevel
 
MBool m_forceAdaptation = false
 
MBool m_initialRefinement = false
 
MBool m_adaptationSinceLastRestart = false
 
MBool m_refineDiagonals = false
 
std::map< MInt, MIntm_oldG0Cells
 
MBoolm_geometryChange = nullptr
 
MInt m_maxNoCells
 
MInt m_noSets
 
MInt m_startSet
 
MBool m_buildCollectedLevelSetFunction
 
MBool m_determineG0CellsMode
 
MInt m_noBodyBndryCndIds
 
MIntm_levelSetSign = nullptr
 
MBoolm_computeSet = nullptr
 
MBoolm_computeSet_tmp = nullptr
 
MBoolm_computeSet_backup = nullptr
 
MBoolm_changedSet = nullptr
 
MBool m_GFieldInitFromSTL
 
MBool m_GFieldFromSTLInitCheck
 
MInt m_STLReinitMode
 
MBool m_GWithReConstruction
 
MIntm_bodyToSetTable = nullptr
 
MIntm_noBodiesInSet = nullptr
 
MInt ** m_setToBodiesTable = nullptr
 
MIntm_bodyBndryCndIds = nullptr
 
MInt m_noInitGFieldFromSTLBndCndIds {}
 
MIntm_initGFieldFromSTLBndCndIds {}
 
MBool m_highOrderDeltaFunction
 
MBool m_fourthOrderNormalCurvatureComputation
 
MBool m_curvatureDamp
 
MFloat m_curvatureDampFactor
 
MBool m_useLocalMarksteinLength
 
MBool m_sharpDamp
 
MBool m_hyperbolicCurvature
 
MInt m_gRKMethod
 
MString m_levelSetDiscretizationScheme
 
MInt m_gBandWidth
 
MInt m_gShadowWidth
 
MInt m_gShadowWidthRans
 
MInt m_gInnerBound
 
MBool m_gCellLevelJump = false
 
MFloat m_gCellDistance
 
MFloat m_FgCellDistance
 
MInt m_computeExtVel {}
 
MBool m_smoothExtVel
 
MInt m_extVelIterations
 
MFloat m_extVelConvergence
 
MFloat m_extVelCFL
 
MString m_reinitMethod
 
MInt m_gReinitIterations
 
MInt m_minReinitializationSteps
 
MInt m_maintenanceIterations
 
MBool m_guaranteeReinit
 
MFloat m_reinitCFL
 
MInt m_intermediateReinitIterations
 
MFloat m_reinitConvergence
 
MFloat m_reinitConvergenceReset
 
MFloat m_reinitThreshold
 
MFloat m_reinitThresholdAvg
 
MFloat m_omegaReinit
 
MFloat m_relaxationFactor
 
MInt m_levelSetTestCase
 
MInt m_levelSetBoundaryCondition
 
MString m_levelSetBC
 
MInt m_noHaloLayers
 
MInt m_reinitInterval
 
MBool m_maintainOuterBandLayers
 
MBool m_writeReinitializationStatistics
 
MBool m_interpolateFlowFieldToFlameFront
 
MBool m_writeOutAllLevelSetFunctions
 
MBool m_writeOutAllExtensionVelocities
 
MBool m_writeOutAllCurvatures
 
MBool m_writeOutAllCorrectedBurningVelocity
 
MBool m_writeOutAllFlameSpeeds
 
MBool m_writeOutAllNormalVectors
 
MIntm_outerBandWidth = nullptr
 
MIntm_cellList = nullptr
 
std::vector< MInt > * m_bandCells = nullptr
 
std::vector< MInt > * m_internalBandCells = nullptr
 
MIntm_bandLayer = nullptr
 
MIntm_internalBandLayer = nullptr
 
std::vector< MInt > * m_bandBndryCells = nullptr
 
std::vector< MInt > * m_G0Cells = nullptr
 
std::vector< MInt > * m_gBndryCells = nullptr
 
MInt m_gRKStep
 
MInt m_nogRKSteps
 
MFloatm_gRKalpha = nullptr
 
MFloat m_outsideGValue
 
MInt ** m_phiRatioCells = nullptr
 
MInt m_GCtrlPntMethod
 
MFloatm_signG = nullptr
 
MFloat ** m_phiRatio = nullptr
 
MFloatm_correction = nullptr
 
MFloatm_d = nullptr
 
MInt ** m_intSendBuffers = nullptr
 
MInt ** m_intReceiveBuffers = nullptr
 
MFloat ** m_gSendBuffers = nullptr
 
MFloat ** m_gReceiveBuffers = nullptr
 
MFloatm_hypTanLSF = nullptr
 
MBool m_trackMovingBndry {}
 
MInt m_trackMbStart {}
 
MInt m_trackMbEnd {}
 
MBool m_constructGField {}
 
MBool m_levelSetMb
 
MBool m_levelSetRans
 
MBool m_levelSetLb
 
MBool m_combustion
 
MBool m_freeSurface
 
MBool m_LSSolver
 
MBool m_levelSetFv
 
MInt m_noEmbeddedBodies
 
MFloatm_maxFlameFrontPosition = nullptr
 
MFloatm_minFlameFrontPosition = nullptr
 
MFloatm_meanFlameFrontPosition = nullptr
 
MFloat m_steadyFlameAngle
 
MFloat m_steadyFlameLength
 
MFloat m_yOffsetFlameTube
 
MFloat m_yOffsetFlameTube2
 
MFloat m_radiusFlameTube
 
MFloat m_radiusFlameTube2
 
MFloat m_xOffsetFlameTube
 
MFloat m_xOffsetFlameTube2
 
MFloat m_marksteinLength
 
MFloat m_marksteinLengthPercentage
 
MFloatm_localMarksteinLength = nullptr
 
MFloat m_realRadiusFlameTube
 
MBool m_forcing
 
MFloat m_flameRadiusOffset
 
MBool m_twoFlames
 
MFloat m_dampingDistanceFlameBase
 
MFloat m_dampingDistanceFlameBaseExtVel
 
MFloat m_noReactionCells
 
MFloat m_jetHalfWidth
 
MFloat m_jetHalfLength
 
MFloat m_initialFlameHeight
 
MBool m_filterFlameTubeEdges
 
MFloat m_filterFlameTubeEdgesDistance
 
MBool m_useCorrectedBurningVelocity
 
MFloat m_flameSpeed {}
 
MFloat m_massConsumption
 
MFloat m_arcLength
 
MBool m_plenum
 
MFloat m_rhoFlameTube
 
MFloat m_rhoInfinity
 
MFloatm_oldHypTanLSF = nullptr
 
MFloatm_hypTanLSFRHS = nullptr
 
MString m_currentGridFileName
 
MString m_currentFileName = ""
 
MBool m_bodyIdOutput
 
MBool m_maxLevelChange = false
 
MInt m_initialCondition
 
MInt m_loadBalancingReinitStage
 
MInt m_timeStepMethod
 
MFloat m_cfl
 
MFloat m_time = NAN
 
MFloat m_timeStep = NAN
 
MBool m_static_identifyBodies_first = true
 
MFloat m_static_identifyBodies_initialInsidePoints [s_maxNoEmbeddedBodies *3]
 
MFloat m_static_identifyBodies_shiftTime
 
MInt m_noGapCells
 
MInt m_noOldGapCells
 
MBool m_closeGaps = false
 
MInt m_forceNoGaps
 
MInt m_gapInitMethod
 
MInt m_noGapRegions = -1
 
std::vector< MFloatm_minGapWidth
 
std::vector< MFloatm_minGapWidthDt1
 
MString m_gapReinitMethod
 
MFloat m_gapDeltaMin = 1
 
MFloat m_gapDeltaMinOrig = 1
 
MFloatm_gapAngleClose = nullptr
 
MFloatm_gapAngleOpen = nullptr
 
MFloatm_gapSign = nullptr
 
MBool m_virtualSurgery = false
 
MFloat m_sphereRadiusLimit = 5.0
 
MFloat ** m_correctedDistances = nullptr
 
MIntm_cellIsInDiffRegion = nullptr
 
MInt m_noInterpolationRegions = 0
 
MInt m_approxNoInterpReg = 0
 
MIntm_interpStartTime = nullptr
 
MIntm_noInterpTimeSteps = nullptr
 
MBool m_engineSetup = false
 
MInt m_G0regionId = -1
 
- Public Attributes inherited from Solver
std::set< MIntm_freeIndices
 
MBool m_singleAdaptation = false
 
MBool m_splitAdaptation = true
 
MBool m_saveSensorData = false
 

Static Public Attributes

static constexpr MInt nDim = nDim_
 
static constexpr const MInt m_noCorners = (nDim == 2) ? 4 : 8
 
static constexpr MInt s_maxNoEmbeddedBodies = 20
 
static constexpr const MInt m_noDirs = 2 * nDim
 

Protected Attributes

MBool m_static_createBaseGgrid_firstRun = true
 
- Protected Attributes inherited from maia::CartesianSolver< nDim_, LsCartesianSolver< nDim_ > >
MIntm_rfnBandWidth
 
MInt m_noSensors
 
MInt m_adaptationInterval
 
MInt m_adaptationStep
 
std::vector< MIntm_maxSensorRefinementLevel
 
std::vector< MFloatm_sensorWeight
 
std::vector< MFloatm_sensorDerivativeVariables
 
MBool m_adaptation
 
MBool m_adapts
 
MInt m_noInitialSensors
 
MBool m_resTriggeredAdapt
 
MInt m_noSmoothingLayers
 
MInt m_sensorBandAdditionalLayers
 
MBool m_sensorInterface
 
MBool m_sensorParticle
 
std::vector< MStringm_sensorType
 
MIntm_recalcIds
 
std::vector< funm_sensorFnPtr
 
MInt m_maxNoSets
 
std::vector< MFloatm_azimuthalCartRecCoord
 
const MInt m_revDir [6]
 
const MInt m_noDirs
 
- Protected Attributes inherited from Solver
MFloat m_Re {}
 the Reynolds number More...
 
MFloat m_Ma {}
 the Mach number More...
 
MInt m_solutionInterval
 The number of timesteps before writing the next solution file. More...
 
MInt m_solutionOffset {}
 
std::set< MIntm_solutionTimeSteps
 
MInt m_restartInterval
 The number of timesteps before writing the next restart file. More...
 
MInt m_restartTimeStep
 
MInt m_restartOffset
 
MString m_solutionOutput
 
MBool m_useNonSpecifiedRestartFile = false
 
MBool m_initFromRestartFile
 
MInt m_residualInterval
 The number of timesteps before writing the next residual. More...
 
const MInt m_solverId
 a unique solver identifier More...
 
MFloatm_outerBandWidth = nullptr
 
MFloatm_innerBandWidth = nullptr
 
MIntm_bandWidth = nullptr
 
MBool m_restart = false
 
MBool m_restartFile = false
 

Private Types

using Timers = maia::ls::Timers_
 

Private Member Functions

void reInitSolver (const MBool)
 
void initializeTimers ()
 
template<MBool currentLevelSet>
void exchangeLeafDataLS ()
 
template<typename T >
void exchangeDataLS (T *data, const MInt dataSize=1)
 

Private Attributes

MPI_Request * mpi_request = nullptr
 
MPI_Request * mpi_recive = nullptr
 
MInt m_timerGroup = -1
 
std::array< MInt, Timers::_countm_timers {}
 
MIntm_maxGCellLevel = nullptr
 
MBool m_static_computeBodyProperties_first = true
 
MFloat m_static_computeBodyProperties_amplitude [s_maxNoEmbeddedBodies] {}
 
MFloat m_static_computeBodyProperties_freqFactor [s_maxNoEmbeddedBodies] {}
 
MFloat m_static_computeBodyProperties_initialBodyCenter [s_maxNoEmbeddedBodies *3] {}
 
MFloat m_static_computeBodyProperties_Strouhal {}
 
MFloat m_static_computeBodyProperties_mu [s_maxNoEmbeddedBodies] {}
 
MFloat m_static_computeBodyProperties_mu2 [s_maxNoEmbeddedBodies] {}
 
MFloat m_static_computeBodyProperties_liftStartAngle1 [s_maxNoEmbeddedBodies] {}
 
MFloat m_static_computeBodyProperties_liftEndAngle1 [s_maxNoEmbeddedBodies] {}
 
MFloat m_static_computeBodyProperties_liftStartAngle2 [s_maxNoEmbeddedBodies] {}
 
MFloat m_static_computeBodyProperties_liftEndAngle2 [s_maxNoEmbeddedBodies] {}
 
MFloat m_static_computeBodyProperties_circleStartAngle [s_maxNoEmbeddedBodies] {}
 
MFloat m_static_computeBodyProperties_normal [s_maxNoEmbeddedBodies *3] {}
 
MInt m_static_computeBodyProperties_bodyToFunction [s_maxNoEmbeddedBodies] {}
 
MFloat m_static_computeBodyProperties_omega {}
 
MFloat m_static_computeBodyProperties_rotAngle {}
 
MFloat m_static_computeBodyProperties_temperature [s_maxNoEmbeddedBodies] {}
 
std::set< std::pair< MFloat, MFloat > > * m_forcedMotionInput = nullptr
 
MBool m_static_setUpPotentialGapCells_first = true
 
MFloat m_static_setUpPotentialGapCells_normal [s_maxNoEmbeddedBodies *3]
 
MFloat m_static_setUpPotentialGapCells_center [s_maxNoEmbeddedBodies *3]
 
MFloat m_static_setUpPotentialGapCells_radius [s_maxNoEmbeddedBodies]
 
MFloat m_static_setUpPotentialGapCells_height [s_maxNoEmbeddedBodies]
 
MFloat m_static_setUpPotentialGapCells_normalClose [s_maxNoEmbeddedBodies *3]
 
MFloat m_static_setUpPotentialGapCells_centerClose [s_maxNoEmbeddedBodies *3]
 
MFloat m_static_setUpPotentialGapCells_radiusClose [s_maxNoEmbeddedBodies]
 
MFloat m_static_setUpPotentialGapCells_heightClose [s_maxNoEmbeddedBodies]
 
MInt m_static_setUpPotentialGapCells_bodyClose [s_maxNoEmbeddedBodies]
 
MInt m_static_setUpPotentialGapCells_noGapRegionsClose = 1
 
MFloat m_static_crankAngle_Strouhal = -99
 
MFloat m_static_crankAngle_initialCad = -99
 
MFloat m_weightBaseCell = 1.0
 
MFloat m_weightLeafCell = 1.0
 
MFloat m_weightBandCell = 1.0
 
MFloat m_weightMulitSolverFactor = 1.0
 
MBool m_limitWeights = false
 
MBool m_weightLevelSet = true
 
MBool m_firstSolutionExchange = false
 

Friends

class LsFvCombustion< nDim, FvSysEqnNS< nDim > >
 
class LsFvCombustion< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_SA_DV > > >
 
class LsFvCombustion< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_FS > > >
 
class LsFvCombustion< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_KOMEGA > > >
 
class LsFvMb< nDim, FvSysEqnNS< nDim > >
 
class LsFvMb< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_SA_DV > > >
 
class LsFvMb< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_FS > > >
 
class LsFvMb< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_KOMEGA > > >
 
class CouplingLsFv< nDim, FvSysEqnNS< nDim > >
 
class CouplingLsFv< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_SA_DV > > >
 
class CouplingLsFv< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_FS > > >
 
class CouplingLsFv< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_KOMEGA > > >
 

Additional Inherited Members

- Protected Types inherited from maia::CartesianSolver< nDim_, LsCartesianSolver< nDim_ > >
using fun = void(CartesianSolver< nDim, LsCartesianSolver< nDim_ > >::*)(std::vector< std::vector< MFloat > > &, std::vector< std::bitset< 64 > > &, std::vector< MFloat > &, MInt, MInt)
 
- Protected Member Functions inherited from maia::CartesianSolver< nDim_, LsCartesianSolver< nDim_ > >
void identifyBoundaryCells (MBool *const isInterface, const std::vector< MInt > &bndCndIds=std::vector< MInt >())
 
void identifyBoundaryCells ()
 
MBool cellIsOnGeometry (MInt cellId, Geometry< nDim > *geom)
 checks whether a cell lies on a certain geometry copied the essential part from identifyBoundaryCells More...
 
void setBoundaryDistance (const MBool *const interfaceCell, const MFloat *const outerBandWidth, MFloatScratchSpace &distance)
 transverses over all neighboring cells for a specified length More...
 
void markSurrndCells (MIntScratchSpace &inList, const MInt bandWidth, const MInt level, const MBool refineDiagonals=true)
 
void receiveWindowTriangles ()
 Receives triangles from neighbors contained in their window cells and inserts them locally. More...
 
void compactCells ()
 Removes all holes in the cell collector and moves halo cells to the back of the collector. More...
 
MInt createCellId (const MInt gridCellId)
 
void removeCellId (const MInt cellId)
 
MInt inCell (const MInt cellId, MFloat *point, MFloat fac=F1)
 
MInt setUpInterpolationStencil (const MInt cellId, MInt *, const MFloat *, std::function< MBool(MInt, MInt)>, MBool allowIncompleteStencil)
 
MFloat interpolateFieldData (MInt *, MFloat *, MInt varId, std::function< MFloat(MInt, MInt)> scalarField, std::function< MFloat(MInt, MInt)> coordinate)
 
MFloat leastSquaresInterpolation (MInt *, MFloat *, MInt varId, std::function< MFloat(MInt, MInt)> scalarField, std::function< MFloat(MInt, MInt)> coordinate)
 
void checkNoHaloLayers ()
 check that each solver has the required number of haloLayers for leaf cells!!! TODO labels:toenhance under production, needs to be cleaned up! More...
 
void mapInterpolationCells (std::map< MInt, MInt > &cellMap)
 
void setHaloCellsOnInactiveRanks ()
 
void patchRefinement (std::vector< std::vector< MFloat > > &sensors, std::vector< std::bitset< 64 > > &sensorCellFlag, std::vector< MFloat > &sensorWeight, MInt sensorOffset, MInt sen)
 
void reOrderCellIds (std::vector< MInt > &reOrderedCells)
 reOrder cellIds before writing the restart file! This is necessary for example if the minLevel shall be raised at the new restart! More...
 
void recomputeGlobalIds (std::vector< MInt > &, std::vector< MLong > &)
 reOrder cellIds before writing the restart file! This is necessary for example if the minLevel shall be raised at the new restart! More...
 
void extractPointIdsFromGrid (Collector< PointBasedCell< nDim > > *&, Collector< CartesianGridPoint< nDim > > *&, const MBool, const std::map< MInt, MInt > &, MInt levelThreshold=999999, MFloat *bBox=nullptr, MBool levelSetMb=false) const
 Creates a list of unique corner points for all cells using a hash map levelThreshold optionally specifies the maximum cell level to be extracted bBox optionally specifies a bounding to box to which the extracted domain shall be truncated. More...
 
- Protected Member Functions inherited from Solver
 Solver (const MInt solverId, const MPI_Comm comm, const MBool isActive=true)
 
MFloat returnLoadRecord () const
 
MFloat returnIdleRecord () const
 

Detailed Description

template<MInt nDim_>
class LsCartesianSolver< nDim_ >

Definition at line 291 of file lscartesiansolver.h.

Member Typedef Documentation

◆ CartesianSolver

template<MInt nDim_>
using LsCartesianSolver< nDim_ >::CartesianSolver = typename maia::CartesianSolver<nDim, LsCartesianSolver>

Definition at line 350 of file lscartesiansolver.h.

◆ Cell

template<MInt nDim_>
using LsCartesianSolver< nDim_ >::Cell = typename maia::grid::tree::Tree<nDim_>::Cell

Definition at line 294 of file lscartesiansolver.h.

◆ GCellCollector

template<MInt nDim_>
using LsCartesianSolver< nDim_ >::GCellCollector = maia::ls::collector::GCells<nDim_>

Definition at line 295 of file lscartesiansolver.h.

◆ Geom

template<MInt nDim_>
using LsCartesianSolver< nDim_ >::Geom = Geometry<nDim>

Definition at line 356 of file lscartesiansolver.h.

◆ Grid

template<MInt nDim_>
using LsCartesianSolver< nDim_ >::Grid = typename CartesianSolver::Grid

Definition at line 351 of file lscartesiansolver.h.

◆ GridProxy

template<MInt nDim_>
using LsCartesianSolver< nDim_ >::GridProxy = typename CartesianSolver::GridProxy

Definition at line 352 of file lscartesiansolver.h.

◆ PropertyReference

template<MInt nDim_>
using LsCartesianSolver< nDim_ >::PropertyReference = typename GCellCollector::BitsetType::reference

Definition at line 296 of file lscartesiansolver.h.

◆ Timers

template<MInt nDim_>
using LsCartesianSolver< nDim_ >::Timers = maia::ls::Timers_
private

Definition at line 306 of file lscartesiansolver.h.

Constructor & Destructor Documentation

◆ LsCartesianSolver()

template<MInt nDim_>
LsCartesianSolver< nDim_ >::LsCartesianSolver ( MInt  ,
const MBool ,
GridProxy gridProxy_,
Geom geometry_,
const MPI_Comm  comm 
)

Member Function Documentation

◆ _levelSetSolutionStep()

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::_levelSetSolutionStep ( )

◆ a_appendCollector()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::a_appendCollector ( )
inline

Definition at line 440 of file lscartesiansolver.h.

440 {
441 m_cells.append();
442 }
GCellCollector m_cells
void append(const MInt count)
Append nodes to end of tree.
Definition: container.h:223

◆ a_bandBndryCellId()

template<MInt nDim_>
constexpr MInt LsCartesianSolver< nDim_ >::a_bandBndryCellId ( MInt  id,
MInt  set 
) const
inlineconstexpr

Definition at line 851 of file lscartesiansolver.h.

851{ return m_bandBndryCells[set][id]; }
std::vector< MInt > * m_bandBndryCells
MInt id
Definition: maiatypes.h:71

◆ a_bandCellId()

template<MInt nDim_>
constexpr MInt LsCartesianSolver< nDim_ >::a_bandCellId ( MInt  id,
MInt  set 
) const
inlineconstexpr

Definition at line 849 of file lscartesiansolver.h.

849{ return m_bandCells[set][id]; }
std::vector< MInt > * m_bandCells

◆ a_bandLayer() [1/2]

template<MInt nDim_>
MInt & LsCartesianSolver< nDim_ >::a_bandLayer ( MInt  id,
MInt  set 
)
inline

Definition at line 861 of file lscartesiansolver.h.

861{ return m_bandLayer[IDX_LSSET(id, set)]; }

◆ a_bandLayer() [2/2]

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::a_bandLayer ( MInt  id,
MInt  set 
) const
inline

Definition at line 862 of file lscartesiansolver.h.

862{ return m_bandLayer[IDX_LSSET(id, set)]; }

◆ a_bandNghbrIdsG()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::a_bandNghbrIdsG ( const MInt  cellId,
const MInt  dir,
const MInt  set 
) const
inline

Definition at line 758 of file lscartesiansolver.h.

758 {
759 ENSURE_VALID_DIR(dir);
760 ENSURE_VALID_SET(set);
761 ENSURE_VALID_GCELLID(cellId);
762
763 if(a_hasNeighbor(cellId, dir) && a_inBandG(c_neighborId(cellId, dir), set)) {
764 return c_neighborId(cellId, dir);
765 } else {
766 return cellId;
767 }
768 }
MInt c_neighborId(const MInt gCellId, const MInt dir) const
MInt a_hasNeighbor(const MInt gCellId, const MInt dir) const
Returns noNeighborIds of the gcell CellId variables varId.
maia::ls::cell::BitsetTypeSet::reference a_inBandG(const MInt cellId, const MInt set)
void const MInt cellId
Definition: collector.h:239

◆ a_bodyIdG() [1/2]

template<MInt nDim_>
MInt & LsCartesianSolver< nDim_ >::a_bodyIdG ( const MInt  cellId,
const MInt  set 
)
inline

Definition at line 574 of file lscartesiansolver.h.

574 {
575 ENSURE_VALID_SET(set);
576 ENSURE_VALID_GCELLID(cellId);
577 return m_cells.bodyId(cellId, set);
578 }
MInt & bodyId(const MInt id, const MInt set)

◆ a_bodyIdG() [2/2]

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::a_bodyIdG ( const MInt  cellId,
const MInt  set 
) const
inline

Definition at line 580 of file lscartesiansolver.h.

580 {
581 ENSURE_VALID_SET(set);
582 ENSURE_VALID_GCELLID(cellId);
583 return m_cells.bodyId(cellId, set);
584 }

◆ a_containingCell() [1/2]

template<MInt nDim_>
MLong & LsCartesianSolver< nDim_ >::a_containingCell ( const MInt  cellId,
const MInt  body 
)
inline

Definition at line 680 of file lscartesiansolver.h.

680{ return m_cells.containingCell(cellId, body); }
MLong & containingCell(const MInt id, const MInt body)

◆ a_containingCell() [2/2]

template<MInt nDim_>
MLong LsCartesianSolver< nDim_ >::a_containingCell ( const MInt  cellId,
const MInt  body 
) const
inline

Definition at line 682 of file lscartesiansolver.h.

682{ return m_cells.containingCell(cellId, body); }

◆ a_containingDomain() [1/2]

template<MInt nDim_>
MInt & LsCartesianSolver< nDim_ >::a_containingDomain ( const MInt  cellId,
const MInt  body 
)
inline

Definition at line 685 of file lscartesiansolver.h.

685{ return m_cells.containingDomain(cellId, body); }
MInt & containingDomain(const MInt id, const MInt body)

◆ a_containingDomain() [2/2]

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::a_containingDomain ( const MInt  cellId,
const MInt  body 
) const
inline

Definition at line 687 of file lscartesiansolver.h.

687{ return m_cells.containingDomain(cellId, body); }

◆ a_correctedBurningVelocity()

template<MInt nDim_>
MFloat & LsCartesianSolver< nDim_ >::a_correctedBurningVelocity ( const MInt  cellId,
const MInt  set 
)
inline

Definition at line 667 of file lscartesiansolver.h.

667 {
668 ENSURE_VALID_SET(set);
669 ENSURE_VALID_GCELLID(cellId);
670 return m_cells.correctedBurningVelocity(cellId, set);
671 }
MFloat & correctedBurningVelocity(const MInt id, const MInt set)

◆ a_curvatureG() [1/2]

template<MInt nDim_>
MFloat & LsCartesianSolver< nDim_ >::a_curvatureG ( const MInt  cellId,
const MInt  set 
)
inline

Definition at line 598 of file lscartesiansolver.h.

598 {
599 ENSURE_VALID_SET(set);
600 ENSURE_VALID_GCELLID(cellId);
601 return m_cells.curvature(cellId, set);
602 }
MFloat & curvature(const MInt id, const MInt set)

◆ a_curvatureG() [2/2]

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::a_curvatureG ( const MInt  cellId,
const MInt  set 
) const
inline

Definition at line 604 of file lscartesiansolver.h.

604 {
605 ENSURE_VALID_SET(set);
606 ENSURE_VALID_GCELLID(cellId);
607 return m_cells.curvature(cellId, set);
608 }

◆ a_domainId()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::a_domainId ( const MLong  gGlobalId)
inline

Definition at line 795 of file lscartesiansolver.h.

795{ return grid().findNeighborDomainId(gGlobalId); }

◆ a_extensionVelocityG() [1/2]

template<MInt nDim_>
MFloat & LsCartesianSolver< nDim_ >::a_extensionVelocityG ( const MInt  cellId,
const MInt  dim,
const MInt  set 
)
inline

Definition at line 465 of file lscartesiansolver.h.

465 {
466 ENSURE_VALID_DIM(dim);
467 ENSURE_VALID_SET(set);
468 ENSURE_VALID_GCELLID(cellId);
469 return m_cells.fExt(cellId, dim, set);
470 }
MFloat & fExt(const MInt id, const MInt dim, const MInt set)

◆ a_extensionVelocityG() [2/2]

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::a_extensionVelocityG ( const MInt  cellId,
const MInt  dim,
const MInt  set 
) const
inline

Definition at line 472 of file lscartesiansolver.h.

472 {
473 ENSURE_VALID_DIM(dim);
474 ENSURE_VALID_SET(set);
475 ENSURE_VALID_GCELLID(cellId);
476 return m_cells.fExt(cellId, dim, set);
477 }

◆ a_flameSpeedG() [1/2]

template<MInt nDim_>
MFloat & LsCartesianSolver< nDim_ >::a_flameSpeedG ( const MInt  cellId,
const MInt  set 
)
inline

Definition at line 825 of file lscartesiansolver.h.

825 {
826 ENSURE_VALID_SET(set);
827 ENSURE_VALID_GCELLID(cellId);
828 return m_flameSpeed;
829 }

◆ a_flameSpeedG() [2/2]

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::a_flameSpeedG ( const MInt  cellId,
const MInt  set 
) const
inline

Definition at line 831 of file lscartesiansolver.h.

831 {
832 ENSURE_VALID_GCELLID(cellId);
833 ENSURE_VALID_SET(set);
834 return m_flameSpeed;
835 }

◆ a_G0CellId()

template<MInt nDim_>
constexpr MInt LsCartesianSolver< nDim_ >::a_G0CellId ( MInt  id,
MInt  set 
) const
inlineconstexpr

Definition at line 852 of file lscartesiansolver.h.

852{ return m_G0Cells[set][id]; }
std::vector< MInt > * m_G0Cells

◆ a_gapWidth() [1/2]

template<MInt nDim_>
MFloat & LsCartesianSolver< nDim_ >::a_gapWidth ( const MInt  id)
inline

Definition at line 690 of file lscartesiansolver.h.

690{ return m_cells.gapWidth(id); }

◆ a_gapWidth() [2/2]

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::a_gapWidth ( const MInt  id) const
inline

Definition at line 692 of file lscartesiansolver.h.

692{ return m_cells.gapWidth(id); }

◆ a_gBndryCellId()

template<MInt nDim_>
constexpr MInt LsCartesianSolver< nDim_ >::a_gBndryCellId ( MInt  id,
MInt  set 
) const
inlineconstexpr

Definition at line 853 of file lscartesiansolver.h.

853{ return m_gBndryCells[set][id]; }
std::vector< MInt > * m_gBndryCells

◆ a_hasNeighbor()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::a_hasNeighbor ( const MInt  gCellId,
const MInt  dir 
) const
inline

Definition at line 772 of file lscartesiansolver.h.

772 {
773 ENSURE_VALID_DIR(dir);
774 ENSURE_VALID_GCELLID(gCellId);
775 if(gCellId > a_noCells() - 1) return -1;
776 return grid().tree().hasNeighbor(gCellId, dir);
777 }
MInt a_noCells() const

◆ a_hasPositiveSign() [1/2]

template<MInt nDim_>
maia::ls::cell::BitsetTypeSet::reference LsCartesianSolver< nDim_ >::a_hasPositiveSign ( const MInt  cellId,
const MInt  set 
)
inline

Definition at line 526 of file lscartesiansolver.h.

526 {
527 ENSURE_VALID_GCELLID(cellId);
528 ENSURE_VALID_SET(set);
529 return m_cells.hasPositiveSign(cellId, set);
530 }
MBool hasPositiveSign(const MInt id, const MInt set) const

◆ a_hasPositiveSign() [2/2]

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::a_hasPositiveSign ( const MInt  cellId,
const MInt  set 
) const
inline

Definition at line 533 of file lscartesiansolver.h.

533 {
534 ENSURE_VALID_GCELLID(cellId);
535 ENSURE_VALID_SET(set);
536 return m_cells.hasPositiveSign(cellId, set);
537 }

◆ a_inBandG() [1/2]

template<MInt nDim_>
maia::ls::cell::BitsetTypeSet::reference LsCartesianSolver< nDim_ >::a_inBandG ( const MInt  cellId,
const MInt  set 
)
inline

Definition at line 479 of file lscartesiansolver.h.

479 {
480 ENSURE_VALID_GCELLID(cellId);
481 ENSURE_VALID_SET(set);
482 return m_cells.inBand(cellId, set);
483 }
MBool inBand(const MInt id, const MInt set) const

◆ a_inBandG() [2/2]

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::a_inBandG ( const MInt  cellId,
const MInt  set 
) const
inline

Definition at line 484 of file lscartesiansolver.h.

484 {
485 ENSURE_VALID_GCELLID(cellId);
486 ENSURE_VALID_SET(set);
487 return m_cells.inBand(cellId, set);
488 }

◆ a_internalBandCellId()

template<MInt nDim_>
constexpr MInt LsCartesianSolver< nDim_ >::a_internalBandCellId ( MInt  id,
MInt  set 
) const
inlineconstexpr

Definition at line 850 of file lscartesiansolver.h.

850{ return m_internalBandCells[set][id]; }
std::vector< MInt > * m_internalBandCells

◆ a_internalBandLayer() [1/2]

template<MInt nDim_>
MInt & LsCartesianSolver< nDim_ >::a_internalBandLayer ( MInt  id,
MInt  set 
)
inline

Definition at line 864 of file lscartesiansolver.h.

864{ return m_internalBandLayer[IDX_LSSET(id, set)]; }

◆ a_internalBandLayer() [2/2]

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::a_internalBandLayer ( MInt  id,
MInt  set 
) const
inline

Definition at line 865 of file lscartesiansolver.h.

865{ return m_internalBandLayer[IDX_LSSET(id, set)]; }

◆ a_isBndryCellG() [1/2]

template<MInt nDim_>
maia::ls::cell::BitsetType::reference LsCartesianSolver< nDim_ >::a_isBndryCellG ( const MInt  cellId)
inline

Definition at line 447 of file lscartesiansolver.h.

447 {
448 ENSURE_VALID_GCELLID(cellId);
449 return m_cells.isBndryG(cellId);
450 }
MBool isBndryG(const MInt id) const

◆ a_isBndryCellG() [2/2]

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::a_isBndryCellG ( const MInt  cellId) const
inline

Definition at line 451 of file lscartesiansolver.h.

451 {
452 ENSURE_VALID_GCELLID(cellId);
453 return m_cells.isBndryG(cellId);
454 }

◆ a_isGBoundaryCellG() [1/2]

template<MInt nDim_>
maia::ls::cell::BitsetTypeSet::reference LsCartesianSolver< nDim_ >::a_isGBoundaryCellG ( const MInt  cellId,
const MInt  set 
)
inline

Definition at line 490 of file lscartesiansolver.h.

490 {
491 ENSURE_VALID_GCELLID(cellId);
492 ENSURE_VALID_SET(set);
493 return m_cells.isGBndryCell(cellId, set);
494 }
MBool isGBndryCell(const MInt id, const MInt set) const

◆ a_isGBoundaryCellG() [2/2]

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::a_isGBoundaryCellG ( const MInt  cellId,
const MInt  set 
) const
inline

Definition at line 495 of file lscartesiansolver.h.

495 {
496 ENSURE_VALID_GCELLID(cellId);
497 ENSURE_VALID_SET(set);
498 return m_cells.isGBndryCell(cellId, set);
499 }

◆ a_isGZeroCell() [1/2]

template<MInt nDim_>
maia::ls::cell::BitsetTypeSet::reference LsCartesianSolver< nDim_ >::a_isGZeroCell ( const MInt  cellId,
const MInt  set 
)
inline

Definition at line 507 of file lscartesiansolver.h.

507 {
508 ENSURE_VALID_GCELLID(cellId);
509 ENSURE_VALID_SET(set);
510 return m_cells.isGZero(cellId, set);
511 }
MBool isGZero(const MInt id, const MInt set) const

◆ a_isGZeroCell() [2/2]

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::a_isGZeroCell ( const MInt  cellId,
const MInt  set 
) const
inline

Definition at line 501 of file lscartesiansolver.h.

501 {
502 ENSURE_VALID_GCELLID(cellId);
503 ENSURE_VALID_SET(set);
504 return m_cells.isGZero(cellId, set);
505 }

◆ a_isHalo() [1/2]

template<MInt nDim_>
maia::ls::cell::BitsetType::reference LsCartesianSolver< nDim_ >::a_isHalo ( const MInt  gCellId)
inline

Definition at line 810 of file lscartesiansolver.h.

810 {
811 ENSURE_VALID_GCELLID(gCellId);
812 return m_cells.hasProperty(gCellId, LsCell::IsHalo);
813 }
BitsetType::reference hasProperty(const MInt id, const LsCell p)
Accessor for properties.

◆ a_isHalo() [2/2]

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::a_isHalo ( const MInt  gCellId) const
inline

Definition at line 805 of file lscartesiansolver.h.

805 {
806 ENSURE_VALID_GCELLID(gCellId);
807 return m_cells.hasProperty(gCellId, LsCell::IsHalo);
808 }

◆ a_isWindow() [1/2]

template<MInt nDim_>
maia::ls::cell::BitsetType::reference LsCartesianSolver< nDim_ >::a_isWindow ( const MInt  gCellId)
inline

Definition at line 785 of file lscartesiansolver.h.

785 {
786 ENSURE_VALID_GCELLID(gCellId);
787 return m_cells.hasProperty(gCellId, LsCell::IsWindow);
788 }

◆ a_isWindow() [2/2]

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::a_isWindow ( const MInt  gCellId) const
inline

Definition at line 780 of file lscartesiansolver.h.

780 {
781 ENSURE_VALID_GCELLID(gCellId);
782 return m_cells.hasProperty(gCellId, LsCell::IsWindow);
783 }

◆ a_level()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::a_level ( const MInt  gCellId) const
inline

Definition at line 817 of file lscartesiansolver.h.

817 {
818 ENSURE_VALID_GCELLID(gCellId);
819 return grid().tree().level(gCellId);
820 }

◆ a_levelSetFunctionG() [1/2]

template<MInt nDim_>
MFloat & LsCartesianSolver< nDim_ >::a_levelSetFunctionG ( const MInt  cellId,
const MInt  set 
)
inline

Definition at line 611 of file lscartesiansolver.h.

611 {
612 ENSURE_VALID_SET(set);
613 ENSURE_VALID_GCELLID(cellId);
614 return m_cells.gFunction(cellId, set);
615 }
MFloat & gFunction(const MInt id, const MInt set)
Accessors.

◆ a_levelSetFunctionG() [2/2]

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::a_levelSetFunctionG ( const MInt  cellId,
const MInt  set 
) const
inline

Definition at line 617 of file lscartesiansolver.h.

617 {
618 ENSURE_VALID_SET(set);
619 ENSURE_VALID_GCELLID(cellId);
620 return m_cells.gFunction(cellId, set);
621 }

◆ a_levelSetFunctionSlope() [1/2]

template<MInt nDim_>
MFloat & LsCartesianSolver< nDim_ >::a_levelSetFunctionSlope ( const MInt  cellId,
const MInt  dim,
const MInt  set 
)
inline

Definition at line 639 of file lscartesiansolver.h.

639 {
640 ENSURE_VALID_DIM(dim);
641 ENSURE_VALID_SET(set);
642 ENSURE_VALID_GCELLID(cellId);
643 return m_cells.levelSetFunctionSlope(cellId, dim, set);
644 }
MFloat & levelSetFunctionSlope(const MInt id, const MInt dim, const MInt set)

◆ a_levelSetFunctionSlope() [2/2]

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::a_levelSetFunctionSlope ( const MInt  cellId,
const MInt  dim,
const MInt  set 
) const
inline

Definition at line 646 of file lscartesiansolver.h.

646 {
647 ENSURE_VALID_DIM(dim);
648 ENSURE_VALID_SET(set);
649 ENSURE_VALID_GCELLID(cellId);
650 return m_cells.levelSetFunctionSlope(cellId, dim, set);
651 }

◆ a_levelSetRHS() [1/2]

template<MInt nDim_>
MFloat & LsCartesianSolver< nDim_ >::a_levelSetRHS ( const MInt  cellId,
const MInt  set 
)
inline

Definition at line 654 of file lscartesiansolver.h.

654 {
655 ENSURE_VALID_SET(set);
656 ENSURE_VALID_GCELLID(cellId);
657 return m_cells.levelSetRHS(cellId, set);
658 }
MFloat & levelSetRHS(const MInt id, const MInt set)

◆ a_levelSetRHS() [2/2]

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::a_levelSetRHS ( const MInt  cellId,
const MInt  set 
) const
inline

Definition at line 660 of file lscartesiansolver.h.

660 {
661 ENSURE_VALID_SET(set);
662 ENSURE_VALID_GCELLID(cellId);
663 return m_cells.levelSetRHS(cellId, set);
664 }

◆ a_levelSetSign()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::a_levelSetSign ( const MInt  cellId,
const MInt  set 
)
inline

Definition at line 539 of file lscartesiansolver.h.

539{ return a_hasPositiveSign(cellId, set) ? 1 : -1; }
maia::ls::cell::BitsetTypeSet::reference a_hasPositiveSign(const MInt cellId, const MInt set)
Returns the hasPositiveSigncellId for the setset.

◆ a_localId()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::a_localId ( const MLong  gGlobalId)
inline

Definition at line 797 of file lscartesiansolver.h.

797{ return grid().globalToLocalId(gGlobalId); }

◆ a_maxGCellLevel()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::a_maxGCellLevel ( const MInt  set = -1) const
inline

Definition at line 456 of file lscartesiansolver.h.

456 {
457 if(!m_gCellLevelJump) {
458 return m_maxGCellLevel[0];
459 } else {
460 ENSURE_VALID_SET(set);
461 return m_maxGCellLevel[set];
462 }
463 }

◆ a_meanCoord() [1/2]

template<MInt nDim_>
MFloat & LsCartesianSolver< nDim_ >::a_meanCoord ( const MInt  dir)
inline

Definition at line 704 of file lscartesiansolver.h.

704{ return m_meanCoord[dir]; }

◆ a_meanCoord() [2/2]

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::a_meanCoord ( const MInt  dir) const
inline

Definition at line 706 of file lscartesiansolver.h.

706{ return m_meanCoord[dir]; }

◆ a_nearGapG() [1/2]

template<MInt nDim_>
maia::ls::cell::BitsetType::reference LsCartesianSolver< nDim_ >::a_nearGapG ( const MInt  cellId)
inline

Definition at line 556 of file lscartesiansolver.h.

556 {
557 ENSURE_VALID_GCELLID(cellId);
558 return m_cells.nearGap(cellId);
559 }
MBool nearGap(const MInt id) const

◆ a_nearGapG() [2/2]

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::a_nearGapG ( const MInt  cellId) const
inline

Definition at line 560 of file lscartesiansolver.h.

560 {
561 ENSURE_VALID_GCELLID(cellId);
562 return m_cells.nearGap(cellId);
563 }

◆ a_noBandBndryCells()

template<MInt nDim_>
constexpr MInt LsCartesianSolver< nDim_ >::a_noBandBndryCells ( MInt  set) const
inlineconstexpr

Definition at line 857 of file lscartesiansolver.h.

857{ return m_bandBndryCells[set].size(); }

◆ a_noBandCells()

template<MInt nDim_>
constexpr MInt LsCartesianSolver< nDim_ >::a_noBandCells ( MInt  set) const
inlineconstexpr

Definition at line 855 of file lscartesiansolver.h.

855{ return m_bandCells[set].size(); }

◆ a_noCells()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::a_noCells ( ) const
inline

Definition at line 438 of file lscartesiansolver.h.

438{ return m_cells.size(); }
constexpr MInt size() const
Return size (i.e., currently used number of nodes)
Definition: container.h:89

◆ a_noG0Cells()

template<MInt nDim_>
constexpr MInt LsCartesianSolver< nDim_ >::a_noG0Cells ( MInt  set) const
inlineconstexpr

Definition at line 858 of file lscartesiansolver.h.

858{ return m_G0Cells[set].size(); }

◆ a_noGBndryCells()

template<MInt nDim_>
constexpr MInt LsCartesianSolver< nDim_ >::a_noGBndryCells ( MInt  set) const
inlineconstexpr

Definition at line 859 of file lscartesiansolver.h.

859{ return m_gBndryCells[set].size(); }

◆ a_noInternalBandCells()

template<MInt nDim_>
constexpr MInt LsCartesianSolver< nDim_ >::a_noInternalBandCells ( MInt  set) const
inlineconstexpr

Definition at line 856 of file lscartesiansolver.h.

856{ return m_internalBandCells[set].size(); }

◆ a_normalVectorG() [1/2]

template<MInt nDim_>
MFloat & LsCartesianSolver< nDim_ >::a_normalVectorG ( const MInt  cellId,
const MInt  dim,
const MInt  set 
)
inline

Definition at line 542 of file lscartesiansolver.h.

542 {
543 ENSURE_VALID_DIM(dim);
544 ENSURE_VALID_SET(set);
545 ENSURE_VALID_GCELLID(cellId);
546 return m_cells.normalVector(cellId, dim, set);
547 }
MFloat & normalVector(const MInt id, const MInt dim, const MInt set)

◆ a_normalVectorG() [2/2]

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::a_normalVectorG ( const MInt  cellId,
const MInt  dim,
const MInt  set 
) const
inline

Definition at line 549 of file lscartesiansolver.h.

549 {
550 ENSURE_VALID_DIM(dim);
551 ENSURE_VALID_SET(set);
552 ENSURE_VALID_GCELLID(cellId);
553 return m_cells.normalVector(cellId, dim, set);
554 }

◆ a_oldLevelSetFunctionG() [1/2]

template<MInt nDim_>
MFloat & LsCartesianSolver< nDim_ >::a_oldLevelSetFunctionG ( const MInt  cellId,
const MInt  set 
)
inline

Definition at line 624 of file lscartesiansolver.h.

624 {
625 ENSURE_VALID_SET(set);
626 ENSURE_VALID_GCELLID(cellId);
627 // return m_oldLevelSetFunction[ IDX_LSSET( cellId, set) ];
628 return m_cells.oldGFunction(cellId, set);
629 }
MFloat & oldGFunction(const MInt id, const MInt set)

◆ a_oldLevelSetFunctionG() [2/2]

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::a_oldLevelSetFunctionG ( const MInt  cellId,
const MInt  set 
) const
inline

Definition at line 631 of file lscartesiansolver.h.

631 {
632 ENSURE_VALID_SET(set);
633 ENSURE_VALID_GCELLID(cellId);
634 // return m_oldLevelSetFunction[ IDX_LSSET( cellId, set) ];
635 return m_cells.oldGFunction(cellId, set);
636 }

◆ a_potentialGapCell() [1/2]

template<MInt nDim_>
MInt & LsCartesianSolver< nDim_ >::a_potentialGapCell ( const MInt  id)
inline

Definition at line 695 of file lscartesiansolver.h.

695{ return m_cells.potentialGapCell(id); }
MInt & potentialGapCell(const MInt id)

◆ a_potentialGapCell() [2/2]

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::a_potentialGapCell ( const MInt  id) const
inline

Definition at line 697 of file lscartesiansolver.h.

697{ return m_cells.potentialGapCell(id); }

◆ a_potentialGapCellClose() [1/2]

template<MInt nDim_>
MInt & LsCartesianSolver< nDim_ >::a_potentialGapCellClose ( const MInt  id)
inline

Definition at line 700 of file lscartesiansolver.h.

700{ return m_cells.potentialGapCellClose(id); }
MInt & potentialGapCellClose(const MInt id)

◆ a_potentialGapCellClose() [2/2]

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::a_potentialGapCellClose ( const MInt  id) const
inline

Definition at line 702 of file lscartesiansolver.h.

702{ return m_cells.potentialGapCellClose(id); }

◆ a_regridTriggerG() [1/2]

template<MInt nDim_>
maia::ls::cell::BitsetType::reference LsCartesianSolver< nDim_ >::a_regridTriggerG ( const MInt  cellId)
inline

Definition at line 565 of file lscartesiansolver.h.

565 {
566 ENSURE_VALID_GCELLID(cellId);
567 return m_cells.regridTrigger(cellId);
568 }
MBool regridTrigger(const MInt id) const
properties:

◆ a_regridTriggerG() [2/2]

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::a_regridTriggerG ( const MInt  cellId) const
inline

Definition at line 569 of file lscartesiansolver.h.

569 {
570 ENSURE_VALID_GCELLID(cellId);
571 return m_cells.regridTrigger(cellId);
572 }

◆ a_resetPropertiesSolver()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::a_resetPropertiesSolver ( const MInt  cellId)
inline

Definition at line 445 of file lscartesiansolver.h.

445{ m_cells.resetProperties(cellId); }
void resetProperties(const MInt id)
Reset all properties.

◆ a_secondBodyId() [1/2]

template<MInt nDim_>
MInt & LsCartesianSolver< nDim_ >::a_secondBodyId ( const MInt  cellId)
inline

Definition at line 587 of file lscartesiansolver.h.

587 {
588 ENSURE_VALID_GCELLID(cellId);
589 return m_cells.secondBodyId(cellId);
590 }

◆ a_secondBodyId() [2/2]

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::a_secondBodyId ( const MInt  cellId) const
inline

Definition at line 592 of file lscartesiansolver.h.

592 {
593 ENSURE_VALID_GCELLID(cellId);
594 return m_cells.secondBodyId(cellId);
595 }

◆ a_wasGZeroCell() [1/2]

template<MInt nDim_>
maia::ls::cell::BitsetTypeSet::reference LsCartesianSolver< nDim_ >::a_wasGZeroCell ( const MInt  cellId,
const MInt  set 
)
inline

Definition at line 519 of file lscartesiansolver.h.

519 {
520 ENSURE_VALID_GCELLID(cellId);
521 ENSURE_VALID_SET(set);
522 return m_cells.wasGZero(cellId, set);
523 }
MBool wasGZero(const MInt id, const MInt set) const

◆ a_wasGZeroCell() [2/2]

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::a_wasGZeroCell ( const MInt  cellId,
const MInt  set 
) const
inline

Definition at line 513 of file lscartesiansolver.h.

513 {
514 ENSURE_VALID_GCELLID(cellId);
515 ENSURE_VALID_SET(set);
516 return m_cells.wasGZero(cellId, set);
517 }

◆ allocateLevelSetMemory()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::allocateLevelSetMemory ( )

◆ allocateRotatingLs()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::allocateRotatingLs ( )

◆ applyLevelSetBoundaryConditions()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::applyLevelSetBoundaryConditions ( )

◆ balance()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::balance ( const MInt *const  noCellsToReceiveByDomain,
const MInt *const  noCellsToSendByDomain,
const MInt *const  targetDomainsByCell,
const MInt  oldNoCells 
)
override

◆ balancePost()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::balancePost ( )
overridevirtual

Reimplemented from Solver.

◆ balancePre()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::balancePre ( )
overridevirtual

Reimplemented from Solver.

◆ buildCollectedLevelSet()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::buildCollectedLevelSet ( MInt  mode = 1)

◆ buildLevelSetTube()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::buildLevelSetTube ( MInt  mode = -1)

◆ buildMultipleLevelSet()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::buildMultipleLevelSet ( MInt  mode = 1)

◆ c_cellLengthAtCell()

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::c_cellLengthAtCell ( const MInt  gCellId) const
inline

Definition at line 424 of file lscartesiansolver.h.

424{ return grid().cellLengthAtLevel(a_level(gCellId)); }
MInt a_level(const MInt gCellId) const
Returns the level of the gcell gCellId.

◆ c_cellLengthAtLevel()

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::c_cellLengthAtLevel ( const MInt  level) const
inline

Definition at line 427 of file lscartesiansolver.h.

427{ return grid().cellLengthAtLevel(level); }

◆ c_childId()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::c_childId ( const MInt  gCellId,
const MInt  pos 
) const
inline

Definition at line 727 of file lscartesiansolver.h.

727 {
728 ENSURE_VALID_GCELLID(gCellId);
729 return grid().tree().child(gCellId, pos);
730 }

◆ c_coordinate()

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::c_coordinate ( const MInt  gCellId,
const MInt  dim 
) const
inline

Definition at line 734 of file lscartesiansolver.h.

734 {
735 ENSURE_VALID_DIM(dim);
736 ENSURE_VALID_GCELLID(gCellId);
737 return grid().tree().coordinate(gCellId, dim);
738 }

◆ c_globalId()

template<MInt nDim_>
MLong LsCartesianSolver< nDim_ >::c_globalId ( const MInt  gCellId) const
inline

Definition at line 790 of file lscartesiansolver.h.

790 {
791 ENSURE_VALID_GCELLID(gCellId);
792 return grid().tree().globalId(gCellId);
793 }

◆ c_isLeafCell()

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::c_isLeafCell ( const MInt  gCellId) const
inline

Definition at line 799 of file lscartesiansolver.h.

799 {
800 ENSURE_VALID_GCELLID(gCellId);
801 return grid().tree().isLeafCell(gCellId);
802 }

◆ c_neighborId()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::c_neighborId ( const MInt  gCellId,
const MInt  dir 
) const
inline

Definition at line 741 of file lscartesiansolver.h.

741 {
742 ENSURE_VALID_DIR(dir);
743 ENSURE_VALID_GCELLID(gCellId);
744
745 if(grid().tree().neighbor(gCellId, dir) > -1) {
746 return grid().tree().neighbor(gCellId, dir);
747 } else if(m_levelSetBC == "SYMMETRIC") {
748 return gCellId;
749 } else if(m_levelSetBC == "NONE") {
750 return -1;
751 } else {
752 mTerm(1, AT_, "Return of the neighborId should have happend by now!");
753 return gCellId;
754 }
755 }
void mTerm(const MInt errorCode, const MString &location, const MString &message)
Definition: functions.cpp:29

◆ c_noCells()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::c_noCells ( ) const
inline

Definition at line 712 of file lscartesiansolver.h.

712{ return a_noCells(); }

◆ c_noChildren()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::c_noChildren ( const MInt  gCellId) const
inline

Definition at line 721 of file lscartesiansolver.h.

721 {
722 ENSURE_VALID_GCELLID(gCellId);
723 return grid().tree().noChildren(gCellId);
724 }

◆ c_parentId()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::c_parentId ( const MInt  gCellId) const
inline

Definition at line 715 of file lscartesiansolver.h.

715 {
716 ENSURE_VALID_GCELLID(gCellId);
717 return grid().tree().parent(gCellId);
718 }

◆ cellDataSizeDlb()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::cellDataSizeDlb ( const MInt  dataId,
const MInt  gridCellId 
)
override

◆ cellDataTypeDlb()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::cellDataTypeDlb ( const MInt  dataId) const
inlineoverride

Definition at line 1268 of file lscartesiansolver.h.

1268 {
1269 if(dataId == 0) {
1270 return MFLOAT;
1271 } else if(dataId == 1) {
1272 return MINT;
1273 } else if(dataId < 5) {
1274 if(m_semiLagrange) {
1275 if(dataId == 2)
1276 return MFLOAT;
1277 else if(dataId > 2) {
1279 return MINT;
1280 } else
1281 TERMM(1, "solverCelldataType: invalid data id for !m_reconstructOldG && m_LsRotate");
1282 }
1283 } else {
1284 return MFLOAT;
1285 }
1286 } else
1287 TERMM(1, "solverCelldataType: invalid data id");
1288 // This should not be reached, just for compiler
1289 return 0;
1290 };
@ MINT
Definition: enums.h:269
@ MFLOAT
Definition: enums.h:269

◆ cellOutside()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::cellOutside ( const MFloat ,
const  MInt,
const  MInt 
)
overridevirtual

Reimplemented from Solver.

◆ cellVolumeAtCell()

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::cellVolumeAtCell ( const MInt  gCellId) const
inline

Definition at line 425 of file lscartesiansolver.h.

425{ return grid().cellVolumeAtLevel(a_level(gCellId)); }

◆ checkHaloCells()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::checkHaloCells ( )

◆ checkNormal()

template<MInt nDim_>
CHECKNORMAL< nDim > & LsCartesianSolver< nDim_ >::checkNormal ( ) const
inline

Definition at line 409 of file lscartesiansolver.h.

409{ return *m_checkNormal; }
CHECKNORMAL< nDim > * m_checkNormal

◆ checkSecondLayerCells()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::checkSecondLayerCells ( std::vector< MInt > &  diag2Cells,
std::map< MInt, std::vector< MInt > > &  dirCode,
MFloat point 
)

◆ cleanUp()

template<MInt nDim_>
virtual void LsCartesianSolver< nDim_ >::cleanUp ( )
inlinevirtual

Implements Solver.

Definition at line 346 of file lscartesiansolver.h.

346{};

◆ computeBodyPropertiesForced()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::computeBodyPropertiesForced ( MInt  returnMode,
MFloat bodyData,
MInt  body,
MFloat  time,
MBool  printPosition = false 
)
Author
Claudia Guenther, Tim Wegmann
Date
03/2011

◆ computeCurvature()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::computeCurvature ( MInt  mode = -1)

◆ computeCurvaturePeriodic()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::computeCurvaturePeriodic ( )

◆ computeDistanceFromSTL()

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::computeDistanceFromSTL ( MFloat target,
MInt closestElement,
MFloat closestPoint,
MInt  set,
MFloat  sphereRadiusFactor = F5 
)

◆ computeExtensionVelocityGEQUPVMarksteinOpt()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::computeExtensionVelocityGEQUPVMarksteinOpt ( MFloat FfluidDensity,
MInt  set 
)

◆ computeGCellTimeStep()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::computeGCellTimeStep ( )

◆ computeLevelSetRHS()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::computeLevelSetRHS ( )

◆ computeNormalVectors()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::computeNormalVectors ( MInt  mode = -1)

◆ computeNormalVectorsAtFront()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::computeNormalVectorsAtFront ( )

◆ computeNormalVectorsPeriodic()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::computeNormalVectorsPeriodic ( )

◆ computeZeroLevelSetArcLength()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::computeZeroLevelSetArcLength ( )

◆ constructGFieldFromSTL()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::constructGFieldFromSTL ( MInt  ConstructFlag)
Author
Sitthikrit Leckpool, Tim Wegmann
Date
Sep. 2010, May 2018

◆ copyWindowToHaloIds()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::copyWindowToHaloIds ( )

◆ correctedBurningVelocity()

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::correctedBurningVelocity ( const MInt  cellId,
const MInt  set 
) const
inline

Definition at line 673 of file lscartesiansolver.h.

673 {
674 ENSURE_VALID_SET(set);
675 ENSURE_VALID_GCELLID(cellId);
676 return m_cells.correctedBurningVelocity(cellId, set);
677 }

◆ crankAngle()

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::crankAngle ( const  MFloat,
const  MInt 
)

◆ createBaseGgridCG()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::createBaseGgridCG ( )

◆ createGgridCG()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::createGgridCG ( MBool  = false)

◆ determineBandCells()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::determineBandCells ( MInt  mode = -1)

◆ determineG0Cells()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::determineG0Cells ( MInt  computingSet = -1)

◆ determineLevelSetSignFromSTL()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::determineLevelSetSignFromSTL ( MFloat target,
MInt  set 
)
Author
: Sitthikrit Leckpool, Sep. 2010

◆ determineMinMaxMeanInterfacePosition()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::determineMinMaxMeanInterfacePosition ( )

◆ determineMinMaxMeanRegionInterfacePosition()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::determineMinMaxMeanRegionInterfacePosition ( MFloat  xRegN,
MFloat  xRegP,
MFloat  yRegN,
MFloat  yRegP,
MInt  set 
)

◆ determinePeriodicDistance()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::determinePeriodicDistance ( )

◆ determinePropagationSpeed()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::determinePropagationSpeed ( )

◆ determineSteadyFlameLength()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::determineSteadyFlameLength ( )

◆ exchangeAllLevelSetData()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::exchangeAllLevelSetData ( )

◆ exchangeBuffersGlobal()

template<MInt nDim_>
template<typename T >
void LsCartesianSolver< nDim_ >::exchangeBuffersGlobal ( T *  sendBuffer,
T *  receiveBuffer,
MInt ,
MInt ,
MInt ,
MInt ,
MInt  ,
MInt  offset = 1 
)

◆ exchangeDataLS()

template<MInt nDim_>
template<typename T >
void LsCartesianSolver< nDim_ >::exchangeDataLS ( T *  data,
const MInt  dataSize = 1 
)
private

◆ exchangeGapInfo()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::exchangeGapInfo ( )

◆ exchangeIntBuffers()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::exchangeIntBuffers ( MInt ,
MInt ,
MInt  ,
MInt   
)

◆ exchangeLeafDataLS()

template<MInt nDim_>
template<MBool currentLevelSet>
void LsCartesianSolver< nDim_ >::exchangeLeafDataLS ( )
private

◆ exchangeLevelSet()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::exchangeLevelSet ( )

◆ exchangeLs()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::exchangeLs ( MFloat ,
MInt  ,
MInt   
)

◆ extendVelocity()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::extendVelocity ( const MInt  set)

◆ fastBuildLevelSetTubeCG()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::fastBuildLevelSetTubeCG ( )

◆ fifthOrderEikonalSolver()

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::fifthOrderEikonalSolver ( MInt  cellListSize,
MInt  maxIterations,
MInt crCells,
MInt  noCRCells,
MFloat factors,
MInt  crMode,
MInt  set 
)

◆ finalizeAdaptation()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::finalizeAdaptation ( )
overridevirtual

Reimplemented from Solver.

◆ finalizeBalance()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::finalizeBalance ( )
overridevirtual

Reimplemented from Solver.

◆ finalizeInitSolver()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::finalizeInitSolver ( )
overridevirtual

Implements Solver.

◆ finalizeLevelSet()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::finalizeLevelSet ( )

◆ finalizeLevelSet_()

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::finalizeLevelSet_ ( const MInt  t_levelSet,
const MInt  t_output 
)

◆ finalizeLevelSetInitialization()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::finalizeLevelSetInitialization ( )

◆ firstOrderEikonalSolver()

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::firstOrderEikonalSolver ( MInt  cellListSize,
MInt  maxIterations,
MInt  set 
)

◆ forceAdaptation()

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::forceAdaptation ( )
inlineoverridevirtual

Reimplemented from Solver.

Definition at line 838 of file lscartesiansolver.h.

838 {
839 // If lsSolver is inactive on one of the ranks we need this allreduce!
840 if(grid().hasInactiveRanks()) {
841 this->startLoadTimer(AT_);
842 MPI_Allreduce(MPI_IN_PLACE, &m_forceAdaptation, 1, MPI_C_BOOL, MPI_LOR, grid().raw().mpiComm(), AT_,
843 "MPI_IN_PLACE", "m_forceAdaptation");
844 this->stopLoadTimer(AT_);
845 }
846 return m_forceAdaptation;
847 }
void startLoadTimer(const MString name)
Definition: solver.h:293
MPI_Comm mpiComm() const
Return the MPI communicator used by this solver.
Definition: solver.h:380
void stopLoadTimer(const MString &name)
Definition: solver.h:295
int MPI_Allreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, const MString &name, const MString &sndvarname, const MString &rcvvarname)
same as MPI_Allreduce

◆ gapCellsExist()

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::gapCellsExist ( )

◆ gapHandling()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::gapHandling ( )

◆ generateListOfGExchangeCellsCG()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::generateListOfGExchangeCellsCG ( )

◆ geometry()

template<MInt nDim_>
Geom & LsCartesianSolver< nDim_ >::geometry ( ) const
inline

Definition at line 361 of file lscartesiansolver.h.

361{ return *m_geometry; }

◆ getCellDataDlb() [1/2]

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::getCellDataDlb ( const MInt  dataId,
const MInt  oldNoCells,
const MInt *const  bufferIdToCellId,
MFloat *const  data 
)
override

◆ getCellDataDlb() [2/2]

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::getCellDataDlb ( const MInt  dataId,
const MInt  oldNoCells,
const MInt *const  bufferIdToCellId,
MInt *const  data 
)
override

◆ getCellLoad()

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::getCellLoad ( const MInt  cellId,
const MFloat *const  weights 
) const
override

◆ getContainingCell() [1/2]

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::getContainingCell ( MFloat point)

◆ getContainingCell() [2/2]

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::getContainingCell ( MInt  startCell,
MFloat point,
MInt  set = -1 
)

◆ getContainingCellFromNeighbor()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::getContainingCellFromNeighbor ( MInt  body,
MInt  cellId,
MFloat xCoord,
MFloat xOld 
)

◆ getContainingCellHalo()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::getContainingCellHalo ( MFloat point)

◆ getCurrentTimeStep()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::getCurrentTimeStep ( ) const
inlineoverridevirtual

Reimplemented from Solver.

Definition at line 867 of file lscartesiansolver.h.

867{ return globalTimeStep; }
MInt globalTimeStep

◆ getDefaultWeights()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::getDefaultWeights ( MFloat weights,
std::vector< MString > &  names 
) const
override

◆ getDomainDecompositionInformation()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::getDomainDecompositionInformation ( std::vector< std::pair< MString, MInt > > &  domainInfo)
override

◆ getLoadQuantities()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::getLoadQuantities ( MInt *const  loadQuantities) const
override

◆ getSolverTimings()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::getSolverTimings ( std::vector< std::pair< MString, MFloat > > &  solverTimings,
const MBool  allTimings 
)
override

◆ globalToLocalIdsContainingCells()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::globalToLocalIdsContainingCells ( )

◆ gRungeKutta()

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::gRungeKutta ( )

◆ hasSplitBalancing()

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::hasSplitBalancing ( ) const
inlineoverridevirtual

Reimplemented from Solver.

Definition at line 1244 of file lscartesiansolver.h.

1244{ return true; }

◆ hyperbolicExtensionOpt()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::hyperbolicExtensionOpt ( MFloat q,
MInt cellList,
MInt  cellListSize,
MFloat  convergenceCriterion,
MInt  set 
)

◆ identifyBodies()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::identifyBodies ( MInt  mode = 0)

mode 0: during initialisation, after a balance, restart, adaptation (default) mode 1: faster version which shifts the bodyId based on the levelSetShift

Author
Claudia Guenther, Update Tim Wegmann
Date
04/2011, 01/2019

◆ inCell()

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::inCell ( MInt  cellId,
MFloat point 
)

◆ initAzimuthalExchange()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::initAzimuthalExchange ( )

◆ initializeCollectedLevelSet()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::initializeCollectedLevelSet ( MInt  mode)

◆ initializeGControlPoint()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::initializeGControlPoint ( )
Author
Sitthikrit Leckpool, Sep. 2010

◆ initializeGField()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::initializeGField ( )

◆ initializeIntegrationScheme()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::initializeIntegrationScheme ( )

◆ initializeIntegrationScheme_semiLagrange()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::initializeIntegrationScheme_semiLagrange ( )

◆ initializeTimers()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::initializeTimers ( )
private

◆ initLocalizedLevelSetCG()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::initLocalizedLevelSetCG ( )

◆ initRotatingLS()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::initRotatingLS ( )

◆ initSolver()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::initSolver ( )
overridevirtual

Implements Solver.

◆ interpolateLevelSet()

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::interpolateLevelSet ( MInt interpolationCells,
MFloat point,
MInt  referenceSet 
)

◆ interpolateOldLevelSet()

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::interpolateOldLevelSet ( MInt interpolationCells,
MFloat point,
MInt  referenceSet 
)

◆ levelSetAdaptationTrigger()

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::levelSetAdaptationTrigger ( )

◆ levelSetConstrainedReinitialization()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::levelSetConstrainedReinitialization ( MInt  methodId,
MInt  startSet,
MInt  endSet,
MInt  gapMode 
)

◆ levelSetGapCorrect()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::levelSetGapCorrect ( )

◆ levelSetGapRecorrect()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::levelSetGapRecorrect ( )

◆ levelSetHighOrderConstrainedReinitialization()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::levelSetHighOrderConstrainedReinitialization ( MInt  methodId,
MInt  startSet,
MInt  endSet,
MInt  gapMode 
)

◆ levelSetReinitialization()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::levelSetReinitialization ( MInt  mode = 1)

◆ levelSetReinitializationTrigger()

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::levelSetReinitializationTrigger ( )

◆ levelSetRestriction()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::levelSetRestriction ( )

◆ levelSetSolver()

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::levelSetSolver ( )

◆ limitWeights()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::limitWeights ( MFloat )
override

◆ loadLevelSetGridFlowVarsParCG()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::loadLevelSetGridFlowVarsParCG ( const MChar fileName)

◆ localGapCellsExist()

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::localGapCellsExist ( )

◆ localToGlobalIds()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::localToGlobalIds ( )
overridevirtual

Reimplemented from Solver.

◆ localToGlobalIdsContainingCells()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::localToGlobalIdsContainingCells ( )

◆ maintainOuterBandLayers()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::maintainOuterBandLayers ( MInt  order,
MInt  startSet,
MInt  endSet 
)

◆ maxLevel()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::maxLevel ( ) const
inline

Definition at line 422 of file lscartesiansolver.h.

422{ return grid().maxLevel(); }

◆ noCellDataDlb()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::noCellDataDlb ( ) const
inlineoverridevirtual

Reimplemented from Solver.

Definition at line 1246 of file lscartesiansolver.h.

1246 {
1247 if(grid().isActive()) {
1248 // a_levelSetFunctionG(cellId, set)
1249 // a_regridTriggerG(cellId)
1250 MInt cellData = 2;
1251 if(m_semiLagrange) {
1252 // a_oldLevelSetFunctionG(cellId, set)
1253 // m_initialGCell[cellId]
1254 // m_containingCell[b*m_maxNoGCells+cellId]
1255 cellData += 1 + 2 * (MInt)(!m_reconstructOldG && m_LsRotate);
1256 } else {
1257 // a_curvatureG(cellId, 0)
1258 // a_normalVectorG(cellId, dim, 0)
1259 // a_levelSetFunctionSlope(cellId, dim, 0)
1260 cellData += 3;
1261 }
1262 return cellData;
1263 } else {
1264 return 0;
1265 }
1266 };
int32_t MInt
Definition: maiatypes.h:62

◆ noInternalCells()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::noInternalCells ( ) const
inlineoverridevirtual

Implements Solver.

Definition at line 433 of file lscartesiansolver.h.

433{ return grid().noInternalCells(); }

◆ noLoadTypes()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::noLoadTypes ( ) const
overridevirtual

Reimplemented from Solver.

◆ noSolverTimers()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::noSolverTimers ( const MBool  allTimings)
inlineoverride

Definition at line 411 of file lscartesiansolver.h.

411 {
412#ifdef MAIA_TIMER_FUNCTION
413 TERMM_IF_COND(!allTimings, "FIXME: reduced timings mode not yet supported by LS.");
414 static const MInt noAdditionTimers = 7;
415 return 2 + noAdditionTimers;
416#else
417 return 2;
418#endif
419 }

◆ noVariables()

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::noVariables ( ) const
inlineoverridevirtual

Reimplemented from Solver.

Definition at line 344 of file lscartesiansolver.h.

344{ return 1; };

◆ postAdaptation()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::postAdaptation ( )
overridevirtual

Reimplemented from Solver.

◆ postTimeStep()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::postTimeStep ( )
overridevirtual

Implements Solver.

◆ prepareAdaptation()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::prepareAdaptation ( )
overridevirtual

Reimplemented from Solver.

◆ prepareGlobalComm()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::prepareGlobalComm ( MInt noCellsToDom)

◆ prepareRestart()

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::prepareRestart ( MBool  ,
MBool  
)
overridevirtual

Reimplemented from Solver.

◆ preTimeStep()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::preTimeStep ( )
overridevirtual

Implements Solver.

◆ processRotatingLevelSet()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::processRotatingLevelSet ( MFloat phi,
MInt cellId,
MInt domId,
MFloat point,
MInt  set 
)

◆ readLevelSetProperties()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::readLevelSetProperties ( )

◆ reBuildCollectedLevelSet()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::reBuildCollectedLevelSet ( MInt  mode)

◆ reconstructOldGField()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::reconstructOldGField ( )

◆ reduceData()

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::reduceData ( const  MInt,
MFloat data,
const MInt  dataBlockSize = 1 
)

◆ refineCell()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::refineCell ( const  MInt)
overridevirtual

Reimplemented from Solver.

◆ regionGrowing()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::regionGrowing ( MInt  cellId,
MInt  region 
)

◆ regridLevelSet()

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::regridLevelSet ( )

◆ reinitBand()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::reinitBand ( MInt  startSet,
MInt  endSet 
)

◆ reInitSolver()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::reInitSolver ( const  MBool)
private

◆ reIntAfterRestart()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::reIntAfterRestart ( MBool  )
overridevirtual

Reimplemented from Solver.

◆ removeCell()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::removeCell ( const  MInt)
overridevirtual

Reimplemented from Solver.

◆ removeChilds()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::removeChilds ( const  MInt)
overridevirtual

Reimplemented from Solver.

◆ resetContainingGCells()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::resetContainingGCells ( )

◆ resetExtensionVelocity()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::resetExtensionVelocity ( )
inline

◆ resetOldOutsideCells()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::resetOldOutsideCells ( )

◆ resetOutsideCells()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::resetOutsideCells ( MInt  mode = -1)

◆ resetSolver()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::resetSolver ( )
overridevirtual

Reimplemented from Solver.

◆ resetSolverFull()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::resetSolverFull ( )

◆ resizeGridMap()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::resizeGridMap ( )
overridevirtual

Reimplemented from Solver.

◆ restartLocalizedLevelSetCG()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::restartLocalizedLevelSetCG ( )

◆ rotateLevelSet()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::rotateLevelSet ( MInt  returnMode,
MFloat cellData,
MInt  body,
const MFloat xCoord,
const MFloat xCenter,
const MFloat angle 
)

◆ rotateSTL() [1/2]

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::rotateSTL ( MInt  direction)

◆ rotateSTL() [2/2]

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::rotateSTL ( MInt  direction,
MInt  body,
MFloat center 
)

◆ saveRestartFile()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::saveRestartFile ( const  MBool,
MInt  
)

◆ saveSolverSolution()

template<MInt nDim_>
virtual void LsCartesianSolver< nDim_ >::saveSolverSolution ( const  MBool,
const  MBool 
)
inlinevirtual

Definition at line 345 of file lscartesiansolver.h.

345{};

◆ secondOrderEikonalSolver()

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::secondOrderEikonalSolver ( MFloat q,
const MInt nghbrs,
MInt  cellListSize,
MInt  maxIterations,
MInt  set 
)

◆ semiLagrangeTimeStep()

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::semiLagrangeTimeStep ( )

◆ sensorInterface()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::sensorInterface ( std::vector< std::vector< MFloat > > &  sensors,
std::vector< std::bitset< 64 > > &  sensorCellFlag,
std::vector< MFloat > &  sensorWeight,
MInt  sensorOffset,
MInt  sen 
)
overridevirtual

◆ setBandNewArrivals()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::setBandNewArrivals ( MInt  computingSet = -1)

◆ setCellDataDlb() [1/2]

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::setCellDataDlb ( const MInt  dataId,
const MFloat *const  data 
)
override

◆ setCellDataDlb() [2/2]

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::setCellDataDlb ( const MInt  dataId,
const MInt *const  data 
)
override

◆ setCellWeights()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::setCellWeights ( MFloat )
overridevirtual

Reimplemented from Solver.

◆ setChildRegions()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::setChildRegions ( MInt  cellId,
MInt  region 
)

◆ setGCellBndryProperty()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::setGCellBndryProperty ( )

◆ setInterfaceList()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::setInterfaceList ( MIntScratchSpace interfaceCells)

◆ setSensors()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::setSensors ( std::vector< std::vector< MFloat > > &  ,
std::vector< MFloat > &  ,
std::vector< std::bitset< 64 > > &  ,
std::vector< MInt > &   
)
overridevirtual

Reimplemented from Solver.

◆ setUpBodyToSetTable()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::setUpBodyToSetTable ( )

◆ setUpLevelSetInterpolationStencil() [1/2]

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::setUpLevelSetInterpolationStencil ( MInt  cellId,
MInt interpolationCells,
MFloat point 
)

◆ setUpLevelSetInterpolationStencil() [2/2]

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::setUpLevelSetInterpolationStencil ( MInt  cellId,
MInt interpolationCells,
MInt  position 
)

◆ setUpPotentialGapCells()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::setUpPotentialGapCells ( )
  • a_potentialGapCell
  • a_potentialGapCellClose
Author
Claudia Guenther, Update Tim Wegmann
Date
06/2012, 12/2018

◆ shiftOldLevelSetField()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::shiftOldLevelSetField ( MInt  dir,
MInt  set,
MInt  body 
)

◆ solutionStep()

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::solutionStep ( )
overridevirtual

Reimplemented from Solver.

◆ spatiallyAdaptiveCorrectionFromSTL()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::spatiallyAdaptiveCorrectionFromSTL ( )
Author
Sitthikrit Leckpool, Sep. 2010

◆ swapCells()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::swapCells ( const  MInt,
const  MInt 
)
overridevirtual

Reimplemented from Solver.

◆ swapProxy()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::swapProxy ( const MInt  MInt,
const MInt  MInt 
)
overridevirtual

Reimplemented from Solver.

◆ testCellsCG()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::testCellsCG ( )

◆ time()

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::time ( ) const
inlineoverridevirtual

Implements Solver.

Definition at line 332 of file lscartesiansolver.h.

332 {
334 // NOTE: the time is copied and updated from the coupler in transferTimeStep
335 return m_time;
336 } else {
337 ASSERT(!m_combustion, "");
338 return globalTimeStep;
339 }
340 };

◆ timeStep()

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::timeStep ( ) const
inline

Definition at line 343 of file lscartesiansolver.h.

343{ return m_timeStep; }

◆ updateAllLowerGridLevels()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::updateAllLowerGridLevels ( MInt  mode = -1)

◆ updateBndryCellList()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::updateBndryCellList ( )

◆ updateContainingGCells()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::updateContainingGCells ( MInt  mode = 0)

◆ updateLowerGridLevels()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::updateLowerGridLevels ( MInt  mode = -1)

◆ writeRestartFile()

template<MInt nDim_>
void LsCartesianSolver< nDim_ >::writeRestartFile ( const  MBool,
const  MBool,
const  MString,
MInt recalcIdTree 
)
overridevirtual

Reimplemented from Solver.

◆ writeRestartLevelSetFileCG()

template<MInt nDim_>
virtual void LsCartesianSolver< nDim_ >::writeRestartLevelSetFileCG ( MBool  ,
const MString ,
const MString  
)
virtual

Friends And Related Function Documentation

◆ CouplingLsFv< nDim, FvSysEqnNS< nDim > >

template<MInt nDim_>
friend class CouplingLsFv< nDim, FvSysEqnNS< nDim > >
friend

Definition at line 314 of file lscartesiansolver.h.

◆ CouplingLsFv< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_FS > > >

template<MInt nDim_>
friend class CouplingLsFv< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_FS > > >
friend

Definition at line 314 of file lscartesiansolver.h.

◆ CouplingLsFv< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_KOMEGA > > >

template<MInt nDim_>
friend class CouplingLsFv< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_KOMEGA > > >
friend

Definition at line 314 of file lscartesiansolver.h.

◆ CouplingLsFv< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_SA_DV > > >

template<MInt nDim_>
friend class CouplingLsFv< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_SA_DV > > >
friend

Definition at line 314 of file lscartesiansolver.h.

◆ LsFvCombustion< nDim, FvSysEqnNS< nDim > >

template<MInt nDim_>
friend class LsFvCombustion< nDim, FvSysEqnNS< nDim > >
friend

Definition at line 314 of file lscartesiansolver.h.

◆ LsFvCombustion< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_FS > > >

template<MInt nDim_>
friend class LsFvCombustion< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_FS > > >
friend

Definition at line 314 of file lscartesiansolver.h.

◆ LsFvCombustion< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_KOMEGA > > >

template<MInt nDim_>
friend class LsFvCombustion< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_KOMEGA > > >
friend

Definition at line 314 of file lscartesiansolver.h.

◆ LsFvCombustion< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_SA_DV > > >

template<MInt nDim_>
friend class LsFvCombustion< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_SA_DV > > >
friend

Definition at line 314 of file lscartesiansolver.h.

◆ LsFvMb< nDim, FvSysEqnNS< nDim > >

template<MInt nDim_>
friend class LsFvMb< nDim, FvSysEqnNS< nDim > >
friend

Definition at line 314 of file lscartesiansolver.h.

◆ LsFvMb< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_FS > > >

template<MInt nDim_>
friend class LsFvMb< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_FS > > >
friend

Definition at line 314 of file lscartesiansolver.h.

◆ LsFvMb< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_KOMEGA > > >

template<MInt nDim_>
friend class LsFvMb< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_KOMEGA > > >
friend

Definition at line 314 of file lscartesiansolver.h.

◆ LsFvMb< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_SA_DV > > >

template<MInt nDim_>
friend class LsFvMb< nDim, FvSysEqnRANS< 3, RANSModelConstants< RANS_SA_DV > > >
friend

Definition at line 314 of file lscartesiansolver.h.

Member Data Documentation

◆ m_adaptationLevel

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_adaptationLevel

Definition at line 914 of file lscartesiansolver.h.

◆ m_adaptationSinceLastRestart

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_adaptationSinceLastRestart = false

Definition at line 917 of file lscartesiansolver.h.

◆ m_approxNoInterpReg

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_approxNoInterpReg = 0

Definition at line 1126 of file lscartesiansolver.h.

◆ m_arcLength

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_arcLength

Definition at line 1076 of file lscartesiansolver.h.

◆ m_bandBndryCells

template<MInt nDim_>
std::vector<MInt>* LsCartesianSolver< nDim_ >::m_bandBndryCells = nullptr

Definition at line 1003 of file lscartesiansolver.h.

◆ m_bandCells

template<MInt nDim_>
std::vector<MInt>* LsCartesianSolver< nDim_ >::m_bandCells = nullptr

Definition at line 999 of file lscartesiansolver.h.

◆ m_bandLayer

template<MInt nDim_>
MInt* LsCartesianSolver< nDim_ >::m_bandLayer = nullptr

Definition at line 1001 of file lscartesiansolver.h.

◆ m_bodiesToCompute

template<MInt nDim_>
std::vector<MInt> LsCartesianSolver< nDim_ >::m_bodiesToCompute

Definition at line 893 of file lscartesiansolver.h.

◆ m_bodyAngularAcceleration

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_bodyAngularAcceleration = nullptr

Definition at line 897 of file lscartesiansolver.h.

◆ m_bodyAngularVelocity

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_bodyAngularVelocity = nullptr

Definition at line 896 of file lscartesiansolver.h.

◆ m_bodyBndryCndIds

template<MInt nDim_>
MInt* LsCartesianSolver< nDim_ >::m_bodyBndryCndIds = nullptr

Definition at line 943 of file lscartesiansolver.h.

◆ m_bodyIdOutput

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_bodyIdOutput

Definition at line 1086 of file lscartesiansolver.h.

◆ m_bodyRadius

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_bodyRadius = nullptr

Definition at line 899 of file lscartesiansolver.h.

◆ m_bodyToSetTable

template<MInt nDim_>
MInt* LsCartesianSolver< nDim_ >::m_bodyToSetTable = nullptr

Definition at line 940 of file lscartesiansolver.h.

◆ m_buildCollectedLevelSetFunction

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_buildCollectedLevelSetFunction

Definition at line 928 of file lscartesiansolver.h.

◆ m_cellDomIds

template<MInt nDim_>
MInt* LsCartesianSolver< nDim_ >::m_cellDomIds = nullptr

Definition at line 895 of file lscartesiansolver.h.

◆ m_cellIsInDiffRegion

template<MInt nDim_>
MInt* LsCartesianSolver< nDim_ >::m_cellIsInDiffRegion = nullptr

Definition at line 1124 of file lscartesiansolver.h.

◆ m_cellList

template<MInt nDim_>
MInt* LsCartesianSolver< nDim_ >::m_cellList = nullptr

Definition at line 998 of file lscartesiansolver.h.

◆ m_cells

template<MInt nDim_>
GCellCollector LsCartesianSolver< nDim_ >::m_cells

Definition at line 328 of file lscartesiansolver.h.

◆ m_cfl

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_cfl

Definition at line 1096 of file lscartesiansolver.h.

◆ m_changedSet

template<MInt nDim_>
MBool* LsCartesianSolver< nDim_ >::m_changedSet = nullptr

Definition at line 935 of file lscartesiansolver.h.

◆ m_checkNormal

template<MInt nDim_>
CHECKNORMAL<nDim>* LsCartesianSolver< nDim_ >::m_checkNormal

Definition at line 408 of file lscartesiansolver.h.

◆ m_closeGaps

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_closeGaps = false

Definition at line 1108 of file lscartesiansolver.h.

◆ m_combustion

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_combustion

Definition at line 1037 of file lscartesiansolver.h.

◆ m_computeExtVel

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_computeExtVel {}

Definition at line 963 of file lscartesiansolver.h.

◆ m_computeSet

template<MInt nDim_>
MBool* LsCartesianSolver< nDim_ >::m_computeSet = nullptr

Definition at line 932 of file lscartesiansolver.h.

◆ m_computeSet_backup

template<MInt nDim_>
MBool* LsCartesianSolver< nDim_ >::m_computeSet_backup = nullptr

Definition at line 934 of file lscartesiansolver.h.

◆ m_computeSet_tmp

template<MInt nDim_>
MBool* LsCartesianSolver< nDim_ >::m_computeSet_tmp = nullptr

Definition at line 933 of file lscartesiansolver.h.

◆ m_constructGField

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_constructGField {}

Definition at line 1031 of file lscartesiansolver.h.

◆ m_correctedDistances

template<MInt nDim_>
MFloat** LsCartesianSolver< nDim_ >::m_correctedDistances = nullptr

Definition at line 1123 of file lscartesiansolver.h.

◆ m_correction

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_correction = nullptr

Definition at line 1015 of file lscartesiansolver.h.

◆ m_currentFileName

template<MInt nDim_>
MString LsCartesianSolver< nDim_ >::m_currentFileName = ""

Definition at line 1085 of file lscartesiansolver.h.

◆ m_currentGridFileName

template<MInt nDim_>
MString LsCartesianSolver< nDim_ >::m_currentGridFileName

Definition at line 1084 of file lscartesiansolver.h.

◆ m_curvatureDamp

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_curvatureDamp

Definition at line 948 of file lscartesiansolver.h.

◆ m_curvatureDampFactor

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_curvatureDampFactor

Definition at line 949 of file lscartesiansolver.h.

◆ m_d

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_d = nullptr

Definition at line 1016 of file lscartesiansolver.h.

◆ m_dampingDistanceFlameBase

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_dampingDistanceFlameBase

Definition at line 1065 of file lscartesiansolver.h.

◆ m_dampingDistanceFlameBaseExtVel

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_dampingDistanceFlameBaseExtVel

Definition at line 1066 of file lscartesiansolver.h.

◆ m_determineG0CellsMode

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_determineG0CellsMode

Definition at line 929 of file lscartesiansolver.h.

◆ m_engineSetup

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_engineSetup = false

Definition at line 1130 of file lscartesiansolver.h.

◆ m_extVelCFL

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_extVelCFL

Definition at line 967 of file lscartesiansolver.h.

◆ m_extVelConvergence

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_extVelConvergence

Definition at line 966 of file lscartesiansolver.h.

◆ m_extVelIterations

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_extVelIterations

Definition at line 965 of file lscartesiansolver.h.

◆ m_FgCellDistance

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_FgCellDistance

Definition at line 962 of file lscartesiansolver.h.

◆ m_filterFlameTubeEdges

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_filterFlameTubeEdges

Definition at line 1071 of file lscartesiansolver.h.

◆ m_filterFlameTubeEdgesDistance

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_filterFlameTubeEdgesDistance

Definition at line 1072 of file lscartesiansolver.h.

◆ m_firstSolutionExchange

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_firstSolutionExchange = false
private

Definition at line 1183 of file lscartesiansolver.h.

◆ m_flameRadiusOffset

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_flameRadiusOffset

Definition at line 1063 of file lscartesiansolver.h.

◆ m_flameSpeed

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_flameSpeed {}

Definition at line 1074 of file lscartesiansolver.h.

◆ m_forceAdaptation

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_forceAdaptation = false

Definition at line 915 of file lscartesiansolver.h.

◆ m_forcedMotionInput

template<MInt nDim_>
std::set<std::pair<MFloat, MFloat> >* LsCartesianSolver< nDim_ >::m_forcedMotionInput = nullptr
private

Definition at line 1156 of file lscartesiansolver.h.

◆ m_forceNoGaps

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_forceNoGaps

Definition at line 1109 of file lscartesiansolver.h.

◆ m_forcing

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_forcing

Definition at line 1060 of file lscartesiansolver.h.

◆ m_fourthOrderNormalCurvatureComputation

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_fourthOrderNormalCurvatureComputation

Definition at line 947 of file lscartesiansolver.h.

◆ m_freeSurface

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_freeSurface

Definition at line 1038 of file lscartesiansolver.h.

◆ m_G0Cells

template<MInt nDim_>
std::vector<MInt>* LsCartesianSolver< nDim_ >::m_G0Cells = nullptr

Definition at line 1004 of file lscartesiansolver.h.

◆ m_G0regionId

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_G0regionId = -1

Definition at line 1132 of file lscartesiansolver.h.

◆ m_gapAngleClose

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_gapAngleClose = nullptr

Definition at line 1117 of file lscartesiansolver.h.

◆ m_gapAngleOpen

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_gapAngleOpen = nullptr

Definition at line 1118 of file lscartesiansolver.h.

◆ m_gapDeltaMin

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_gapDeltaMin = 1

Definition at line 1115 of file lscartesiansolver.h.

◆ m_gapDeltaMinOrig

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_gapDeltaMinOrig = 1

Definition at line 1116 of file lscartesiansolver.h.

◆ m_gapInitMethod

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_gapInitMethod

Definition at line 1110 of file lscartesiansolver.h.

◆ m_gapReinitMethod

template<MInt nDim_>
MString LsCartesianSolver< nDim_ >::m_gapReinitMethod

Definition at line 1114 of file lscartesiansolver.h.

◆ m_gapSign

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_gapSign = nullptr

Definition at line 1119 of file lscartesiansolver.h.

◆ m_gBandWidth

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_gBandWidth

Definition at line 955 of file lscartesiansolver.h.

◆ m_gBndryCells

template<MInt nDim_>
std::vector<MInt>* LsCartesianSolver< nDim_ >::m_gBndryCells = nullptr

Definition at line 1005 of file lscartesiansolver.h.

◆ m_gCellDistance

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_gCellDistance

Definition at line 961 of file lscartesiansolver.h.

◆ m_gCellLevelJump

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_gCellLevelJump = false

Definition at line 960 of file lscartesiansolver.h.

◆ m_gCtrlPnt

template<MInt nDim_>
LsControlPoint<nDim> LsCartesianSolver< nDim_ >::m_gCtrlPnt

Definition at line 876 of file lscartesiansolver.h.

◆ m_GCtrlPntMethod

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_GCtrlPntMethod

Definition at line 1012 of file lscartesiansolver.h.

◆ m_geometry

template<MInt nDim_>
Geom* LsCartesianSolver< nDim_ >::m_geometry

Definition at line 358 of file lscartesiansolver.h.

◆ m_geometryChange

template<MInt nDim_>
MBool* LsCartesianSolver< nDim_ >::m_geometryChange = nullptr

Definition at line 921 of file lscartesiansolver.h.

◆ m_GFieldFromSTLInitCheck

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_GFieldFromSTLInitCheck

Definition at line 937 of file lscartesiansolver.h.

◆ m_GFieldInitFromSTL

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_GFieldInitFromSTL

Definition at line 936 of file lscartesiansolver.h.

◆ m_gInnerBound

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_gInnerBound

Definition at line 958 of file lscartesiansolver.h.

◆ m_globalRcvOffsets

template<MInt nDim_>
MInt* LsCartesianSolver< nDim_ >::m_globalRcvOffsets = nullptr

Definition at line 889 of file lscartesiansolver.h.

◆ m_globalSndOffsets

template<MInt nDim_>
MInt* LsCartesianSolver< nDim_ >::m_globalSndOffsets = nullptr

Definition at line 888 of file lscartesiansolver.h.

◆ m_gReceiveBuffers

template<MInt nDim_>
MFloat** LsCartesianSolver< nDim_ >::m_gReceiveBuffers = nullptr

Definition at line 1022 of file lscartesiansolver.h.

◆ m_gReinitIterations

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_gReinitIterations

Definition at line 969 of file lscartesiansolver.h.

◆ m_gRKalpha

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_gRKalpha = nullptr

Definition at line 1008 of file lscartesiansolver.h.

◆ m_gRKMethod

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_gRKMethod

Definition at line 953 of file lscartesiansolver.h.

◆ m_gRKStep

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_gRKStep

Definition at line 1006 of file lscartesiansolver.h.

◆ m_gSendBuffers

template<MInt nDim_>
MFloat** LsCartesianSolver< nDim_ >::m_gSendBuffers = nullptr

Definition at line 1021 of file lscartesiansolver.h.

◆ m_gShadowWidth

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_gShadowWidth

Definition at line 956 of file lscartesiansolver.h.

◆ m_gShadowWidthRans

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_gShadowWidthRans

Definition at line 957 of file lscartesiansolver.h.

◆ m_guaranteeReinit

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_guaranteeReinit

Definition at line 972 of file lscartesiansolver.h.

◆ m_GWithReConstruction

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_GWithReConstruction

Definition at line 939 of file lscartesiansolver.h.

◆ m_highOrderDeltaFunction

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_highOrderDeltaFunction

Definition at line 946 of file lscartesiansolver.h.

◆ m_hyperbolicCurvature

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_hyperbolicCurvature

Definition at line 952 of file lscartesiansolver.h.

◆ m_hypTanLSF

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_hypTanLSF = nullptr

Definition at line 1024 of file lscartesiansolver.h.

◆ m_hypTanLSFRHS

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_hypTanLSFRHS = nullptr

Definition at line 1081 of file lscartesiansolver.h.

◆ m_initGFieldFromSTLBndCndIds

template<MInt nDim_>
MInt* LsCartesianSolver< nDim_ >::m_initGFieldFromSTLBndCndIds {}

Definition at line 945 of file lscartesiansolver.h.

◆ m_initialCondition

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_initialCondition

Definition at line 1089 of file lscartesiansolver.h.

◆ m_initialFlameHeight

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_initialFlameHeight

Definition at line 1070 of file lscartesiansolver.h.

◆ m_initialGCell

template<MInt nDim_>
MInt* LsCartesianSolver< nDim_ >::m_initialGCell = nullptr

Definition at line 890 of file lscartesiansolver.h.

◆ m_initialRefinement

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_initialRefinement = false

Definition at line 916 of file lscartesiansolver.h.

◆ m_intermediateReinitIterations

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_intermediateReinitIterations

Definition at line 974 of file lscartesiansolver.h.

◆ m_internalBandCells

template<MInt nDim_>
std::vector<MInt>* LsCartesianSolver< nDim_ >::m_internalBandCells = nullptr

Definition at line 1000 of file lscartesiansolver.h.

◆ m_internalBandLayer

template<MInt nDim_>
MInt* LsCartesianSolver< nDim_ >::m_internalBandLayer = nullptr

Definition at line 1002 of file lscartesiansolver.h.

◆ m_interpolateFlowFieldToFlameFront

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_interpolateFlowFieldToFlameFront

Definition at line 988 of file lscartesiansolver.h.

◆ m_interpStartTime

template<MInt nDim_>
MInt* LsCartesianSolver< nDim_ >::m_interpStartTime = nullptr

Definition at line 1127 of file lscartesiansolver.h.

◆ m_intReceiveBuffers

template<MInt nDim_>
MInt** LsCartesianSolver< nDim_ >::m_intReceiveBuffers = nullptr

Definition at line 1020 of file lscartesiansolver.h.

◆ m_intSendBuffers

template<MInt nDim_>
MInt** LsCartesianSolver< nDim_ >::m_intSendBuffers = nullptr

Definition at line 1019 of file lscartesiansolver.h.

◆ m_jetHalfLength

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_jetHalfLength

Definition at line 1069 of file lscartesiansolver.h.

◆ m_jetHalfWidth

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_jetHalfWidth

Definition at line 1068 of file lscartesiansolver.h.

◆ m_levelSetBC

template<MInt nDim_>
MString LsCartesianSolver< nDim_ >::m_levelSetBC

Definition at line 983 of file lscartesiansolver.h.

◆ m_levelSetBoundaryCondition

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_levelSetBoundaryCondition

Definition at line 982 of file lscartesiansolver.h.

◆ m_levelSetDiscretizationScheme

template<MInt nDim_>
MString LsCartesianSolver< nDim_ >::m_levelSetDiscretizationScheme

Definition at line 954 of file lscartesiansolver.h.

◆ m_levelSetFv

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_levelSetFv

Definition at line 1040 of file lscartesiansolver.h.

◆ m_levelSetLb

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_levelSetLb

Definition at line 1036 of file lscartesiansolver.h.

◆ m_levelSetMb

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_levelSetMb

Definition at line 1034 of file lscartesiansolver.h.

◆ m_levelSetRans

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_levelSetRans

Definition at line 1035 of file lscartesiansolver.h.

◆ m_levelSetSign

template<MInt nDim_>
MInt* LsCartesianSolver< nDim_ >::m_levelSetSign = nullptr

Definition at line 931 of file lscartesiansolver.h.

◆ m_levelSetTestCase

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_levelSetTestCase

Definition at line 981 of file lscartesiansolver.h.

◆ m_limitWeights

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_limitWeights = false
private

Definition at line 1180 of file lscartesiansolver.h.

◆ m_loadBalancingReinitStage

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_loadBalancingReinitStage

Definition at line 1092 of file lscartesiansolver.h.

◆ m_localMarksteinLength

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_localMarksteinLength = nullptr

Definition at line 1058 of file lscartesiansolver.h.

◆ m_lsCollectorMode

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_lsCollectorMode = -1

Definition at line 880 of file lscartesiansolver.h.

◆ m_LsRotate

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_LsRotate = false

Definition at line 883 of file lscartesiansolver.h.

◆ m_LSSolver

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_LSSolver

Definition at line 1039 of file lscartesiansolver.h.

◆ m_maintainOuterBandLayers

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_maintainOuterBandLayers

Definition at line 986 of file lscartesiansolver.h.

◆ m_maintenanceIterations

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_maintenanceIterations

Definition at line 971 of file lscartesiansolver.h.

◆ m_marksteinLength

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_marksteinLength

Definition at line 1056 of file lscartesiansolver.h.

◆ m_marksteinLengthPercentage

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_marksteinLengthPercentage

Definition at line 1057 of file lscartesiansolver.h.

◆ m_massConsumption

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_massConsumption

Definition at line 1075 of file lscartesiansolver.h.

◆ m_maxFlameFrontPosition

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_maxFlameFrontPosition = nullptr

Definition at line 1045 of file lscartesiansolver.h.

◆ m_maxGCellLevel

template<MInt nDim_>
MInt* LsCartesianSolver< nDim_ >::m_maxGCellLevel = nullptr
private

Definition at line 1135 of file lscartesiansolver.h.

◆ m_maxLevelChange

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_maxLevelChange = false

Definition at line 1087 of file lscartesiansolver.h.

◆ m_maxNoCells

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_maxNoCells

Definition at line 924 of file lscartesiansolver.h.

◆ m_meanCoord

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_meanCoord[3] {}

Definition at line 908 of file lscartesiansolver.h.

◆ m_meanFlameFrontPosition

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_meanFlameFrontPosition = nullptr

Definition at line 1047 of file lscartesiansolver.h.

◆ m_minFlameFrontPosition

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_minFlameFrontPosition = nullptr

Definition at line 1046 of file lscartesiansolver.h.

◆ m_minGapWidth

template<MInt nDim_>
std::vector<MFloat> LsCartesianSolver< nDim_ >::m_minGapWidth

Definition at line 1112 of file lscartesiansolver.h.

◆ m_minGapWidthDt1

template<MInt nDim_>
std::vector<MFloat> LsCartesianSolver< nDim_ >::m_minGapWidthDt1

Definition at line 1113 of file lscartesiansolver.h.

◆ m_minReinitializationSteps

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_minReinitializationSteps

Definition at line 970 of file lscartesiansolver.h.

◆ m_newCells

template<MInt nDim_>
std::vector<MInt> LsCartesianSolver< nDim_ >::m_newCells

Definition at line 891 of file lscartesiansolver.h.

◆ m_newRefinedBand

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_newRefinedBand = false

Definition at line 913 of file lscartesiansolver.h.

◆ m_noBodiesInSet

template<MInt nDim_>
MInt* LsCartesianSolver< nDim_ >::m_noBodiesInSet = nullptr

Definition at line 941 of file lscartesiansolver.h.

◆ m_noBodiesToCompute

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_noBodiesToCompute

Definition at line 894 of file lscartesiansolver.h.

◆ m_noBodyBndryCndIds

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_noBodyBndryCndIds

Definition at line 930 of file lscartesiansolver.h.

◆ m_noCorners

template<MInt nDim_>
constexpr const MInt LsCartesianSolver< nDim_ >::m_noCorners = (nDim == 2) ? 4 : 8
staticconstexpr

Definition at line 348 of file lscartesiansolver.h.

◆ m_noDirs

template<MInt nDim_>
constexpr const MInt LsCartesianSolver< nDim_ >::m_noDirs = 2 * nDim
staticconstexpr

Definition at line 431 of file lscartesiansolver.h.

◆ m_noEmbeddedBodies

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_noEmbeddedBodies

Definition at line 1042 of file lscartesiansolver.h.

◆ m_noGapCells

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_noGapCells

Definition at line 1106 of file lscartesiansolver.h.

◆ m_noGapRegions

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_noGapRegions = -1

Definition at line 1111 of file lscartesiansolver.h.

◆ m_nogRKSteps

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_nogRKSteps

Definition at line 1007 of file lscartesiansolver.h.

◆ m_noHaloLayers

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_noHaloLayers

Definition at line 984 of file lscartesiansolver.h.

◆ m_noInitGFieldFromSTLBndCndIds

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_noInitGFieldFromSTLBndCndIds {}

Definition at line 944 of file lscartesiansolver.h.

◆ m_noInterpolationRegions

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_noInterpolationRegions = 0

Definition at line 1125 of file lscartesiansolver.h.

◆ m_noInterpTimeSteps

template<MInt nDim_>
MInt* LsCartesianSolver< nDim_ >::m_noInterpTimeSteps = nullptr

Definition at line 1128 of file lscartesiansolver.h.

◆ m_noOldGapCells

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_noOldGapCells

Definition at line 1107 of file lscartesiansolver.h.

◆ m_noReactionCells

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_noReactionCells

Definition at line 1067 of file lscartesiansolver.h.

◆ m_noSets

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_noSets

Definition at line 925 of file lscartesiansolver.h.

◆ m_oldG0Cells

template<MInt nDim_>
std::map<MInt, MInt> LsCartesianSolver< nDim_ >::m_oldG0Cells

Definition at line 920 of file lscartesiansolver.h.

◆ m_oldHypTanLSF

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_oldHypTanLSF = nullptr

Definition at line 1080 of file lscartesiansolver.h.

◆ m_omega

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_omega = nullptr

Definition at line 898 of file lscartesiansolver.h.

◆ m_omegaReinit

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_omegaReinit

Definition at line 979 of file lscartesiansolver.h.

◆ m_outerBandWidth

template<MInt nDim_>
MInt* LsCartesianSolver< nDim_ >::m_outerBandWidth = nullptr

Definition at line 995 of file lscartesiansolver.h.

◆ m_outsideGValue

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_outsideGValue

Definition at line 1009 of file lscartesiansolver.h.

◆ m_periodicDirection

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_periodicDirection

Definition at line 905 of file lscartesiansolver.h.

◆ m_periodicDistance

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_periodicDistance

Definition at line 906 of file lscartesiansolver.h.

◆ m_periodicMovement

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_periodicMovement

Definition at line 904 of file lscartesiansolver.h.

◆ m_phiRatio

template<MInt nDim_>
MFloat** LsCartesianSolver< nDim_ >::m_phiRatio = nullptr

Definition at line 1014 of file lscartesiansolver.h.

◆ m_phiRatioCells

template<MInt nDim_>
MInt** LsCartesianSolver< nDim_ >::m_phiRatioCells = nullptr

Definition at line 1011 of file lscartesiansolver.h.

◆ m_plenum

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_plenum

Definition at line 1077 of file lscartesiansolver.h.

◆ m_radiusFlameTube

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_radiusFlameTube

Definition at line 1052 of file lscartesiansolver.h.

◆ m_radiusFlameTube2

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_radiusFlameTube2

Definition at line 1053 of file lscartesiansolver.h.

◆ m_realRadiusFlameTube

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_realRadiusFlameTube

Definition at line 1059 of file lscartesiansolver.h.

◆ m_reconstructBand

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_reconstructBand = 0

Definition at line 912 of file lscartesiansolver.h.

◆ m_reconstructOldG

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_reconstructOldG = true

Definition at line 884 of file lscartesiansolver.h.

◆ m_referenceLength

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_referenceLength

Definition at line 901 of file lscartesiansolver.h.

◆ m_referenceVelocity

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_referenceVelocity

Definition at line 902 of file lscartesiansolver.h.

◆ m_refinedCells

template<MInt nDim_>
std::map<MInt, MInt> LsCartesianSolver< nDim_ >::m_refinedCells

Definition at line 911 of file lscartesiansolver.h.

◆ m_refineDiagonals

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_refineDiagonals = false

Definition at line 918 of file lscartesiansolver.h.

◆ m_reinitCFL

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_reinitCFL

Definition at line 973 of file lscartesiansolver.h.

◆ m_reinitConvergence

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_reinitConvergence

Definition at line 975 of file lscartesiansolver.h.

◆ m_reinitConvergenceReset

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_reinitConvergenceReset

Definition at line 976 of file lscartesiansolver.h.

◆ m_reinitInterval

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_reinitInterval

Definition at line 985 of file lscartesiansolver.h.

◆ m_reinitMethod

template<MInt nDim_>
MString LsCartesianSolver< nDim_ >::m_reinitMethod

Definition at line 968 of file lscartesiansolver.h.

◆ m_reinitThreshold

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_reinitThreshold

Definition at line 977 of file lscartesiansolver.h.

◆ m_reinitThresholdAvg

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_reinitThresholdAvg

Definition at line 978 of file lscartesiansolver.h.

◆ m_relaxationFactor

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_relaxationFactor

Definition at line 980 of file lscartesiansolver.h.

◆ m_rhoFlameTube

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_rhoFlameTube

Definition at line 1078 of file lscartesiansolver.h.

◆ m_rhoInfinity

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_rhoInfinity

Definition at line 1079 of file lscartesiansolver.h.

◆ m_rotatingReinitTrigger

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_rotatingReinitTrigger = 0

Definition at line 885 of file lscartesiansolver.h.

◆ m_semiLagrange

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_semiLagrange

Definition at line 874 of file lscartesiansolver.h.

◆ m_semiLagrange_xRot_ref

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_semiLagrange_xRot_ref = nullptr

Definition at line 886 of file lscartesiansolver.h.

◆ m_semiLagrange_xRot_STL

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_semiLagrange_xRot_STL = nullptr

Definition at line 887 of file lscartesiansolver.h.

◆ m_semiLagrange_xShift_ref

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_semiLagrange_xShift_ref = nullptr

Definition at line 875 of file lscartesiansolver.h.

◆ m_setToBodiesTable

template<MInt nDim_>
MInt** LsCartesianSolver< nDim_ >::m_setToBodiesTable = nullptr

Definition at line 942 of file lscartesiansolver.h.

◆ m_sharpDamp

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_sharpDamp

Definition at line 951 of file lscartesiansolver.h.

◆ m_signG

template<MInt nDim_>
MFloat* LsCartesianSolver< nDim_ >::m_signG = nullptr

Definition at line 1013 of file lscartesiansolver.h.

◆ m_smoothExtVel

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_smoothExtVel

Definition at line 964 of file lscartesiansolver.h.

◆ m_sphereRadiusLimit

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_sphereRadiusLimit = 5.0

Definition at line 1122 of file lscartesiansolver.h.

◆ m_startSet

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_startSet

Definition at line 926 of file lscartesiansolver.h.

◆ m_static_computeBodyProperties_amplitude

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_computeBodyProperties_amplitude[s_maxNoEmbeddedBodies] {}
private

Definition at line 1139 of file lscartesiansolver.h.

◆ m_static_computeBodyProperties_bodyToFunction

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_static_computeBodyProperties_bodyToFunction[s_maxNoEmbeddedBodies] {}
private

Definition at line 1151 of file lscartesiansolver.h.

◆ m_static_computeBodyProperties_circleStartAngle

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_computeBodyProperties_circleStartAngle[s_maxNoEmbeddedBodies] {}
private

Definition at line 1149 of file lscartesiansolver.h.

◆ m_static_computeBodyProperties_first

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_static_computeBodyProperties_first = true
private

Definition at line 1138 of file lscartesiansolver.h.

◆ m_static_computeBodyProperties_freqFactor

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_computeBodyProperties_freqFactor[s_maxNoEmbeddedBodies] {}
private

Definition at line 1140 of file lscartesiansolver.h.

◆ m_static_computeBodyProperties_initialBodyCenter

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_computeBodyProperties_initialBodyCenter[s_maxNoEmbeddedBodies *3] {}
private

Definition at line 1141 of file lscartesiansolver.h.

◆ m_static_computeBodyProperties_liftEndAngle1

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_computeBodyProperties_liftEndAngle1[s_maxNoEmbeddedBodies] {}
private

Definition at line 1146 of file lscartesiansolver.h.

◆ m_static_computeBodyProperties_liftEndAngle2

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_computeBodyProperties_liftEndAngle2[s_maxNoEmbeddedBodies] {}
private

Definition at line 1148 of file lscartesiansolver.h.

◆ m_static_computeBodyProperties_liftStartAngle1

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_computeBodyProperties_liftStartAngle1[s_maxNoEmbeddedBodies] {}
private

Definition at line 1145 of file lscartesiansolver.h.

◆ m_static_computeBodyProperties_liftStartAngle2

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_computeBodyProperties_liftStartAngle2[s_maxNoEmbeddedBodies] {}
private

Definition at line 1147 of file lscartesiansolver.h.

◆ m_static_computeBodyProperties_mu

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_computeBodyProperties_mu[s_maxNoEmbeddedBodies] {}
private

Definition at line 1143 of file lscartesiansolver.h.

◆ m_static_computeBodyProperties_mu2

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_computeBodyProperties_mu2[s_maxNoEmbeddedBodies] {}
private

Definition at line 1144 of file lscartesiansolver.h.

◆ m_static_computeBodyProperties_normal

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_computeBodyProperties_normal[s_maxNoEmbeddedBodies *3] {}
private

Definition at line 1150 of file lscartesiansolver.h.

◆ m_static_computeBodyProperties_omega

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_computeBodyProperties_omega {}
private

Definition at line 1152 of file lscartesiansolver.h.

◆ m_static_computeBodyProperties_rotAngle

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_computeBodyProperties_rotAngle {}
private

Definition at line 1153 of file lscartesiansolver.h.

◆ m_static_computeBodyProperties_Strouhal

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_computeBodyProperties_Strouhal {}
private

Definition at line 1142 of file lscartesiansolver.h.

◆ m_static_computeBodyProperties_temperature

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_computeBodyProperties_temperature[s_maxNoEmbeddedBodies] {}
private

Definition at line 1154 of file lscartesiansolver.h.

◆ m_static_crankAngle_initialCad

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_crankAngle_initialCad = -99
private

Definition at line 1174 of file lscartesiansolver.h.

◆ m_static_crankAngle_Strouhal

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_crankAngle_Strouhal = -99
private

Definition at line 1173 of file lscartesiansolver.h.

◆ m_static_createBaseGgrid_firstRun

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_static_createBaseGgrid_firstRun = true
protected

Definition at line 299 of file lscartesiansolver.h.

◆ m_static_identifyBodies_first

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_static_identifyBodies_first = true

Definition at line 1101 of file lscartesiansolver.h.

◆ m_static_identifyBodies_initialInsidePoints

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_identifyBodies_initialInsidePoints[s_maxNoEmbeddedBodies *3]

Definition at line 1102 of file lscartesiansolver.h.

◆ m_static_identifyBodies_shiftTime

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_identifyBodies_shiftTime

Definition at line 1103 of file lscartesiansolver.h.

◆ m_static_semiLagrangeTimeStep_firstTime

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_static_semiLagrangeTimeStep_firstTime = true

Definition at line 877 of file lscartesiansolver.h.

◆ m_static_setUpPotentialGapCells_bodyClose

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_static_setUpPotentialGapCells_bodyClose[s_maxNoEmbeddedBodies]
private

Definition at line 1168 of file lscartesiansolver.h.

◆ m_static_setUpPotentialGapCells_center

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_setUpPotentialGapCells_center[s_maxNoEmbeddedBodies *3]
private

Definition at line 1161 of file lscartesiansolver.h.

◆ m_static_setUpPotentialGapCells_centerClose

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_setUpPotentialGapCells_centerClose[s_maxNoEmbeddedBodies *3]
private

Definition at line 1165 of file lscartesiansolver.h.

◆ m_static_setUpPotentialGapCells_first

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_static_setUpPotentialGapCells_first = true
private

Definition at line 1159 of file lscartesiansolver.h.

◆ m_static_setUpPotentialGapCells_height

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_setUpPotentialGapCells_height[s_maxNoEmbeddedBodies]
private

Definition at line 1163 of file lscartesiansolver.h.

◆ m_static_setUpPotentialGapCells_heightClose

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_setUpPotentialGapCells_heightClose[s_maxNoEmbeddedBodies]
private

Definition at line 1167 of file lscartesiansolver.h.

◆ m_static_setUpPotentialGapCells_noGapRegionsClose

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_static_setUpPotentialGapCells_noGapRegionsClose = 1
private

Definition at line 1169 of file lscartesiansolver.h.

◆ m_static_setUpPotentialGapCells_normal

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_setUpPotentialGapCells_normal[s_maxNoEmbeddedBodies *3]
private

Definition at line 1160 of file lscartesiansolver.h.

◆ m_static_setUpPotentialGapCells_normalClose

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_setUpPotentialGapCells_normalClose[s_maxNoEmbeddedBodies *3]
private

Definition at line 1164 of file lscartesiansolver.h.

◆ m_static_setUpPotentialGapCells_radius

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_setUpPotentialGapCells_radius[s_maxNoEmbeddedBodies]
private

Definition at line 1162 of file lscartesiansolver.h.

◆ m_static_setUpPotentialGapCells_radiusClose

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_static_setUpPotentialGapCells_radiusClose[s_maxNoEmbeddedBodies]
private

Definition at line 1166 of file lscartesiansolver.h.

◆ m_steadyFlameAngle

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_steadyFlameAngle

Definition at line 1048 of file lscartesiansolver.h.

◆ m_steadyFlameLength

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_steadyFlameLength

Definition at line 1049 of file lscartesiansolver.h.

◆ m_STLReinitMode

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_STLReinitMode

Definition at line 938 of file lscartesiansolver.h.

◆ m_swapIds

template<MInt nDim_>
std::map<MInt, MInt> LsCartesianSolver< nDim_ >::m_swapIds

Definition at line 892 of file lscartesiansolver.h.

◆ m_time

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_time = NAN

Definition at line 1097 of file lscartesiansolver.h.

◆ m_timerGroup

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_timerGroup = -1
private

Definition at line 309 of file lscartesiansolver.h.

◆ m_timers

template<MInt nDim_>
std::array<MInt, Timers::_count> LsCartesianSolver< nDim_ >::m_timers {}
private

Definition at line 311 of file lscartesiansolver.h.

◆ m_timeStep

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_timeStep = NAN

Definition at line 1098 of file lscartesiansolver.h.

◆ m_timeStepMethod

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_timeStepMethod

Definition at line 1095 of file lscartesiansolver.h.

◆ m_trackMbEnd

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_trackMbEnd {}

Definition at line 1030 of file lscartesiansolver.h.

◆ m_trackMbStart

template<MInt nDim_>
MInt LsCartesianSolver< nDim_ >::m_trackMbStart {}

Definition at line 1029 of file lscartesiansolver.h.

◆ m_trackMovingBndry

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_trackMovingBndry {}

Definition at line 1028 of file lscartesiansolver.h.

◆ m_twoFlames

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_twoFlames

Definition at line 1064 of file lscartesiansolver.h.

◆ m_useCorrectedBurningVelocity

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_useCorrectedBurningVelocity

Definition at line 1073 of file lscartesiansolver.h.

◆ m_useLocalMarksteinLength

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_useLocalMarksteinLength

Definition at line 950 of file lscartesiansolver.h.

◆ m_virtualSurgery

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_virtualSurgery = false

Definition at line 1121 of file lscartesiansolver.h.

◆ m_weightBandCell

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_weightBandCell = 1.0
private

Definition at line 1178 of file lscartesiansolver.h.

◆ m_weightBaseCell

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_weightBaseCell = 1.0
private

Definition at line 1176 of file lscartesiansolver.h.

◆ m_weightLeafCell

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_weightLeafCell = 1.0
private

Definition at line 1177 of file lscartesiansolver.h.

◆ m_weightLevelSet

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_weightLevelSet = true
private

Definition at line 1181 of file lscartesiansolver.h.

◆ m_weightMulitSolverFactor

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_weightMulitSolverFactor = 1.0
private

Definition at line 1179 of file lscartesiansolver.h.

◆ m_writeOutAllCorrectedBurningVelocity

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_writeOutAllCorrectedBurningVelocity

Definition at line 992 of file lscartesiansolver.h.

◆ m_writeOutAllCurvatures

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_writeOutAllCurvatures

Definition at line 991 of file lscartesiansolver.h.

◆ m_writeOutAllExtensionVelocities

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_writeOutAllExtensionVelocities

Definition at line 990 of file lscartesiansolver.h.

◆ m_writeOutAllFlameSpeeds

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_writeOutAllFlameSpeeds

Definition at line 993 of file lscartesiansolver.h.

◆ m_writeOutAllLevelSetFunctions

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_writeOutAllLevelSetFunctions

Definition at line 989 of file lscartesiansolver.h.

◆ m_writeOutAllNormalVectors

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_writeOutAllNormalVectors

Definition at line 994 of file lscartesiansolver.h.

◆ m_writeReinitializationStatistics

template<MInt nDim_>
MBool LsCartesianSolver< nDim_ >::m_writeReinitializationStatistics

Definition at line 987 of file lscartesiansolver.h.

◆ m_xOffsetFlameTube

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_xOffsetFlameTube

Definition at line 1054 of file lscartesiansolver.h.

◆ m_xOffsetFlameTube2

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_xOffsetFlameTube2

Definition at line 1055 of file lscartesiansolver.h.

◆ m_yOffsetFlameTube

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_yOffsetFlameTube

Definition at line 1050 of file lscartesiansolver.h.

◆ m_yOffsetFlameTube2

template<MInt nDim_>
MFloat LsCartesianSolver< nDim_ >::m_yOffsetFlameTube2

Definition at line 1051 of file lscartesiansolver.h.

◆ mpi_recive

template<MInt nDim_>
MPI_Request* LsCartesianSolver< nDim_ >::mpi_recive = nullptr
private

Definition at line 304 of file lscartesiansolver.h.

◆ mpi_request

template<MInt nDim_>
MPI_Request* LsCartesianSolver< nDim_ >::mpi_request = nullptr
private

Definition at line 303 of file lscartesiansolver.h.

◆ nDim

template<MInt nDim_>
constexpr MInt LsCartesianSolver< nDim_ >::nDim = nDim_
staticconstexpr

Definition at line 314 of file lscartesiansolver.h.

◆ s_maxNoEmbeddedBodies

template<MInt nDim_>
constexpr MInt LsCartesianSolver< nDim_ >::s_maxNoEmbeddedBodies = 20
staticconstexpr

Definition at line 430 of file lscartesiansolver.h.


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