flow 0.4.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
Loading...
Searching...
No Matches
peclet::flow::Solver< Grid > Class Template Reference

#include <flow_ibm.hpp>

Public Types

using FV = Kokkos::View< float *, CCMem >
 

Public Member Functions

 Solver (int nx, int ny, int nz)
 
void allocateBlock (int nx, int ny, int nz)
 
void setRho (double r)
 
void setMu (double m)
 
void setDt (double d)
 
void setBodyForce (double fx, double fy, double fz)
 
void setVelocityIterations (int it)
 
void setVelocityTolerance (double rtol, int minIters)
 
long lastMomentumSweeps () const
 
void setPressureMeanRemoval (bool all)
 
void setPressureIterations (int it)
 
void setAdvection (bool on)
 
void setAdvectionScheme (int s)
 
void setImplicitAdvection (bool on)
 
void setOuterIterations (int iters)
 
void setOuterTolerance (double tol)
 
long lastOuterIterations () const
 
void setVelocityMultigrid (bool on, int levels, int vcycles)
 
void setPressureBottomMode (int mode)
 
void setPressureGraphAmg (bool on)
 
void setPressureLevels (int levels)
 
void setBackflowStab (double beta)
 
void setDeferredCorrection (bool on)
 
void setPressureChebyshev (bool on, int maxit, double rtol)
 
void setPressurePcg (bool, int maxit, double rtol)
 
void setGhostProjection (bool on, int matrixOrder=2, int rhsOrder=2)
 
void setExactCrossings (const std::vector< double > &t)
 
void setOpennessOverride (const std::vector< double > &ox, const std::vector< double > &oy, const std::vector< double > &oz)
 
void setIncrementalPressure (bool on)
 
void setPressureWarmstart (bool on)
 
void setFaceInterp (int mode)
 
void setCollocatedScheme (const std::string &name)
 
void setRotationalPressure (bool on)
 
void setRotationalWeight (double w)
 
void setRotationalWallWeight (double w0)
 
void setApertureOrder (int order)
 
void setFluidOnlyConstraint (int mode)
 
void setRotationalFilter (bool on, double eps=0.05)
 
void setFvRelax (double w)
 
void setVelocityStreams (bool)
 
void uploadVelocity (const std::vector< double > &uu, const std::vector< double > &vv, const std::vector< double > &ww)
 
void setDomainBc (int face, int type, double vx, double vy, double vz)
 
void setDomainBcProfile (int face, const std::vector< double > &prof, int nb, int nc)
 
void setPressureGeometry (const std::vector< double > &sdfInner)
 
void setSolid (const std::vector< double > &sdfInner, bool cutcellPressure)
 
void step ()
 
std::vector< doublegetVelocity (int c)
 
std::vector< doublegetFaceVelocity (int c)
 
std::vector< doublegetOpenness (int c)
 
std::vector< doublegetOpennessProj (int c)
 
std::vector< doublegetPressure ()
 
double maxOpenDivergence ()
 
double maxPorousResidual ()
 
long lastPressureIterations () const
 
double lastStepSeconds () const
 
double lastPredictorSeconds () const
 
double lastMomentumSeconds () const
 
double lastProjectionSeconds () const
 
double lastPressureAllreduceSeconds () const
 
long lastPressureAllreduceCount () const
 
int nx () const
 
int ny () const
 
int nz () const
 
bool implicitAdv () const
 
bool bcStencilPath () const
 
void fillPropGhosts (CCField f)
 
void fillMuGhosts ()
 
void fillPorousEpsGhosts ()
 
long strideOf (int c) const
 
bool effVarRho () const
 
CCField effRhoField ()
 
void updateEpsRho ()
 
VarFaceProps makeFaceProps (int c)
 
void rebuildStencils ()
 
void copyInner (CCField dst, C3 de, int dg, CCConst src, C3 se, int sg)
 
void copyBlockShifted (CCField dst, C3 de, CCConst src, C3 se, int off)
 
void fillGhosts (CCField f)
 
void fillGhostsFaces (CCField f)
 
void fillAxis (CCField f, int axis)
 
void computeDivAdv ()
 
void buildRhs (int c)
 
void buildRhsForced (int c)
 
void buildRhsVar (int c)
 
void buildAdvStencil (int c)
 
void buildAdvStencilVar (int c)
 
void applyBackflowStab (int c)
 
double maxAbsDiffInner (CCConst a, CCConst b)
 
template<class Fill , class Color , class ColorDu >
void velSweepLoop (Fill &&fill, Color &&sweepColor, ColorDu &&sweepColorDu)
 
void smoothComp (int c)
 
void pressureBcGhost ()
 
void fillVelGhosts (int comp, int fold)
 
void applyVelocityBcComp (int comp, int fold, bool doOutflow)
 
void fillVelGhostsTo (CCField f, int comp, int fold)
 
void applyVelocityBcCompTo (CCField f, int comp, int fold, bool doOutflow)
 
void setupBcDiffusion ()
 
void filterCellField (CCField f, int axis)
 
void project ()
 
void maskVelocity (int c)
 
double minMuInner ()
 
double reduceMaxAbsInner (CCConst f)
 
std::vector< doublegatherInner (CCField fld)
 
void scatterInner (CCField fld, const std::vector< double > &in)
 
CCField addField (const std::string &name)
 
bool hasField (const std::string &name) const
 
CCField fieldView (const std::string &name)
 
std::vector< std::string > fieldNames () const
 
void exchangeField (const std::string &name)
 
void exchangeFieldAdd (const std::string &name)
 
std::vector< doublegetField (const std::string &name)
 
void setField (const std::string &name, const std::vector< double > &v)
 
std::array< int, 3 > blockShape () const
 
int ghostWidth () const
 
std::array< int, 3 > globalResolution () const
 
std::array< int, 3 > blockOrigin () const
 
void addScalar (const std::string &name, double D, int scheme, int iters)
 
bool hasScalar (const std::string &name) const
 
void setScalarBc (const std::string &name, int face, int type, double value)
 
void advanceScalars ()
 
void setPropertyModel (const std::string &target, ClosureKind kind, const std::string &in0, const std::string &in1, const std::vector< double > &params)
 
void setDensityMode (bool variable)
 
bool hasCutcellPressure () const
 
void setPorousContinuity (bool on)
 
void syncPorousPrev ()
 
void setPorousDepsDt (bool on)
 
void setPorousConservative (bool on)
 
void setPressureUnderRelax (double w)
 
void setPropertyMode (bool variable, bool harmonic)
 
void setVariableRotational (int mode, double chi)
 
void setPropertyTable (const std::string &target, const std::string &in0, const std::vector< double > &xs, const std::vector< double > &ys)
 
void updateProperties ()
 
void enableCellForce ()
 
void enableDrag ()
 
void configurePorousDragSolver ()
 
void addDragDiagonal (int c)
 
void patchScalarDirichletFace (CCField AC, CCField band, double D, int a, int side)
 
void applyScalarBcFace (CCField c, int a, int side, int type, double val)
 

Static Public Attributes

static constexpr int G = 2
 

Detailed Description

template<class Grid>
class peclet::flow::Solver< Grid >

Definition at line 54 of file flow_ibm.hpp.

Member Typedef Documentation

◆ FV

template<class Grid >
using peclet::flow::Solver< Grid >::FV = Kokkos::View<float*, CCMem>

Definition at line 56 of file flow_ibm.hpp.

Constructor & Destructor Documentation

◆ Solver()

Member Function Documentation

◆ allocateBlock()

◆ setRho()

template<class Grid >
void peclet::flow::Solver< Grid >::setRho ( double  r)
inline

Definition at line 142 of file flow_ibm.hpp.

◆ setMu()

template<class Grid >
void peclet::flow::Solver< Grid >::setMu ( double  m)
inline

Definition at line 143 of file flow_ibm.hpp.

◆ setDt()

template<class Grid >
void peclet::flow::Solver< Grid >::setDt ( double  d)
inline

Definition at line 144 of file flow_ibm.hpp.

◆ setBodyForce()

template<class Grid >
void peclet::flow::Solver< Grid >::setBodyForce ( double  fx,
double  fy,
double  fz 
)
inline

Definition at line 151 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setVelocityIterations()

template<class Grid >
void peclet::flow::Solver< Grid >::setVelocityIterations ( int  it)
inline

Definition at line 152 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setVelocityTolerance()

template<class Grid >
void peclet::flow::Solver< Grid >::setVelocityTolerance ( double  rtol,
int  minIters 
)
inline

Definition at line 159 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ lastMomentumSweeps()

template<class Grid >
long peclet::flow::Solver< Grid >::lastMomentumSweeps ( ) const
inline

Definition at line 163 of file flow_ibm.hpp.

◆ setPressureMeanRemoval()

template<class Grid >
void peclet::flow::Solver< Grid >::setPressureMeanRemoval ( bool  all)
inline

Definition at line 167 of file flow_ibm.hpp.

References peclet::flow::CutcellMG::setMeanRemovalScope().

◆ setPressureIterations()

template<class Grid >
void peclet::flow::Solver< Grid >::setPressureIterations ( int  it)
inline

Definition at line 168 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setAdvection()

template<class Grid >
void peclet::flow::Solver< Grid >::setAdvection ( bool  on)
inline

Definition at line 169 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setAdvectionScheme()

template<class Grid >
void peclet::flow::Solver< Grid >::setAdvectionScheme ( int  s)
inline

Definition at line 174 of file flow_ibm.hpp.

◆ setImplicitAdvection()

template<class Grid >
void peclet::flow::Solver< Grid >::setImplicitAdvection ( bool  on)
inline

Definition at line 180 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setOuterIterations()

template<class Grid >
void peclet::flow::Solver< Grid >::setOuterIterations ( int  iters)
inline

Definition at line 184 of file flow_ibm.hpp.

◆ setOuterTolerance()

template<class Grid >
void peclet::flow::Solver< Grid >::setOuterTolerance ( double  tol)
inline

Definition at line 185 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ lastOuterIterations()

template<class Grid >
long peclet::flow::Solver< Grid >::lastOuterIterations ( ) const
inline

Definition at line 186 of file flow_ibm.hpp.

◆ setVelocityMultigrid()

template<class Grid >
void peclet::flow::Solver< Grid >::setVelocityMultigrid ( bool  on,
int  levels,
int  vcycles 
)
inline

Definition at line 190 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setPressureBottomMode()

template<class Grid >
void peclet::flow::Solver< Grid >::setPressureBottomMode ( int  mode)
inline

Definition at line 202 of file flow_ibm.hpp.

References peclet::flow::CutcellMG::setAgglomerationMode().

◆ setPressureGraphAmg()

template<class Grid >
void peclet::flow::Solver< Grid >::setPressureGraphAmg ( bool  on)
inline

◆ setPressureLevels()

template<class Grid >
void peclet::flow::Solver< Grid >::setPressureLevels ( int  levels)
inline

Definition at line 213 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setBackflowStab()

template<class Grid >
void peclet::flow::Solver< Grid >::setBackflowStab ( double  beta)
inline

Definition at line 218 of file flow_ibm.hpp.

◆ setDeferredCorrection()

template<class Grid >
void peclet::flow::Solver< Grid >::setDeferredCorrection ( bool  on)
inline

Definition at line 224 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setPressureChebyshev()

template<class Grid >
void peclet::flow::Solver< Grid >::setPressureChebyshev ( bool  on,
int  maxit,
double  rtol 
)
inline

Definition at line 229 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setPressurePcg()

template<class Grid >
void peclet::flow::Solver< Grid >::setPressurePcg ( bool  ,
int  maxit,
double  rtol 
)
inline

Definition at line 238 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setGhostProjection()

template<class Grid >
void peclet::flow::Solver< Grid >::setGhostProjection ( bool  on,
int  matrixOrder = 2,
int  rhsOrder = 2 
)
inline

◆ setExactCrossings()

template<class Grid >
void peclet::flow::Solver< Grid >::setExactCrossings ( const std::vector< double > &  t)
inline

Definition at line 290 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setOpennessOverride()

template<class Grid >
void peclet::flow::Solver< Grid >::setOpennessOverride ( const std::vector< double > &  ox,
const std::vector< double > &  oy,
const std::vector< double > &  oz 
)
inline

Definition at line 316 of file flow_ibm.hpp.

◆ setIncrementalPressure()

template<class Grid >
void peclet::flow::Solver< Grid >::setIncrementalPressure ( bool  on)
inline

Definition at line 338 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setPressureWarmstart()

template<class Grid >
void peclet::flow::Solver< Grid >::setPressureWarmstart ( bool  on)
inline

Definition at line 343 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setFaceInterp()

template<class Grid >
void peclet::flow::Solver< Grid >::setFaceInterp ( int  mode)
inline

◆ setCollocatedScheme()

template<class Grid >
void peclet::flow::Solver< Grid >::setCollocatedScheme ( const std::string &  name)
inline

◆ setRotationalPressure()

template<class Grid >
void peclet::flow::Solver< Grid >::setRotationalPressure ( bool  on)
inline

Definition at line 462 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setRotationalWeight()

template<class Grid >
void peclet::flow::Solver< Grid >::setRotationalWeight ( double  w)
inline

Definition at line 469 of file flow_ibm.hpp.

◆ setRotationalWallWeight()

template<class Grid >
void peclet::flow::Solver< Grid >::setRotationalWallWeight ( double  w0)
inline

Definition at line 472 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setApertureOrder()

template<class Grid >
void peclet::flow::Solver< Grid >::setApertureOrder ( int  order)
inline

Definition at line 484 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setFluidOnlyConstraint()

template<class Grid >
void peclet::flow::Solver< Grid >::setFluidOnlyConstraint ( int  mode)
inline

Definition at line 489 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setRotationalFilter()

template<class Grid >
void peclet::flow::Solver< Grid >::setRotationalFilter ( bool  on,
double  eps = 0.05 
)
inline

Definition at line 500 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setFvRelax()

template<class Grid >
void peclet::flow::Solver< Grid >::setFvRelax ( double  w)
inline

Definition at line 506 of file flow_ibm.hpp.

◆ setVelocityStreams()

template<class Grid >
void peclet::flow::Solver< Grid >::setVelocityStreams ( bool  )
inline

Definition at line 510 of file flow_ibm.hpp.

◆ uploadVelocity()

◆ setDomainBc()

template<class Grid >
void peclet::flow::Solver< Grid >::setDomainBc ( int  face,
int  type,
double  vx,
double  vy,
double  vz 
)
inline

Definition at line 664 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setDomainBcProfile()

template<class Grid >
void peclet::flow::Solver< Grid >::setDomainBcProfile ( int  face,
const std::vector< double > &  prof,
int  nb,
int  nc 
)
inline

◆ setPressureGeometry()

template<class Grid >
void peclet::flow::Solver< Grid >::setPressureGeometry ( const std::vector< double > &  sdfInner)
inline

◆ setSolid()

◆ step()

◆ getVelocity()

template<class Grid >
std::vector< double > peclet::flow::Solver< Grid >::getVelocity ( int  c)
inline

Definition at line 1297 of file flow_ibm.hpp.

References peclet::flow::Solver< Grid >::gatherInner().

◆ getFaceVelocity()

template<class Grid >
std::vector< double > peclet::flow::Solver< Grid >::getFaceVelocity ( int  c)
inline

◆ getOpenness()

template<class Grid >
std::vector< double > peclet::flow::Solver< Grid >::getOpenness ( int  c)
inline

Definition at line 1314 of file flow_ibm.hpp.

References peclet::flow::Solver< Grid >::gatherInner().

◆ getOpennessProj()

template<class Grid >
std::vector< double > peclet::flow::Solver< Grid >::getOpennessProj ( int  c)
inline

◆ getPressure()

template<class Grid >
std::vector< double > peclet::flow::Solver< Grid >::getPressure ( )
inline

◆ maxOpenDivergence()

◆ maxPorousResidual()

◆ lastPressureIterations()

template<class Grid >
long peclet::flow::Solver< Grid >::lastPressureIterations ( ) const
inline

Definition at line 1429 of file flow_ibm.hpp.

◆ lastStepSeconds()

template<class Grid >
double peclet::flow::Solver< Grid >::lastStepSeconds ( ) const
inline

Definition at line 1435 of file flow_ibm.hpp.

◆ lastPredictorSeconds()

template<class Grid >
double peclet::flow::Solver< Grid >::lastPredictorSeconds ( ) const
inline

Definition at line 1436 of file flow_ibm.hpp.

◆ lastMomentumSeconds()

template<class Grid >
double peclet::flow::Solver< Grid >::lastMomentumSeconds ( ) const
inline

Definition at line 1437 of file flow_ibm.hpp.

◆ lastProjectionSeconds()

template<class Grid >
double peclet::flow::Solver< Grid >::lastProjectionSeconds ( ) const
inline

Definition at line 1438 of file flow_ibm.hpp.

◆ lastPressureAllreduceSeconds()

template<class Grid >
double peclet::flow::Solver< Grid >::lastPressureAllreduceSeconds ( ) const
inline

Definition at line 1439 of file flow_ibm.hpp.

References peclet::flow::CutcellMG::allreduceSeconds().

◆ lastPressureAllreduceCount()

template<class Grid >
long peclet::flow::Solver< Grid >::lastPressureAllreduceCount ( ) const
inline

Definition at line 1440 of file flow_ibm.hpp.

References peclet::flow::CutcellMG::allreduceCount().

◆ nx()

◆ ny()

◆ nz()

◆ implicitAdv()

◆ bcStencilPath()

◆ fillPropGhosts()

◆ fillMuGhosts()

◆ fillPorousEpsGhosts()

◆ strideOf()

◆ effVarRho()

◆ effRhoField()

◆ updateEpsRho()

◆ makeFaceProps()

◆ rebuildStencils()

◆ copyInner()

template<class Grid >
void peclet::flow::Solver< Grid >::copyInner ( CCField  dst,
C3  de,
int  dg,
CCConst  src,
C3  se,
int  sg 
)
inline

◆ copyBlockShifted()

template<class Grid >
void peclet::flow::Solver< Grid >::copyBlockShifted ( CCField  dst,
C3  de,
CCConst  src,
C3  se,
int  off 
)
inline

Definition at line 1588 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

Referenced by peclet::flow::Solver< Grid >::project().

◆ fillGhosts()

◆ fillGhostsFaces()

template<class Grid >
void peclet::flow::Solver< Grid >::fillGhostsFaces ( CCField  f)
inline

◆ fillAxis()

◆ computeDivAdv()

template<class Grid >
void peclet::flow::Solver< Grid >::computeDivAdv ( )
inline

◆ buildRhs()

◆ buildRhsForced()

◆ buildRhsVar()

◆ buildAdvStencil()

◆ buildAdvStencilVar()

◆ applyBackflowStab()

template<class Grid >
void peclet::flow::Solver< Grid >::applyBackflowStab ( int  c)
inline

◆ maxAbsDiffInner()

template<class Grid >
double peclet::flow::Solver< Grid >::maxAbsDiffInner ( CCConst  a,
CCConst  b 
)
inline

◆ velSweepLoop()

template<class Grid >
template<class Fill , class Color , class ColorDu >
void peclet::flow::Solver< Grid >::velSweepLoop ( Fill &&  fill,
Color &&  sweepColor,
ColorDu &&  sweepColorDu 
)
inline

Definition at line 2085 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

Referenced by peclet::flow::Solver< Grid >::smoothComp().

◆ smoothComp()

◆ pressureBcGhost()

template<class Grid >
void peclet::flow::Solver< Grid >::pressureBcGhost ( )
inline

◆ fillVelGhosts()

◆ applyVelocityBcComp()

template<class Grid >
void peclet::flow::Solver< Grid >::applyVelocityBcComp ( int  comp,
int  fold,
bool  doOutflow 
)
inline

◆ fillVelGhostsTo()

◆ applyVelocityBcCompTo()

◆ setupBcDiffusion()

◆ filterCellField()

template<class Grid >
void peclet::flow::Solver< Grid >::filterCellField ( CCField  f,
int  axis 
)
inline

◆ project()

template<class Grid >
void peclet::flow::Solver< Grid >::project ( )
inline

Definition at line 2493 of file flow_ibm.hpp.

References peclet::flow::bcCorrectOutflow(), peclet::flow::bcNeumannGhost(), peclet::flow::bcZeroPressureGhost(), peclet::flow::buildPorousCoeff(), peclet::flow::buildPorousCoeffCons(), peclet::flow::buildPorousCoeffDrag(), peclet::flow::buildRhoCoeff(), peclet::flow::centerGradAperture(), peclet::flow::centerGradApertureScaled(), peclet::flow::centerGradOpenCapped(), peclet::flow::centerToFace(), peclet::flow::centerToFaceWallAware(), peclet::flow::Solver< Grid >::copyBlockShifted(), peclet::flow::Solver< Grid >::copyInner(), peclet::flow::divergOpen(), peclet::flow::divergOpenEps(), peclet::flow::CutcellMG::estimateEigenvalues(), peclet::flow::Solver< Grid >::fillGhosts(), peclet::flow::Solver< Grid >::fillPorousEpsGhosts(), peclet::flow::Solver< Grid >::fillPropGhosts(), peclet::flow::Solver< Grid >::fillVelGhosts(), peclet::flow::Solver< Grid >::filterCellField(), peclet::flow::Solver< Grid >::G, peclet::flow::gpCenterGrad(), peclet::flow::gpDivergDelta(), peclet::flow::ibmFillEntry(), peclet::flow::Solver< Grid >::maskVelocity(), peclet::flow::Solver< Grid >::minMuInner(), peclet::flow::projectCorrect(), peclet::flow::projectCorrectCenter(), peclet::flow::projectCorrectCenterOpen(), peclet::flow::projectCorrectPorousCons(), peclet::flow::projectCorrectPorousDrag(), peclet::flow::projectCorrectVar(), peclet::flow::CutcellMG::setBoundaryConditions(), peclet::flow::CutcellMG::setOpenness(), peclet::flow::CutcellMG::solveBiCGStab(), peclet::flow::CutcellMG::solveChebyshev(), peclet::flow::CutcellMG::solvePCG(), peclet::flow::starCorrectFaces(), peclet::flow::subtractField(), peclet::flow::transposeGradWallAware(), peclet::flow::C3::x, peclet::flow::C3::y, and peclet::flow::C3::z.

Referenced by peclet::flow::Solver< Grid >::step().

◆ maskVelocity()

template<class Grid >
void peclet::flow::Solver< Grid >::maskVelocity ( int  c)
inline

◆ minMuInner()

template<class Grid >
double peclet::flow::Solver< Grid >::minMuInner ( )
inline

◆ reduceMaxAbsInner()

◆ gatherInner()

◆ scatterInner()

template<class Grid >
void peclet::flow::Solver< Grid >::scatterInner ( CCField  fld,
const std::vector< double > &  in 
)
inline

◆ addField()

◆ hasField()

template<class Grid >
bool peclet::flow::Solver< Grid >::hasField ( const std::string &  name) const
inline

Definition at line 3008 of file flow_ibm.hpp.

◆ fieldView()

template<class Grid >
CCField peclet::flow::Solver< Grid >::fieldView ( const std::string &  name)
inline

Definition at line 3009 of file flow_ibm.hpp.

◆ fieldNames()

template<class Grid >
std::vector< std::string > peclet::flow::Solver< Grid >::fieldNames ( ) const
inline

Definition at line 3010 of file flow_ibm.hpp.

◆ exchangeField()

template<class Grid >
void peclet::flow::Solver< Grid >::exchangeField ( const std::string &  name)
inline

Definition at line 3012 of file flow_ibm.hpp.

References peclet::flow::Solver< Grid >::fillGhosts().

◆ exchangeFieldAdd()

template<class Grid >
void peclet::flow::Solver< Grid >::exchangeFieldAdd ( const std::string &  name)
inline

Definition at line 3018 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ getField()

template<class Grid >
std::vector< double > peclet::flow::Solver< Grid >::getField ( const std::string &  name)
inline

Definition at line 3034 of file flow_ibm.hpp.

References peclet::flow::Solver< Grid >::gatherInner().

◆ setField()

template<class Grid >
void peclet::flow::Solver< Grid >::setField ( const std::string &  name,
const std::vector< double > &  v 
)
inline

Definition at line 3037 of file flow_ibm.hpp.

References peclet::flow::Solver< Grid >::scatterInner().

◆ blockShape()

template<class Grid >
std::array< int, 3 > peclet::flow::Solver< Grid >::blockShape ( ) const
inline

Definition at line 3042 of file flow_ibm.hpp.

References peclet::flow::C3::x, peclet::flow::C3::y, and peclet::flow::C3::z.

◆ ghostWidth()

template<class Grid >
int peclet::flow::Solver< Grid >::ghostWidth ( ) const
inline

Definition at line 3043 of file flow_ibm.hpp.

References peclet::flow::Solver< Grid >::G.

◆ globalResolution()

template<class Grid >
std::array< int, 3 > peclet::flow::Solver< Grid >::globalResolution ( ) const
inline

Definition at line 3045 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ blockOrigin()

template<class Grid >
std::array< int, 3 > peclet::flow::Solver< Grid >::blockOrigin ( ) const
inline

Definition at line 3054 of file flow_ibm.hpp.

References peclet::flow::C3::x, peclet::flow::C3::y, and peclet::flow::C3::z.

◆ addScalar()

template<class Grid >
void peclet::flow::Solver< Grid >::addScalar ( const std::string &  name,
double  D,
int  scheme,
int  iters 
)
inline

Definition at line 3061 of file flow_ibm.hpp.

References peclet::flow::Solver< Grid >::addField().

◆ hasScalar()

template<class Grid >
bool peclet::flow::Solver< Grid >::hasScalar ( const std::string &  name) const
inline

Definition at line 3079 of file flow_ibm.hpp.

◆ setScalarBc()

template<class Grid >
void peclet::flow::Solver< Grid >::setScalarBc ( const std::string &  name,
int  face,
int  type,
double  value 
)
inline

Definition at line 3087 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ advanceScalars()

◆ setPropertyModel()

template<class Grid >
void peclet::flow::Solver< Grid >::setPropertyModel ( const std::string &  target,
ClosureKind  kind,
const std::string &  in0,
const std::string &  in1,
const std::vector< double > &  params 
)
inline

◆ setDensityMode()

template<class Grid >
void peclet::flow::Solver< Grid >::setDensityMode ( bool  variable)
inline

◆ hasCutcellPressure()

template<class Grid >
bool peclet::flow::Solver< Grid >::hasCutcellPressure ( ) const
inline

Definition at line 3207 of file flow_ibm.hpp.

◆ setPorousContinuity()

◆ syncPorousPrev()

template<class Grid >
void peclet::flow::Solver< Grid >::syncPorousPrev ( )
inline

Definition at line 3258 of file flow_ibm.hpp.

◆ setPorousDepsDt()

template<class Grid >
void peclet::flow::Solver< Grid >::setPorousDepsDt ( bool  on)
inline

Definition at line 3265 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setPorousConservative()

template<class Grid >
void peclet::flow::Solver< Grid >::setPorousConservative ( bool  on)
inline

Definition at line 3266 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setPressureUnderRelax()

template<class Grid >
void peclet::flow::Solver< Grid >::setPressureUnderRelax ( double  w)
inline

Definition at line 3268 of file flow_ibm.hpp.

◆ setPropertyMode()

template<class Grid >
void peclet::flow::Solver< Grid >::setPropertyMode ( bool  variable,
bool  harmonic 
)
inline

◆ setVariableRotational()

template<class Grid >
void peclet::flow::Solver< Grid >::setVariableRotational ( int  mode,
double  chi 
)
inline

Definition at line 3306 of file flow_ibm.hpp.

References peclet::flow::ibmFillEntry().

◆ setPropertyTable()

template<class Grid >
void peclet::flow::Solver< Grid >::setPropertyTable ( const std::string &  target,
const std::string &  in0,
const std::vector< double > &  xs,
const std::vector< double > &  ys 
)
inline

◆ updateProperties()

◆ enableCellForce()

template<class Grid >
void peclet::flow::Solver< Grid >::enableCellForce ( )
inline

Definition at line 3339 of file flow_ibm.hpp.

◆ enableDrag()

◆ configurePorousDragSolver()

◆ addDragDiagonal()

◆ patchScalarDirichletFace()

template<class Grid >
void peclet::flow::Solver< Grid >::patchScalarDirichletFace ( CCField  AC,
CCField  band,
double  D,
int  a,
int  side 
)
inline

◆ applyScalarBcFace()

Member Data Documentation

◆ G

template<class Grid >
constexpr int peclet::flow::Solver< Grid >::G = 2
staticconstexpr

Definition at line 57 of file flow_ibm.hpp.

Referenced by peclet::flow::Solver< Grid >::addDragDiagonal(), peclet::flow::Solver< Grid >::addField(), peclet::flow::Solver< Grid >::advanceScalars(), peclet::flow::Solver< Grid >::allocateBlock(), peclet::flow::Solver< Grid >::applyBackflowStab(), peclet::flow::Solver< Grid >::applyScalarBcFace(), peclet::flow::Solver< Grid >::applyVelocityBcCompTo(), peclet::flow::Solver< Grid >::buildAdvStencil(), peclet::flow::Solver< Grid >::buildAdvStencilVar(), peclet::flow::Solver< Grid >::buildRhs(), peclet::flow::Solver< Grid >::buildRhsForced(), peclet::flow::Solver< Grid >::buildRhsVar(), peclet::flow::Solver< Grid >::computeDivAdv(), peclet::flow::Solver< Grid >::fillAxis(), peclet::flow::Solver< Grid >::fillGhostsFaces(), peclet::flow::Solver< Grid >::filterCellField(), peclet::flow::Solver< Grid >::gatherInner(), peclet::flow::Solver< Grid >::ghostWidth(), peclet::flow::Solver< Grid >::maxAbsDiffInner(), peclet::flow::Solver< Grid >::maxOpenDivergence(), peclet::flow::Solver< Grid >::maxPorousResidual(), peclet::flow::Solver< Grid >::minMuInner(), peclet::flow::Solver< Grid >::patchScalarDirichletFace(), peclet::flow::Solver< Grid >::pressureBcGhost(), peclet::flow::Solver< Grid >::project(), peclet::flow::Solver< Grid >::rebuildStencils(), peclet::flow::Solver< Grid >::reduceMaxAbsInner(), peclet::flow::Solver< Grid >::scatterInner(), peclet::flow::Solver< Grid >::setDomainBcProfile(), peclet::flow::Solver< Grid >::setSolid(), peclet::flow::Solver< Grid >::setupBcDiffusion(), peclet::flow::Solver< Grid >::smoothComp(), peclet::flow::Solver< Grid >::updateProperties(), and peclet::flow::Solver< Grid >::uploadVelocity().


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