20template <MInt nDim,
class SysEqn>
23 friend class LPT<nDim>;
76 timings.emplace_back(namePrefix +
"loadCouplerFvParticle",
returnLoadRecord());
77 timings.emplace_back(namePrefix +
"idleCouplerFvParticle",
returnIdleRecord());
FvCartesianSolverXD< nDim, SysEqn > & fvSolver() const
void finalizeAdaptation(const MInt) override
prepate adaptation
void postAdaptation() override
LPT< nDim > & lpt() const override
void getCouplingTimings(std::vector< std::pair< MString, MFloat > > &timings, const MBool NotUsed(allTimings)) override
void writeRestartFile(const MInt) override
void initConversion()
Calculates the conversion factor for different non-dimensionalisations in the FV and LPT solvers.
void finalizeSubCoupleInit(MInt) override
void finalizeBalance(const MInt unused) override
postCouple: exchange source terms after the LPT timeStep
void transferVelocitySlopes()
transfer the FV velocity slopes to the LPT solver
MInt childLoop(MInt cellId)
compute particle-cell binning and write to file
void initParticleVelocity()
Sets the initial particle velocity based on the flow field velocity in that cell. NOTE: This can not ...
MFloat interpolateVariable(MInt *, MFloat *, MInt)
interpolates the fv-variable /
void transferCellStatus()
set the isValid status for LPT cells based on the FV-solver cell properties
void transferNoParticlesInCell()
set a_noPart in Fv based on a_noParticlesInCell and a_noEllipsoidsInCell in LPT solver NOTE: this is ...
void unifyTimeStep()
Find combinded maximum timeStep for Fv and LPT solvers only possible for interleafed execution assumi...
void updateLPTBndry()
transfer all relevant bndryCell-data from FV to LPT solver before the LPT timeStep!
ConversionFactor & conversionFvLpt
void interpolateFVLPT(const MInt from, const MInt to)
interpolate flow variables from the fv-grid to the LPT-cell position
FvCartesianSolverXD< nDim, SysEqn > * m_fvSolver
void writeParticleCellStats()
compute particle-cell binning and write to file
ConversionFactor & conversionLptFv
void transferFlowField()
transfer flow data from FV to LPT
void preCouple(MInt) override
preCoupler: reset external source terms before the LPT timestep
void checkProperties() override
Checks property-data which is read in by both lpt-and Fv-Solver.
MInt lpt2fvId(const MInt lptId)
MInt fv2lptId(const MInt fvId)
MFloat interpolateSlope(MInt *, MFloat *, MInt, MInt)
interpolate fv slope
MBool m_lptFvInterpolation
void initData()
Initialize coupling-class-specific Data.
MInt lpt2fvIdParent(const MInt lptId)
void transferTimeStep()
transfer/enforce Fv timeStep onto LPT solver
void subCouple(MInt, MInt, std::vector< MBool > &) override
transfer the FV velocity slopes to the LPT solver
void balancePost() override
void postCouple(MInt) override
postCouple: exchange source terms after the LPT timeStep
MInt noCouplingTimers(const MBool NotUsed(allTimings)) const override
Number of coupling timers.
void balancePre() override
Load balancing.
void transferExternalSources()
set external sources in Fv solver based on values in the LPT solver
void prepareAdaptation() override
prepate adaptation
void interpolateVelocitySlopesFVLPT(const MInt from, const MInt to)
Interpolates the velocity slopes from the fv-grid to the LPT-cell.
MInt fv2lptIdParent(const MInt fvId)
void init() override
performs the coupling after solver initialization
void setExternalSourceInCell(const MInt, const MInt, const MFloat)
set external source in FV-solver from LPT fluxes
void finalizeCouplerInit() override
MFloat returnIdleRecord() const
void stopLoadTimer(const MString &name) const
Stop the load timer of the coupler.
void startLoadTimer(const MString &name) const
Start the load timer of the coupler.
MFloat returnLoadRecord() const
ConversionFactor conversionLptFlow
ConversionFactor conversionFlowLpt
MInt convertId(SolverA &solverA, SolverB &solverB, const MInt solverAId)
Conversion from solverA id to the solverB id on the same-level only!
MInt convertIdParent(SolverA &solverA, SolverB &solverB, const MInt solverAId)
Conversion from solverA id to the solverB id If no cell on the same level is found,...
std::basic_string< char > MString