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

#include <mac_mg.hpp>

Classes

struct  Level
 

Public Member Functions

 MgPoisson (int N, int minN=4)
 
int numLevels () const
 
void solve (SField phi, SConst d, int nVcycles, int nu1=2, int nu2=2)
 
double finestResidualMax ()
 
void smoothColor (Level &L, int color)
 
void smooth (Level &L, int sweeps)
 
void computeResidual (int l)
 
void vcycle (int l, int nu1, int nu2)
 
void removeMean (SField f, Level &L)
 
double maxAbsInner (SField f, Level &L)
 

Public Attributes

std::vector< Levellv_
 

Static Public Attributes

static constexpr int G = 1
 

Detailed Description

Definition at line 42 of file mac_mg.hpp.

Constructor & Destructor Documentation

◆ MgPoisson()

peclet::flow::MgPoisson::MgPoisson ( int  N,
int  minN = 4 
)
inline

Definition at line 45 of file mac_mg.hpp.

References G, peclet::flow::ibmFillEntry(), lv_, peclet::flow::MgPoisson::Level::N, and N.

Member Function Documentation

◆ numLevels()

int peclet::flow::MgPoisson::numLevels ( ) const
inline

Definition at line 65 of file mac_mg.hpp.

References lv_.

◆ solve()

void peclet::flow::MgPoisson::solve ( SField  phi,
SConst  d,
int  nVcycles,
int  nu1 = 2,
int  nu2 = 2 
)
inline

Definition at line 68 of file mac_mg.hpp.

References peclet::flow::ibmFillEntry(), lv_, removeMean(), and vcycle().

Referenced by peclet::flow::FlowReference::step().

◆ finestResidualMax()

double peclet::flow::MgPoisson::finestResidualMax ( )
inline

Definition at line 85 of file mac_mg.hpp.

References computeResidual(), lv_, and maxAbsInner().

◆ smoothColor()

void peclet::flow::MgPoisson::smoothColor ( Level L,
int  color 
)
inline

Definition at line 102 of file mac_mg.hpp.

References G, peclet::flow::ibmFillEntry(), and peclet::flow::L3().

Referenced by smooth().

◆ smooth()

void peclet::flow::MgPoisson::smooth ( Level L,
int  sweeps 
)
inline

Definition at line 119 of file mac_mg.hpp.

References G, peclet::flow::ibmFillEntry(), peclet::flow::mgPeriodicFill(), and smoothColor().

Referenced by vcycle().

◆ computeResidual()

void peclet::flow::MgPoisson::computeResidual ( int  l)
inline

◆ vcycle()

◆ removeMean()

void peclet::flow::MgPoisson::removeMean ( SField  f,
Level L 
)
inline

Definition at line 164 of file mac_mg.hpp.

References G, peclet::flow::ibmFillEntry(), peclet::flow::L3(), and N.

Referenced by solve().

◆ maxAbsInner()

double peclet::flow::MgPoisson::maxAbsInner ( SField  f,
Level L 
)
inline

Definition at line 181 of file mac_mg.hpp.

References G, peclet::flow::ibmFillEntry(), peclet::flow::L3(), and N.

Referenced by finestResidualMax().

Member Data Documentation

◆ G

constexpr int peclet::flow::MgPoisson::G = 1
staticconstexpr

Definition at line 92 of file mac_mg.hpp.

Referenced by computeResidual(), maxAbsInner(), MgPoisson(), removeMean(), smooth(), smoothColor(), and vcycle().

◆ lv_

std::vector<Level> peclet::flow::MgPoisson::lv_

Definition at line 99 of file mac_mg.hpp.

Referenced by computeResidual(), finestResidualMax(), MgPoisson(), numLevels(), solve(), and vcycle().


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