MAIA bb96820c
Multiphysics at AIA
|
2D structured solver class More...
#include <fvstructuredsolver2d.h>
Public Types | |
typedef void(FvStructuredSolver2D::* | fluxmethod) (MFloat *, MFloat *, MInt, MInt) |
Public Types inherited from FvStructuredSolver< 2 > | |
using | Timers = maia::structured::Timers_ |
Public Member Functions | |
FvStructuredSolver2D (MInt, StructuredGrid< 2 > *, MBool *, const MPI_Comm comm) | |
Constructor for the 2D structured solver. More... | |
~FvStructuredSolver2D () | |
virtual void | initialCondition () |
Computation of infinity values for the conservative and primitive variables Initialization ot the entire flow field. More... | |
virtual void | initSolutionStep (MInt mode) |
initalize the solution step More... | |
void | computeCellCentreCoordinates () |
void | addGhostPointCoordinateValues () |
void | extrapolateGhostPointCoordinatesBC () |
void | initMovingGrid () |
void | moveGrid (const MBool isRestart, const MBool zeroPos) override |
void | initFluxMethod () |
void | assignBndryCells () |
void | initBndryCnds () |
void | allocateSingularities () |
void | applyBoundaryCondition () |
void | loadRestartBC2600 () |
void | computePrimitiveVariables () override |
template<MFloat(FvStructuredSolver::*)(MInt) const = &FvStructuredSolver::dummy> | |
void | computePrimitiveVariables_ () |
void | convertSA2KEPS () |
void | gather (const MBool, std::vector< std::unique_ptr< StructuredComm< 2 > > > &) override |
void | scatter (const MBool, std::vector< std::unique_ptr< StructuredComm< 2 > > > &) override |
void | computeCellLength () |
virtual void | computeTimeStep () |
MBool | maxResidual () |
MBool | rungeKuttaStep () |
void | updateSpongeLayer () |
void | viscousFlux () |
void | viscousFluxRANS () |
template<MBool twoEqRans = false> | |
void | viscousFluxLES () |
template<MBool twoEqRans = false> | |
void | viscousFluxLESCompact () |
virtual void | computeFrictionPressureCoef (MBool computePower) override |
MInt | getPointIdFromCell (MInt i, MInt j) |
MInt | cellIndex (MInt i, MInt j) |
MInt | pointIndex (MInt i, MInt j) |
MInt | getPointIdFromPoint (MInt origin, MInt incI, MInt incJ) |
MInt | getCellIdFromCell (MInt origin, MInt incI, MInt incJ) |
MFloat | crossProduct (MFloat vec1[2], MFloat vec2[2]) |
MFloat | pressure (MInt cellId) |
MFloat | getPSI (MInt, MInt) |
void | Ausm () |
void | AusmLES (MFloat *QLeft, MFloat *QRight, const MInt dim, const MInt cellId) |
AUSM Central. More... | |
void | AusmLES_PTHRC (MFloat *QLeft, MFloat *QRight, MInt dim, MInt cellId) |
Same AUSM scheme as AusmLES with additional damping controlled by the 4th order pressure derivative. Pressure needs to computed beforehand. More... | |
void | AusmDV (MFloat *QLeft, MFloat *QRight, const MInt dim, const MInt cellId) |
void | AusmLES_MovingGrid (MFloatScratchSpace &QLeft, MFloatScratchSpace &QRight, MInt dim, MInt cellId) |
template<fluxmethod ausm, MInt noVars> | |
void | Muscl_ () |
template<fluxmethod ausm, MInt noVars> | |
void | MusclStretched_ () |
void | MusclRANS () |
void | Muscl (MInt timerId=-1) override |
void | MusclAlbada () |
void | MusclNoLimiter () |
void | computeReconstructionConstantsSVD () |
template<MBool twoEqRans = false> | |
void | viscousFluxCorrection () |
template<MBool twoEqRans = false> | |
void | viscousFluxCompactCorrection () |
virtual void | computePorousRHS (MBool) override |
void | computePorousRHSCorrection () |
void | exchange6002 () |
Public Member Functions inherited from FvStructuredSolver< 2 > | |
FvStructuredSolver (MInt solverId, StructuredGrid< nDim > *, MBool *propertiesGroups, const MPI_Comm comm) | |
Constructor of the structured solver. More... | |
MBool | isActive () const |
void | initializeFQField () |
Counts the number of necessary FQ fields, allocates them and corrects the indexes of the FQ variable pointers. More... | |
MInt | timer (const MInt timerId) const |
MInt | noSolverTimers (const MBool allTimings) override |
virtual void | writeHeaderAttributes (ParallelIoHdf5 *pio, MString fileType) |
Overloaded version of writeHeaderAttributes that receives ParallelIoHdf5 object pointer instead of 'fileId'. More... | |
virtual void | writePropertiesAsAttributes (ParallelIoHdf5 *pio, MString path) |
Overloaded version of writePropertiesAsAttributes that receives ParallelIoHdf5 object pointer instead of 'fileId'. More... | |
void | saveSolverSolution (MBool=false, const MBool=false) override |
void | saveSolution (MBool) |
Saves the soution to hdf5 file. More... | |
void | savePartitions () |
Saves the partitioned grid into an HDF5 file. Not used in production use but useful for debugging. More... | |
void | saveBoxes () |
virtual void | savePointsToAsciiFile (MBool) |
virtual void | initPointsToAsciiFile () |
virtual void | saveInterpolatedPoints () |
virtual void | saveNodalBoxes () |
virtual void | reIntAfterRestart (MBool) |
MBool | prepareRestart (MBool, MBool &) override |
Prepare the solvers for a grid-restart. More... | |
void | writeRestartFile (MBool) override |
void | writeRestartFile (const MBool, const MBool, const MString, MInt *) override |
void | shiftCellValuesRestart (MBool) |
void | loadRestartFile () |
Load Restart File (primitive and conservative output) general formulation. More... | |
MBool | loadBoxFile (MString, MString, MInt, MInt) |
Load Box file general formulation. More... | |
virtual void | loadRestartBC2600 () |
virtual void | loadRestartBC2601 () |
virtual void | loadRestartSTG (MBool) |
void | saveForcesToAsciiFile (MBool) |
Function to save the force coefficients and power to an ASCII file. More... | |
void | saveAveragedVariables (MString, MInt, MFloat **) |
Saves the averaged (mean) variables from postprocessing to an HDF5 file. More... | |
void | saveProductionTerms (MString, MFloat **) |
Writes the production terms into a given file. More... | |
void | saveDissipation (MString, MFloat *) |
Writes the dissipation into a given file. More... | |
void | saveGradients (MString, MFloat **, MString *) |
Writes the gradients into a given file. More... | |
void | saveAverageRestart (MString, MInt, MFloat **, MFloat **, MFloat **, MFloat **) |
Writes an restart file for postprocessing. More... | |
void | getSolverTimings (std::vector< std::pair< MString, MFloat > > &solverTimings, const MBool allTimings) override |
Get solver timings. More... | |
void | getDomainDecompositionInformation (std::vector< std::pair< MString, MInt > > &domainInfo) override |
Return decomposition information, i.e. number of local elements,... More... | |
virtual MFloat | getCellLengthY (MInt, MInt, MInt) |
virtual MFloat | getCellCoordinate (MInt, MInt) |
MInt | noInternalCells () const override |
Return the number of internal cells within this solver. More... | |
void | saveAuxData () |
void | saveForceCoefficient (ParallelIoHdf5 *parallelIoHdf5) |
Saves force coefficients to an HDF5 file. More... | |
void | computeAuxData () |
void | computeAuxDataRoot () |
virtual void | computeDomainWidth () |
void | computeForceCoef () |
Function to compute the force coefficient cl, split split into the viscous part cLv and the pressure part cLp. More... | |
void | computeForceCoefRoot () |
Function to compute the coefficient, split split into the viscous part cLv and the pressure part cLp The ROOT version is faster due to an MPI_Reduce instead of an MPI_Allreduce, but only root rank has data. More... | |
virtual void | computeFrictionPressureCoef (MBool)=0 |
virtual | ~FvStructuredSolver () |
MFloat | computeRecConstSVD (const MInt ijk, const MInt noNghbrIds, MInt *nghbr, MInt ID, MInt sID, MFloatScratchSpace &tmpA, MFloatScratchSpace &tmpC, MFloatScratchSpace &weights, const MInt recDim) |
AUX DATA ENDS /////////////////////////////////////////////////////////////. More... | |
void | initializeFvStructuredSolver (MBool *propertiesGroups) |
Structured Solver Constructor reads and allocate properties/variables. More... | |
void | allocateAndInitBlockMemory () |
void | allocateAuxDataMaps () |
AUX DATA //////////////////////////////////////////////////////////////////. More... | |
void | setRungeKuttaProperties () |
This function reads the properties required for Runge Kutta time stepping. More... | |
void | setSamplingProperties () |
void | setNumericalProperties () |
Reads and initializes properties associated with the numerical method. More... | |
void | setInputOutputProperties () |
Reads properties and initializes variables associated with input/output. More... | |
void | setZonalProperties () |
Set which zones are RANS and which are LES or if full LES or full RANS. More... | |
void | allocateVariables () |
void | setTestcaseProperties () |
Reads and initializes properties associated with the Testcase. More... | |
void | setMovingGridProperties () |
Reads and initializes properties associated with the Moving Grid Methods. More... | |
void | setBodyForceProperties () |
Reads and initializes properties associated with the Moving Grid Methods. More... | |
void | setPorousProperties () |
Set properties for porous blocks. More... | |
void | readAndSetSpongeLayerProperties () |
void | setSTGProperties () |
void | setProfileBCProperties () |
void | createMPIGroups () |
void | readAndSetAuxDataMap () |
void | computePV () |
MFloat | dummy (MInt) const |
MFloat | pressure_twoEqRans (MInt cellId) const |
MFloat | totalEnergy_twoEqRans (MInt cellId) const |
void | partitionGrid () |
virtual void | computePrimitiveVariables () |
virtual void | computeConservativeVariables () |
void | computeConservativeVariables_ () |
void | saveVarToPrimitive (MInt, MInt, MFloat) |
virtual void | gcFillGhostCells (std::vector< MFloat * > &) |
void | computeSamplingInterval () |
void | checkNans () |
Checks whole domain for NaNs and adds the number of NaNs globally. More... | |
void | setVolumeForce () |
void | computeVolumeForces () |
virtual void | computePorousRHS (MBool) |
void | initPorous () |
virtual void | applyBoundaryCondtition () |
virtual void | moveGrid (MInt) |
virtual void | moveGrid (MBool, MBool) |
virtual void | initMovingGrid () |
virtual void | initBodyForce () |
virtual void | applyBodyForce (MBool, MBool) |
virtual void | computeLambda2Criterion () |
virtual void | computeVorticity () |
void | exchange () |
SVD STUFF ENDS /////////////////////////////////////////////////////////////. More... | |
void | exchange (std::vector< std::unique_ptr< StructuredComm< nDim > > > &, std::vector< std::unique_ptr< StructuredComm< nDim > > > &) |
Parallel exchange of primitive variables between partitions with MPI. More... | |
void | send (const MBool, std::vector< std::unique_ptr< StructuredComm< nDim > > > &, std::vector< MPI_Request > &) |
void | receive (const MBool, std::vector< std::unique_ptr< StructuredComm< nDim > > > &, std::vector< MPI_Request > &) |
virtual void | gather (const MBool, std::vector< std::unique_ptr< StructuredComm< nDim > > > &) |
virtual void | scatter (const MBool, std::vector< std::unique_ptr< StructuredComm< nDim > > > &) |
MBool | isPeriodicComm (std::unique_ptr< StructuredComm< nDim > > &) |
MBool | skipPeriodicDirection (std::unique_ptr< StructuredComm< nDim > > &) |
virtual void | zonalExchange () |
virtual void | spanwiseAvgZonal (std::vector< MFloat * > &) |
virtual void | waveExchange () |
virtual void | spanwiseWaveReorder () |
void | setTimeStep () |
void | setLimiterVisc () |
void | fixTimeStepTravelingWave () |
void | exchangeTimeStep () |
void | initializeRungeKutta () |
virtual void | computeTimeStep () |
MBool | isInInterval (MInt) |
MInt | getNoCells () |
MInt | noVariables () const override |
Return the number of variables. More... | |
MInt | getNoActiveCells () |
MInt * | getActiveCells () |
MInt * | getOffsetCells () |
MInt | getNoGhostLayers () |
MInt | getWaveAvrgInterval () |
MInt | getWaveStepOffset () |
MInt * | getCellGrid () |
MBool | isMovingGrid () |
MInt | getGridMovingMethod () |
MInt | getBodyForceMethod () |
MBool | isStreamwiseTravelingWave () |
MBool | isTravelingWave () |
StructuredGrid< nDim > * | getGrid () |
MFloat | getGamma () |
MFloat | getSutherlandConstant () |
MFloat | getRe0 () |
MFloat | getMa () |
MPI_Comm | getCommunicator () |
virtual void | computeCumulativeAverage (MBool) |
virtual void | loadSampleFile (MString) |
virtual void | getSampleVariables (MInt, MFloat *) |
MFloat | getPV (MInt var, MInt cellId) |
void | setPV (MInt var, MInt cellId, MFloat value) |
virtual MFloat | getSampleVorticity (MInt, MInt) |
virtual MFloat | dvardxyz (MInt, MInt, MFloat *) |
virtual MFloat | dvardx (MInt, MFloat *) |
virtual void | loadAverageRestartFile (const char *, MFloat **, MFloat **, MFloat **, MFloat **) |
virtual void | loadAveragedVariables (const char *) |
void | convertRestartVariables (MFloat oldMa) |
virtual void | convertRestartVariablesSTG (MFloat oldMa) |
virtual bool | rungeKuttaStep ()=0 |
virtual void | viscousFlux ()=0 |
virtual void | Muscl (MInt=-1)=0 |
virtual void | applyBoundaryCondition ()=0 |
virtual void | initSolutionStep (MInt)=0 |
virtual void | initialCondition ()=0 |
void | tred2 (MFloatScratchSpace &A, MInt dim, MFloat *diag, MFloat *offdiag) |
Householder Reduction according to Numercial Recipies in C: The Art of Scientific Computing. More... | |
void | tqli2 (MFloat *diag, MFloat *offdiag, MInt dim) |
Compute Eigenvalues with implicit shift according to Numercial Recipies in C: The Art of Scientific Computing. More... | |
void | insertSort (MInt dim, MFloat *list) |
Sorting function to sort list in ascending order. More... | |
MFloat | pythag (MFloat a, MFloat b) |
void | resetRHS () |
Reset the right hand side to zero. More... | |
void | rhs () |
void | rhsBnd () |
void | lhsBnd () |
void | initSolver () override |
virtual MBool | maxResidual () |
MBool | solutionStep () override |
void | preTimeStep () override |
void | postTimeStep () override |
: Performs the post time step More... | |
void | finalizeInitSolver () override |
void | cleanUp () override |
virtual void | updateSpongeLayer ()=0 |
MFloat | time () const override |
Return the time. More... | |
MInt | determineRestartTimeStep () const override |
Load the restart time step from the restart file (useNonSpecifiedRestartFile enabled) More... | |
MBool | hasRestartTimeStep () const override |
void | init () |
std::array< MInt, nDim > | beginP0 () |
std::array< MInt, nDim > | beginP1 () |
std::array< MInt, nDim > | beginP2 () |
std::array< MInt, nDim > | endM2 () |
std::array< MInt, nDim > | endM1 () |
std::array< MInt, nDim > | endM0 () |
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 MFloat & | a_slope (const MInt, MInt const, const MInt) |
virtual MBool | a_isBndryCell (const MInt) const |
virtual MFloat & | a_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 Member Functions inherited from StructuredPostprocessing< nDim, FvStructuredSolver< nDim > > | |
StructuredPostprocessing () | |
Constructor for the postprocessing solver. More... | |
~StructuredPostprocessing () | |
Destructor for the postprocessing solver. More... | |
void | postprocessPreInit () |
void | postprocessPreSolve () |
void | postprocessPostSolve () |
void | postprocessInSolve () |
Public Attributes | |
void(FvStructuredSolver2D::* | viscFluxMethod )() |
void(FvStructuredSolver2D::* | reconstructSurfaceData )() |
FvStructuredSolver2DRans * | m_ransSolver |
Public Attributes inherited from FvStructuredSolver< 2 > | |
StructuredGrid< nDim > * | m_grid |
MPI_Comm | m_StructuredComm |
MInt | m_restartTimeStep |
MString | m_outputFormat |
MInt | m_lastOutputTimeStep |
Public Attributes inherited from Solver | |
std::set< MInt > | m_freeIndices |
MBool | m_singleAdaptation = false |
MBool | m_splitAdaptation = true |
MBool | m_saveSensorData = false |
Public Attributes inherited from StructuredPostprocessing< nDim, FvStructuredSolver< nDim > > | |
MInt | m_restartTimeStep |
Static Protected Attributes | |
static constexpr const MInt | nDim = 2 |
Static Protected Attributes inherited from StructuredPostprocessing< nDim, FvStructuredSolver< nDim > > | |
static const MInt | xsd |
static const MInt | ysd |
static const MInt | zsd |
Friends | |
template<MBool isRans> | |
class | StructuredBndryCnd2D |
class | FvStructuredSolver2DRans |
Additional Inherited Members | |
Protected Types inherited from StructuredPostprocessing< nDim, FvStructuredSolver< nDim > > | |
typedef void(StructuredPostprocessing::* | tpost) () |
typedef std::vector< tpost > | tvecpost |
Protected Member Functions inherited from FvStructuredSolver< 2 > | |
void | initTimers () |
virtual void | initFsc () |
Init for Falkner-Skan-Cooke flow. More... | |
virtual MFloat | getFscPressure (MInt cellId) |
virtual MFloat | getFscPressure (MFloat coordX) |
virtual MFloat | getFscEta (MFloat coordX, MFloat coordY) |
virtual void | getFscVelocity (MInt cellId, MFloat *const vel) |
Load variables for the specified timeStep. More... | |
virtual void | getFscVelocity (MFloat coordX, MFloat coordY, MFloat *const vel) |
virtual void | initBlasius () |
Init for Blasius boundary layer. More... | |
virtual MFloat | getBlasiusEta (MFloat coordX, MFloat coordY) |
virtual void | getBlasiusVelocity (MInt cellId, MFloat *const vel) |
Load variables for the specified timeStep. More... | |
virtual void | getBlasiusVelocity (MFloat coordX, MFloat coordY, MFloat *const vel) |
Protected Member Functions inherited from Solver | |
Solver (const MInt solverId, const MPI_Comm comm, const MBool isActive=true) | |
MFloat | returnLoadRecord () const |
MFloat | returnIdleRecord () const |
Protected Member Functions inherited from StructuredPostprocessing< nDim, FvStructuredSolver< nDim > > | |
void | initStructuredPostprocessing () |
void | initAverageIn () |
Initializes properties for averaging during solver run. More... | |
void | initAverageVariables () |
allocates memory for averageSolutions() and averageSolutionsInSolve() More... | |
void | initTimeStepProperties () |
Initializes timestep properties for postprocessing. More... | |
void | initMovingAverage () |
void | initProductionVariables () |
void | initDissipationVariables () |
void | averageSolutionsInSolve () |
void | averageSolutions () |
void | addAveragingSample () |
Adds one sample to the summedVars. More... | |
void | addTempWaveSample () |
Adds for the travelling wave setups. More... | |
void | saveAveragedSolution (MInt) |
void | computeAveragedSolution () |
Computes the mean variables from summed vars. More... | |
void | computeAverageSkinFriction () |
Computes skin friction of an averaged field. More... | |
void | subtractPeriodicFluctuations () |
void | subtractMean () |
void | movingAverage () |
void | movingAveragePost () |
void | computeProductionTerms () |
Computes the production terms from an averaged field. More... | |
void | computeDissipationTerms () |
Computes the production terms from an averaged field. More... | |
void | decomposeCf () |
void | decomposeCfDouble () |
void | writeGradients () |
void | loadAveragedSolution () |
Loads an averaged file again. More... | |
void | saveAverageRestart () |
void | loadMeanFile (const MChar *fileName) |
void | getSampleVariables (MInt cellId, const MFloat *&vars) |
MInt | getNoPPVars () |
Returns number of postprocessing variables. More... | |
MInt | getNoVars () |
MInt | getNoPPSquareVars () |
Returns number of pp Square variables. More... | |
Definition at line 21 of file fvstructuredsolver2d.h.
typedef void(FvStructuredSolver2D::* FvStructuredSolver2D::fluxmethod) (MFloat *, MFloat *, MInt, MInt) |
Definition at line 90 of file fvstructuredsolver2d.h.
FvStructuredSolver2D::FvStructuredSolver2D | ( | MInt | solverId, |
StructuredGrid< 2 > * | grid_, | ||
MBool * | propertiesGroups, | ||
const MPI_Comm | comm | ||
) |
Definition at line 19 of file fvstructuredsolver2d.cpp.
FvStructuredSolver2D::~FvStructuredSolver2D | ( | ) |
Definition at line 242 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::addGhostPointCoordinateValues | ( | ) |
Definition at line 1630 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::allocateSingularities | ( | ) |
Definition at line 4244 of file fvstructuredsolver2d.cpp.
|
virtual |
Implements FvStructuredSolver< 2 >.
Definition at line 1455 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::assignBndryCells | ( | ) |
Definition at line 1445 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::Ausm | ( | ) |
Definition at line 2047 of file fvstructuredsolver2d.cpp.
|
inline |
Definition at line 2215 of file fvstructuredsolver2d.cpp.
|
inline |
Can be used for moving grids, dxt term is included
Definition at line 2058 of file fvstructuredsolver2d.cpp.
|
inline |
|
inline |
Definition at line 2129 of file fvstructuredsolver2d.cpp.
Definition at line 1624 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::computeCellCentreCoordinates | ( | ) |
Definition at line 1461 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::computeCellLength | ( | ) |
Definition at line 256 of file fvstructuredsolver2d.cpp.
|
inlineoverridevirtual |
Implements FvStructuredSolver< 2 >.
Definition at line 71 of file fvstructuredsolver2d.h.
|
overridevirtual |
Reimplemented from FvStructuredSolver< 2 >.
Definition at line 3457 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::computePorousRHSCorrection | ( | ) |
Definition at line 3912 of file fvstructuredsolver2d.cpp.
|
overridevirtual |
Reimplemented from FvStructuredSolver< 2 >.
Definition at line 4233 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::computePrimitiveVariables_ |
Definition at line 4202 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::computeReconstructionConstantsSVD | ( | ) |
Definition at line 4341 of file fvstructuredsolver2d.cpp.
|
virtual |
Reimplemented from FvStructuredSolver< 2 >.
Definition at line 2320 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::convertSA2KEPS | ( | ) |
Definition at line 343 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::exchange6002 | ( | ) |
GATHER & SEND
RECEIVE
WAIT
SCATTER
Definition at line 4443 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::extrapolateGhostPointCoordinatesBC | ( | ) |
Definition at line 1669 of file fvstructuredsolver2d.cpp.
|
override |
Definition at line 4263 of file fvstructuredsolver2d.cpp.
Definition at line 1620 of file fvstructuredsolver2d.cpp.
Definition at line 1614 of file fvstructuredsolver2d.cpp.
Definition at line 1616 of file fvstructuredsolver2d.cpp.
Definition at line 4902 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::initBndryCnds | ( | ) |
Definition at line 1450 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::initFluxMethod | ( | ) |
Definition at line 105 of file fvstructuredsolver2d.cpp.
|
virtual |
Implements FvStructuredSolver< 2 >.
Definition at line 432 of file fvstructuredsolver2d.cpp.
|
virtual |
Reimplemented from FvStructuredSolver< 2 >.
Definition at line 770 of file fvstructuredsolver2d.cpp.
|
virtual |
Implements FvStructuredSolver< 2 >.
Definition at line 295 of file fvstructuredsolver2d.cpp.
|
virtual |
Reimplemented from FvStructuredSolver< 2 >.
Definition at line 4111 of file fvstructuredsolver2d.cpp.
|
virtual |
Reimplemented from FvStructuredSolver< 2 >.
Definition at line 1482 of file fvstructuredsolver2d.cpp.
Reimplemented from FvStructuredSolver< 2 >.
Definition at line 1163 of file fvstructuredsolver2d.cpp.
|
overridevirtual |
Implements FvStructuredSolver< 2 >.
Definition at line 1726 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::Muscl_ |
Definition at line 1892 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::MusclAlbada | ( | ) |
Definition at line 1756 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::MusclNoLimiter | ( | ) |
void FvStructuredSolver2D::MusclRANS | ( | ) |
Definition at line 1889 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::MusclStretched_ |
Definition at line 1967 of file fvstructuredsolver2d.cpp.
Definition at line 1626 of file fvstructuredsolver2d.cpp.
Definition at line 1628 of file fvstructuredsolver2d.cpp.
|
virtual |
Implements FvStructuredSolver< 2 >.
Definition at line 2380 of file fvstructuredsolver2d.cpp.
|
override |
Definition at line 4283 of file fvstructuredsolver2d.cpp.
|
virtual |
Implements FvStructuredSolver< 2 >.
Definition at line 2375 of file fvstructuredsolver2d.cpp.
|
virtual |
Implements FvStructuredSolver< 2 >.
Definition at line 2499 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::viscousFluxCompactCorrection |
Definition at line 3332 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::viscousFluxCorrection |
Definition at line 3178 of file fvstructuredsolver2d.cpp.
template void FvStructuredSolver2D::viscousFluxLES< true > | ( | ) |
Definition at line 2505 of file fvstructuredsolver2d.cpp.
template void FvStructuredSolver2D::viscousFluxLESCompact< true > | ( | ) |
Definition at line 2920 of file fvstructuredsolver2d.cpp.
void FvStructuredSolver2D::viscousFluxRANS | ( | ) |
Definition at line 2501 of file fvstructuredsolver2d.cpp.
|
friend |
Definition at line 24 of file fvstructuredsolver2d.h.
|
friend |
Definition at line 23 of file fvstructuredsolver2d.h.
FvStructuredSolver2DRans* FvStructuredSolver2D::m_ransSolver |
Definition at line 117 of file fvstructuredsolver2d.h.
|
protected |
Definition at line 120 of file fvstructuredsolver2d.h.
|
staticconstexprprotected |
Definition at line 121 of file fvstructuredsolver2d.h.
void(FvStructuredSolver2D::* FvStructuredSolver2D::reconstructSurfaceData) () |
Definition at line 98 of file fvstructuredsolver2d.h.
void(FvStructuredSolver2D::* FvStructuredSolver2D::viscFluxMethod) () |
Definition at line 68 of file fvstructuredsolver2d.h.