|
| | LbDgApe (const MInt couplingId, LbSolver *const lb, DgSolver *const dg) |
| |
| | ~LbDgApe () |
| |
| void | init () override |
| |
| void | finalizeCouplerInit () override |
| |
| solverType & | lbSolver (const MInt solverId=0) const |
| |
| | CouplingDgApe (const MInt couplingId, DgCartesianSolverType *dg, DonorSolverType *ds) |
| | Initialize timers and read properties in c'tor. More...
|
| |
| virtual | ~CouplingDgApe ()=default |
| |
| void | init () override |
| |
| void | finalizeSubCoupleInit (MInt) override final |
| |
| void | preCouple (MInt) final |
| | Calculate source terms and add to the external source terms of the DG solver. More...
|
| |
| void | subCouple (MInt, MInt, std::vector< MBool > &) override final |
| |
| void | postCouple (MInt) override final |
| |
| void | cleanUp () override final |
| |
| void | getCouplingTimings (std::vector< std::pair< MString, MFloat > > &timings, const MBool allTimings) override |
| |
| void | getDomainDecompositionInformation (std::vector< std::pair< MString, MInt > > &domainInfo) override final |
| |
| MInt | noCouplingTimers (const MBool allTimings) const override |
| |
| MInt | noMeanVars () const |
| | Return number of mean variables. More...
|
| |
| void | startLoadTimer (const MString &name) const |
| | Start the load timer of the coupler. More...
|
| |
| void | stopLoadTimer (const MString &name) const |
| | Stop the load timer of the coupler. More...
|
| |
| | CouplingLB (const MInt couplingId, Solver *solvers, const MInt noSolvers=1) |
| |
| | CouplingLB (const MInt couplingId, std::vector< solverType * > solvers) |
| |
| MFloat | a_physicalTime () const |
| |
| MFloat | lsTimeStep () const |
| |
| MInt | a_RKStep () const |
| |
| MInt | a_noLbCells (const MInt id=0) const |
| |
| MInt | a_noLevelSetsMb (const MInt id=0) const |
| |
| MFloat | a_Ma (const MInt id=0) const |
| |
| MFloat | a_Re (const MInt id=0) const |
| |
| MInt | a_pvu (const MInt id=0) const |
| |
| MInt | a_pvv (const MInt id=0) const |
| |
| MInt | a_pvw (const MInt id=0) const |
| |
| MInt | a_pvrho (const MInt id=0) const |
| |
| MInt | a_pvt (const MInt id=0) const |
| |
| MInt | a_isThermal (const MInt id=0) const |
| |
| MInt | a_noDistributions (const MInt id=0) const |
| |
| MFloat | a_initTemperatureKelvin (const MInt id=0) const |
| |
| MFloat | a_time () const |
| |
| MbCellCollector & | a_mbCell (const MInt id=0) |
| |
| MInt | a_boundaryCellMb (const MInt cellId, const MInt id=0) |
| |
| MFloat & | a_levelSetFunctionMb (const MInt cellId, const MInt set, const MInt id=0) |
| |
| MFloat | a_levelSetFunctionMb (const MInt cellId, const MInt set, const MInt id=0) const |
| |
| MInt & | a_associatedBodyIdsMb (const MInt cellId, const MInt set, const MInt id=0) |
| |
| MInt | a_associatedBodyIdsMb (const MInt cellId, const MInt set, const MInt id=0) const |
| |
| MInt | a_parentId (const MInt cellId, const MInt id=0) |
| |
| MInt | a_childId (const MInt cellId, const MInt child, const MInt id=0) |
| |
| MInt | minCell (const MInt index, const MInt id=0) const |
| |
| MInt | noMinCells (const MInt id=0) const |
| |
| MInt | a_noCells (const MInt id=0) const |
| |
| MFloat | a_cellLengthAtLevel (MInt level, const MInt id=0) |
| |
| MInt | a_noEmbeddedBodiesLB (const MInt id=0) const |
| |
| MBool | a_isActive (const MInt cellId, const MInt id=0) const |
| |
| MBool | a_wasActive (const MInt cellId, const MInt id=0) const |
| |
| MInt | a_noVariables (const MInt id=0) const |
| |
| MFloat & | a_variable (const MInt cellId, const MInt varId, const MInt id=0) |
| |
| MFloat & | a_oldVariable (const MInt cellId, const MInt varId, const MInt id=0) |
| |
| MInt | a_bndCellId (const MInt bndCell, const MInt id=0) |
| |
| MInt | a_noBndCells (const MInt id=0) |
| |
| | Coupling (const MInt couplingId) |
| |
| virtual | ~Coupling ()=default |
| |
| | Coupling (const Coupling &)=delete |
| |
| Coupling & | operator= (const Coupling &)=delete |
| |
| MInt | couplerId () const |
| |
| virtual void | init ()=0 |
| |
| virtual void | finalizeSubCoupleInit (MInt solverId)=0 |
| |
| virtual void | finalizeCouplerInit ()=0 |
| |
| virtual void | preCouple (MInt recipeStep)=0 |
| |
| virtual void | subCouple (MInt recipeStep, MInt solverId, std::vector< MBool > &solverCompleted)=0 |
| |
| virtual void | postCouple (MInt recipeStep)=0 |
| |
| virtual void | cleanUp ()=0 |
| |
| virtual void | balancePre () |
| | Load balancing. More...
|
| |
| virtual void | balancePost () |
| |
| virtual void | reinitAfterBalance () |
| |
| virtual void | prepareAdaptation () |
| |
| virtual void | postAdaptation () |
| |
| virtual void | finalizeAdaptation (const MInt) |
| |
| virtual void | writeRestartFile (const MInt) |
| |
| virtual MInt | noCellDataDlb () const |
| | Methods to inquire coupler data during balancing. 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 | finalizeBalance (const MInt) |
| |
| virtual MInt | noCouplingTimers (const MBool NotUsed(allTimings)) const |
| | Number of coupling timers. More...
|
| |
| virtual void | getCouplingTimings (std::vector< std::pair< MString, MFloat > > &NotUsed(timings), const MBool NotUsed(allTimings)) |
| | Return coupling timings. More...
|
| |
| virtual void | getDomainDecompositionInformation (std::vector< std::pair< MString, MInt > > &NotUsed(domainInfo)) |
| | Return information on current domain decomposition (e.g. number of coupled cells/elements/...) More...
|
| |
| void | setDlbTimer (const MInt timerId) |
| |
| void | startLoadTimer (const MString &name) const |
| | Start the load timer of the coupler. More...
|
| |
| void | stopLoadTimer (const MString &name) const |
| | Stop the load timer of the coupler. More...
|
| |
| | CouplingDg (const MInt couplingId, solverType *b) |
| |
| virtual | ~CouplingDg ()=default |
| |
| solverType & | dgSolver () const |
| | Return MPI communicator. More...
|
| |
| MInt | solverId () const |
| | Return solver id. More...
|
| |
| DgSysEqnAcousticPerturb< nDim > & | sysEqn () |
| | Return reference to SysEqn object. More...
|
| |
| ElementCollector & | elements () |
| | Return reference to elements. More...
|
| |
| MInt | noElements () const |
| | Return number of elements. More...
|
| |
| MFloat * | externalSource () const |
| | Return pointer to external source memory. More...
|
| |
| MInt | getElementByCellId (const MInt cellId) |
| | Return element id for cell id. More...
|
| |
| MInt | minPolyDeg () const |
| | Return the minimum polynomial degree. More...
|
| |
| MInt | maxPolyDeg () const |
| | Return the maximum polynomial degree. More...
|
| |
| MString | outputDir () const |
| | Return output directory. More...
|
| |
| void | saveNodalData (const MString &fileNameBase, const MInt noVars, const std::vector< MString > &varNames, const MFloat *const data) const |
| | Save nodal data to file. More...
|
| |
|
| static constexpr MInt | noVelocities () |
| | Return number of velocity variables. More...
|
| |
| static constexpr MInt | noVorticities () |
| | Return number of vorticity variables. More...
|
| |
| using | ElementCollector = maia::dg::collector::ElementCollector< nDim, DgSysEqnAcousticPerturb< nDim > > |
| |
| void | calcInitialCondition (const MFloat time) |
| | Apply initial conditions for this coupling condition. More...
|
| |
| void | initCoupler () |
| | Initialize the coupling condition (data structures). More...
|
| |
| void | initData () |
| | Initialize the data (initial conditions or for a restart) of the coupling condition. More...
|
| |
| void | initProjection () |
| | Initialize the projection information for spatial coupling. More...
|
| |
| void | initRestart (const MFloat time, const MFloat dt) |
| | Perform initializations for a restart. More...
|
| |
| void | initSourceFilter () |
| | Calculate source filter values for all elements and store element ids on which source terms need to be computed. More...
|
| |
| void | initTimers () |
| | Create timers. More...
|
| |
| MBool | loadCouplingData (const MString &filename, const MString &name_, const MInt stride, MFloat *data) |
| | Auxiliary method to load coupling data (i.e. anything coming from the LES) from a file. More...
|
| |
| void | loadMeanQuantities (const MBool skipNodeVars=false) |
| | Load mean velocities from file and store them to the node variables. More...
|
| |
| void | projectToElement (const MInt elementId, const MInt noVars, const MFloat *data, const MFloat *defaultValues, MFloat *target) |
| | Project the given data fields onto a single element. More...
|
| |
| void | saveFilterValues () |
| | Save filter values to file. More...
|
| |
| void | saveFilterValuesDonor () |
| | Save the filter values on the donor cells. More...
|
| |
| void | applyStoredSources (const MFloat time) |
| | Apply the stored source terms to the time derivative. More...
|
| |
| void | storeSources (const MFloat time, const MInt timeStep) |
| | Load coupling data from LES, then calculate, accumulate, project and store coupling source terms. More...
|
| |
| virtual void | performUnitConversion (const MString &, const MInt, const MInt, MFloat *) |
| |
| virtual void | calcSourceLambLinearized (const MFloat *const velocity, const MFloat *const vorticity, MFloat *sourceTerms)=0 |
| |
| virtual void | calcSourceLambNonlinear (const MFloat *const velocity, const MFloat *const vorticity, MFloat *const sourceTerms)=0 |
| |
| virtual void | calcSourceQmII (const MFloat *const velocity, MFloat *const sourceTerms)=0 |
| |
| virtual void | calcSourceQmIII (const MFloat *const velocity, MFloat *sourceTerms)=0 |
| |
| virtual void | calcSourceQe (const MFloat *const velocity, const MFloat time, MFloat *const sourceTerms)=0 |
| |
| virtual void | calcSourceQc (const MFloat *const velocity, MFloat *const sourceTerms, const MFloat time, const MInt timeStep)=0 |
| |
| void | saveSourceTermsDonorGrid (const MInt timeStep, const MFloat *const data) |
| | Store the source terms on the donor grid. More...
|
| |
| void | saveSourceTermsTargetGrid (const MInt timeStep) |
| | Store the source terms on the target grid, i.e. after interpolation. More...
|
| |
| void | readProperties () override final |
| | Read properties and store in member variables. More...
|
| |
| void | checkProperties () override final |
| |
| virtual DonorSolverType & | donorSolver (const MInt solverId=0) const=0 |
| |
| virtual void | getDonorVelocityAndVorticity (const std::vector< MInt > &donorCellIds, MFloatScratchSpace &p_velocity, MFloatScratchSpace &p_vorticity)=0 |
| |
| MInt | noSolvers () const |
| |
| solverType & | lbSolver (const MInt solverId=0) const |
| |
| LbBndCnd & | lbBndCnd (const MInt id=0) |
| |
| MFloat | returnLoadRecord () const |
| |
| MFloat | returnIdleRecord () const |
| |
| MBool | m_isRestart |
| | Store whether this is a restart (in case special treatment is necessary) More...
|
| |
| MBool | m_hasDgCartesianSolver |
| | Store whether this domain has DG cells/elements. More...
|
| |
| MBool | m_hasDonorCartesianSolver |
| | Store whether this domain has Cartesian donor solver cells. More...
|
| |
| MInt | m_maxNoNodesXD |
| | Maximum number of nodes of an element (corresponding to maxPolyDeg) More...
|
| |
| MFloat | m_fixedTimeStep |
| | Fixed time step to use. More...
|
| |
| MFloat | m_previousTime |
| | Previous time for the calculation of time derivatives. More...
|
| |
| MInt | m_previousTimeStep |
| | Previous time step (to determine whether new sources need to be calculated) More...
|
| |
| std::vector< MInt > | m_activeMeanVars |
| | List of active mean variables for all active source terms. More...
|
| |
| MString | m_meanDataFileName |
| | File name for mean quantities. More...
|
| |
| std::vector< MInt > | m_activeSourceTerms |
| | List of active source terms. More...
|
| |
| MBool | m_saveSourceTermsDonorGrid |
| | Store whether the sources on the donor grid should be saved as well. More...
|
| |
| MInt | m_saveSourceTermsInterval |
| | Interval at which source term data should be saved to disk. More...
|
| |
| MBool | m_calcProjectionError |
| | Calculate the L2 error of the Galerkin projection. More...
|
| |
| MInt | m_noActiveDonorCells |
| |
| MInt | m_noDonorCells |
| | Total number of donor cells on this domain. More...
|
| |
| std::vector< std::vector< MInt > > | m_elementDonorLevels |
| | Donor cell levels relative to element. More...
|
| |
| std::vector< std::vector< MInt > > | m_elementDonorMap |
| | Mapping from donor cells to elements. More...
|
| |
| std::vector< std::vector< MInt > > | m_elementDonorPos |
| | Donor cell positions on the corresponding cell level. More...
|
| |
| std::vector< ProjectionType > | m_projection |
| | Galerkin projection (access by polynomial degree) More...
|
| |
| MBool | m_isFirstSourceCalculation |
| | Store whether this is the first calculation of the source terms. More...
|
| |
| std::vector< MFloat > | m_sourceTerms |
| | Local storage for source terms. More...
|
| |
| std::vector< MInt > | m_calcSourceDonorCells |
| | List of all donor cell ids for which source terms need to be computed. More...
|
| |
| std::vector< MInt > | m_calcSourceElements |
| | List of all element ids for which source terms need to be computed. More...
|
| |
| MFloat | m_sourceFactor |
| | Factor by which the source terms are multiplied. More...
|
| |
| MBool | m_checkConservation |
| | Check if each Galerkin projection is conservative. More...
|
| |
| MFloat | m_maxConservationError |
| | Maximum conservation error. More...
|
| |
| MFloat | m_maxL2Error |
| | Maximum computed L2 error of the Galerkin projection. More...
|
| |
| std::vector< MFloat > | m_meanVars |
| | Local storage for mean variables of the donor cells. More...
|
| |
| std::vector< MInt > | m_elementInsideBody |
| | Marker if elements are inside a geometric object. More...
|
| |
| Filter< nDim > | m_sourceTermFilter |
| | Auxiliary object that handles source filtering. More...
|
| |
| std::vector< MFloat > | m_filter |
| | Local storage for source filter values. More...
|
| |
| std::vector< MFloat > | m_filterDonor |
| | Local storage for source filter values on donor cells. More...
|
| |
| MInt | m_noCutModesLowPass |
| | Number of modes to cut using the low-pass source term. More...
|
| |
| MBool | m_useLowPassFilter |
| | Switch low pass on and off to allow disabling e.g. for node vars. More...
|
| |
| std::vector< MFloatTensor > | m_vdmLowPass |
| | Vandermonde matrix/matrices for the low-pass filter. More...
|
| |
| MBool | m_applySourceFilterDonor |
| | Apply source filter on donor cells or on DG elements after projection. More...
|
| |
| MBool | m_saveSourceTermFilter |
| | Store whether filter values should be written to a file at initialization. More...
|
| |
| MBool | m_projectionFilter |
| | Use spatial projection filter (i.e. exclude elements from the projection) More...
|
| |
| std::vector< MFloat > | m_projectionFilterBox |
| | Spatial projection filter box (excluding) More...
|
| |
| std::array< MInt, s_totalNoMeanVars > | m_meanVarsIndex |
| |
| std::array< MInt, Timers::_count > | m_timers |
| |
| solverType * | m_dgSolver |
| |
| static const MInt | s_totalNoMeanVars |
| |
| static const std::array< MString, ST::totalNoSourceTerms > | s_sourceTermNames |
| | Hold indices for source terms. More...
|
| |
template<
MInt nDim,
MInt nDist, class
SysEqn>
class LbDgApe< nDim, nDist, SysEqn >
Definition at line 14 of file lbdgape.h.