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

#include <mac_cutcell_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 setBoundaryConditions (const int bc[6])
 
void applyOutflowGhost (C3 ext, CCField x)
 
void applyBoundaryOpenness (Level &lv)
 
void setOpenness (CCConst ox, CCConst oy, CCConst oz, double idx2, double idy2, double idz2)
 
int solvePCG (CCField b, CCField x, CCField r, CCField p, CCField z, CCField Ap, int maxit, double rtol, int pre, int post, int bottom)
 
void vcycle (int L, bool sym)
 
void smooth (Level &lv, int sweeps, bool reverse)
 
void buildAmg (Level &lv)
 
void graphAmgSolveBottom (Level &lv)
 
void pcgAmg (std::vector< double > &b, std::vector< double > &x)
 
void fill (Level &lv, CCField f)
 
void fillOpenness (Level &lv)
 
void fillAxis (Level &lv, CCField f, int axis)
 
void axpy (CCField y, double a, CCField x)
 
void aypx (CCField y, double a, CCField x)
 
void scale (CCField y, double a)
 
void lin (CCField out, double a, CCField x, double b, CCField y)
 
void maskSolid (Level &lv, CCField f)
 
void estimateEigenvalues (CCConst seed, double &lmin, double &lmax, int iters, int pre, int post, int bottom)
 
int solveChebyshev (CCField b, CCField x, int maxit, double rtol, int pre, int post, int bottom, double a, double bnd)
 
double dot (Level &lv, CCField a, CCField b)
 
double maxabs (Level &lv, CCField a)
 
void removeMean (Level &lv, CCField f)
 
void setGraphAmgBottom (bool on)
 

Static Public Attributes

static constexpr int G = 1
 

Detailed Description

Definition at line 152 of file mac_cutcell_mg.hpp.

Member Function Documentation

◆ init()

◆ nLevels()

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

Definition at line 291 of file mac_cutcell_mg.hpp.

Referenced by init().

◆ level()

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

Definition at line 292 of file mac_cutcell_mg.hpp.

References init().

Referenced by main().

◆ setBoundaryConditions()

void peclet::flow::CutcellMG::setBoundaryConditions ( const int  bc[6])
inline

◆ applyOutflowGhost()

void peclet::flow::CutcellMG::applyOutflowGhost ( C3  ext,
CCField  x 
)
inline

◆ applyBoundaryOpenness()

◆ setOpenness()

void peclet::flow::CutcellMG::setOpenness ( CCConst  ox,
CCConst  oy,
CCConst  oz,
double  idx2,
double  idy2,
double  idz2 
)
inline

◆ solvePCG()

int peclet::flow::CutcellMG::solvePCG ( CCField  b,
CCField  x,
CCField  r,
CCField  p,
CCField  z,
CCField  Ap,
int  maxit,
double  rtol,
int  pre,
int  post,
int  bottom 
)
inline

◆ vcycle()

◆ smooth()

◆ buildAmg()

◆ graphAmgSolveBottom()

◆ pcgAmg()

void peclet::flow::CutcellMG::pcgAmg ( std::vector< double > &  b,
std::vector< double > &  x 
)
inline

Definition at line 626 of file mac_cutcell_mg.hpp.

References dot(), and init().

Referenced by graphAmgSolveBottom().

◆ fill()

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

Definition at line 695 of file mac_cutcell_mg.hpp.

References fillAxis().

Referenced by estimateEigenvalues(), fillOpenness(), smooth(), solveChebyshev(), solvePCG(), and vcycle().

◆ fillOpenness()

void peclet::flow::CutcellMG::fillOpenness ( Level lv)
inline

◆ fillAxis()

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

◆ axpy()

void peclet::flow::CutcellMG::axpy ( CCField  y,
double  a,
CCField  x 
)
inline

Definition at line 732 of file mac_cutcell_mg.hpp.

References init().

Referenced by solveChebyshev(), and solvePCG().

◆ aypx()

void peclet::flow::CutcellMG::aypx ( CCField  y,
double  a,
CCField  x 
)
inline

Definition at line 740 of file mac_cutcell_mg.hpp.

References init().

Referenced by solvePCG().

◆ scale()

void peclet::flow::CutcellMG::scale ( CCField  y,
double  a 
)
inline

Definition at line 748 of file mac_cutcell_mg.hpp.

References init().

Referenced by estimateEigenvalues().

◆ lin()

void peclet::flow::CutcellMG::lin ( CCField  out,
double  a,
CCField  x,
double  b,
CCField  y 
)
inline

Definition at line 756 of file mac_cutcell_mg.hpp.

References init().

Referenced by estimateEigenvalues(), and solveChebyshev().

◆ maskSolid()

void peclet::flow::CutcellMG::maskSolid ( Level lv,
CCField  f 
)
inline

Definition at line 765 of file mac_cutcell_mg.hpp.

References peclet::flow::CutcellMG::Level::AC, and init().

Referenced by estimateEigenvalues().

◆ estimateEigenvalues()

void peclet::flow::CutcellMG::estimateEigenvalues ( CCConst  seed,
double lmin,
double lmax,
int  iters,
int  pre,
int  post,
int  bottom 
)
inline

◆ solveChebyshev()

int peclet::flow::CutcellMG::solveChebyshev ( CCField  b,
CCField  x,
int  maxit,
double  rtol,
int  pre,
int  post,
int  bottom,
double  a,
double  bnd 
)
inline

◆ dot()

double peclet::flow::CutcellMG::dot ( Level lv,
CCField  a,
CCField  b 
)
inline

◆ maxabs()

double peclet::flow::CutcellMG::maxabs ( Level lv,
CCField  a 
)
inline

◆ removeMean()

void peclet::flow::CutcellMG::removeMean ( Level lv,
CCField  f 
)
inline

◆ setGraphAmgBottom()

void peclet::flow::CutcellMG::setGraphAmgBottom ( bool  on)
inline

Member Data Documentation

◆ G


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