flow 1.3.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< Level > lv_
 

Static Public Attributes

static constexpr int G = 1
 

Detailed Description

Definition at line 43 of file mac_mg.hpp.

Constructor & Destructor Documentation

◆ MgPoisson()

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

Definition at line 46 of file mac_mg.hpp.

References G, lv_, and N.

Member Function Documentation

◆ numLevels()

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

Definition at line 66 of file mac_mg.hpp.

References lv_.

Referenced by main().

◆ solve()

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

Definition at line 69 of file mac_mg.hpp.

References lv_, removeMean(), and vcycle().

Referenced by main(), and peclet::flow::FlowReference::step().

◆ finestResidualMax()

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

Definition at line 86 of file mac_mg.hpp.

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

Referenced by main().

◆ smoothColor()

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

Definition at line 103 of file mac_mg.hpp.

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

Referenced by smooth().

◆ smooth()

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

Definition at line 120 of file mac_mg.hpp.

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

Referenced by vcycle().

◆ computeResidual()

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

Definition at line 128 of file mac_mg.hpp.

References G, peclet::flow::L3(), lv_, and peclet::flow::mgPeriodicFill().

Referenced by finestResidualMax(), and vcycle().

◆ vcycle()

void peclet::flow::MgPoisson::vcycle ( int  l,
int  nu1,
int  nu2 
)
inline

◆ removeMean()

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

Definition at line 165 of file mac_mg.hpp.

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

Referenced by solve().

◆ maxAbsInner()

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

Definition at line 182 of file mac_mg.hpp.

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

Referenced by finestResidualMax().

Member Data Documentation

◆ G

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

Definition at line 93 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 100 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: