flow
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
Loading...
Searching...
No Matches
peclet::flow::VelocityMG Class Reference

#include <mac_velocity_mg.hpp>

Classes

struct  Level
 

Public Member Functions

void init (int nx, int ny, int nz, int nLevels)
 
int nLevels () const
 
Levellevel (int L)
 
void setFineStencil (FPC AC, FPC AW, FPC AE, FPC AS, FPC AN, FPC AB, FPC AT)
 
void setStaircase (CCConst theta0, CCConst solid0, CCConst resmask0, double nu_dt, double idiag, double thresh)
 
void restrictAdvVelocities (CCConst u0, CCConst v0, CCConst w0)
 
void buildUpwindCoarse (int comp, double nu_dt, double idiag, double fouw)
 
void setBC (const int bc[6])
 
void setBcApplyL0 (std::function< void(CCField)> fn)
 
void setDomainBcOp (int comp, double nu_dt, double idiag)
 
void solve (CCConst b, CCField x, int nvc, int pre, int post, int bottom)
 
void vcycle (int L)
 
void smooth (Level &lv, int sweeps, bool isL0)
 
void fill (Level &lv, CCField f)
 
void fillProlongBcGhosts (Level &lv)
 
void fillAxis (Level &lv, CCField f, int axis)
 

Static Public Attributes

static constexpr int G = 2
 

Detailed Description

Definition at line 250 of file mac_velocity_mg.hpp.

Member Function Documentation

◆ init()

◆ nLevels()

int peclet::flow::VelocityMG::nLevels ( ) const
inline

Definition at line 381 of file mac_velocity_mg.hpp.

Referenced by init().

◆ level()

Level & peclet::flow::VelocityMG::level ( int  L)
inline

Definition at line 382 of file mac_velocity_mg.hpp.

References init().

Referenced by main().

◆ setFineStencil()

void peclet::flow::VelocityMG::setFineStencil ( FPC  AC,
FPC  AW,
FPC  AE,
FPC  AS,
FPC  AN,
FPC  AB,
FPC  AT 
)
inline

Definition at line 385 of file mac_velocity_mg.hpp.

References AC.

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

◆ setStaircase()

void peclet::flow::VelocityMG::setStaircase ( CCConst  theta0,
CCConst  solid0,
CCConst  resmask0,
double  nu_dt,
double  idiag,
double  thresh 
)
inline

◆ restrictAdvVelocities()

void peclet::flow::VelocityMG::restrictAdvVelocities ( CCConst  u0,
CCConst  v0,
CCConst  w0 
)
inline

Definition at line 425 of file mac_velocity_mg.hpp.

References fill(), G, init(), and peclet::flow::restrictAvg().

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

◆ buildUpwindCoarse()

void peclet::flow::VelocityMG::buildUpwindCoarse ( int  comp,
double  nu_dt,
double  idiag,
double  fouw 
)
inline

Definition at line 443 of file mac_velocity_mg.hpp.

References peclet::flow::buildAdvCoarse(), G, and init().

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

◆ setBC()

void peclet::flow::VelocityMG::setBC ( const int  bc[6])
inline

Definition at line 462 of file mac_velocity_mg.hpp.

References init().

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

◆ setBcApplyL0()

void peclet::flow::VelocityMG::setBcApplyL0 ( std::function< void(CCField)>  fn)
inline

Definition at line 475 of file mac_velocity_mg.hpp.

References init().

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

◆ setDomainBcOp()

void peclet::flow::VelocityMG::setDomainBcOp ( int  comp,
double  nu_dt,
double  idiag 
)
inline

◆ solve()

void peclet::flow::VelocityMG::solve ( CCConst  b,
CCField  x,
int  nvc,
int  pre,
int  post,
int  bottom 
)
inline

Definition at line 518 of file mac_velocity_mg.hpp.

References init(), and vcycle().

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

◆ vcycle()

◆ smooth()

◆ fill()

void peclet::flow::VelocityMG::fill ( Level lv,
CCField  f 
)
inline

Definition at line 580 of file mac_velocity_mg.hpp.

References fillAxis(), and init().

Referenced by restrictAdvVelocities(), smooth(), and vcycle().

◆ fillProlongBcGhosts()

void peclet::flow::VelocityMG::fillProlongBcGhosts ( Level lv)
inline

◆ fillAxis()

void peclet::flow::VelocityMG::fillAxis ( Level lv,
CCField  f,
int  axis 
)
inline

Member Data Documentation

◆ G

constexpr int peclet::flow::VelocityMG::G = 2
staticconstexpr

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