Alamo
Public Member Functions | Protected Member Functions
Operator::Diagonal Class Reference
Inheritance diagram for Operator::Diagonal:
[legend]
Collaboration diagram for Operator::Diagonal:
[legend]

Public Member Functions

 Diagonal ()
 
 Diagonal (const Vector< Geometry > &a_geom, const Vector< BoxArray > &a_grids, const Vector< DistributionMapping > &a_dmap, const LPInfo &a_info)
 
virtual ~Diagonal ()
 
 Diagonal (const Diagonal &)=delete
 
 Diagonal (Diagonal &&)=delete
 
Diagonaloperator= (const Diagonal &)=delete
 
Diagonaloperator= (Diagonal &&)=delete
 
- Public Member Functions inherited from Operator::Operator< Grid::Node >
 Operator ()
 
 Operator (const amrex::Vector< amrex::Geometry > &a_geom, const amrex::Vector< amrex::BoxArray > &a_grids, const Vector< DistributionMapping > &a_dmap, const LPInfo &a_info=LPInfo(), const Vector< FabFactory< FArrayBox > const * > &a_factory={})
 
virtual ~Operator ()
 
 Operator (const Operator &)=delete
 
 Operator (Operator &&)=delete
 
Operatoroperator= (const Operator &)=delete
 
Operatoroperator= (Operator &&)=delete
 
void define (const Vector< Geometry > &a_geom, const Vector< BoxArray > &a_grids, const Vector< DistributionMapping > &a_dmap, const LPInfo &a_info=LPInfo(), const Vector< FabFactory< FArrayBox > const * > &a_factory={})
 
const Geometry & Geom (int amr_lev, int mglev=0) const noexcept
 
void Reflux (int crse_amrlev, MultiFab &res, const MultiFab &crse_sol, const MultiFab &crse_rhs, MultiFab &fine_res, MultiFab &fine_sol, const MultiFab &fine_rhs)
 
void Apply (int amrlev, int mglev, MultiFab &out, const MultiFab &in) const
 
void SetOmega (Set::Scalar a_omega)
 
virtual void SetAverageDownCoeffs (bool)
 
void SetNormalizeDDW (bool a_normalize_ddw)
 
void RegisterNewFab (amrex::Vector< amrex::MultiFab > &input)
 
void RegisterNewFab (amrex::Vector< std::unique_ptr< amrex::MultiFab > > &input)
 
const amrex::FArrayBox & GetFab (const int num, const int amrlev, const int mglev, const amrex::MFIter &mfi) const
 
virtual void SetHomogeneous (bool)
 
virtual int getNGrow (int=0, int=0) const override final
 
virtual void solutionResidual (int amrlev, MultiFab &resid, MultiFab &x, const MultiFab &b, const MultiFab *crse_bcdata=nullptr) override final
 
virtual void correctionResidual (int amrlev, int mglev, MultiFab &resid, MultiFab &x, const MultiFab &b, BCMode bc_mode, const MultiFab *crse_bcdata=nullptr) override final
 

Protected Member Functions

virtual void Fapply (int amrlev, int mglev, MultiFab &out, const MultiFab &in) const override final
 
virtual void Fsmooth (int amrlev, int mglev, MultiFab &sol, const MultiFab &rsh) const override final
 
virtual int getNComp () const override
 
virtual void normalize (int, int, MultiFab &) const override final
 
virtual void reflux (int, MultiFab &, const MultiFab &, const MultiFab &, MultiFab &, MultiFab &, const MultiFab &) const override
 
- Protected Member Functions inherited from Operator::Operator< Grid::Node >
virtual void averageDownCoeffs ()=0
 
virtual void Diagonal (bool recompute=false)
 
virtual void Diagonal (int amrlev, int mglev, amrex::MultiFab &diag)
 
virtual void restriction (int amrlev, int cmglev, MultiFab &crse, MultiFab &fine) const final
 
virtual void interpolation (int amrlev, int fmglev, MultiFab &fine, const MultiFab &crse) const override final
 
virtual void averageDownSolutionRHS (int camrlev, MultiFab &crse_sol, MultiFab &crse_rhs, const MultiFab &fine_sol, const MultiFab &fine_rhs) final
 
virtual void prepareForSolve () override
 
virtual bool isSingular (int amrlev) const final
 
virtual bool isBottomSingular () const final
 
virtual void applyBC (int amrlev, int mglev, MultiFab &phi, BCMode bc_mode, amrex::MLLinOp::StateMode, bool skip_fillboundary=false) const final
 
virtual void fixUpResidualMask (int amrlev, iMultiFab &resmsk) final
 

Additional Inherited Members

- Static Public Member Functions inherited from Operator::Operator< Grid::Node >
static void realFillBoundary (MultiFab &phi, const Geometry &geom)
 
- Protected Attributes inherited from Operator::Operator< Grid::Node >
int m_num_a_fabs = 0
 
bool m_diagonal_computed = false
 
amrex::Vector< amrex::Vector< amrex::Vector< amrex::MultiFab > > > m_a_coeffs
 
amrex::Vector< amrex::Vector< std::unique_ptr< amrex::MultiFab > > > m_diag
 
Set::Scalar m_omega = 2./3.
 
bool m_normalize_ddw = false
 

Detailed Description

Definition at line 15 of file Diagonal.H.

Constructor & Destructor Documentation

◆ Diagonal() [1/4]

Operator::Diagonal::Diagonal ( )
inline

Definition at line 18 of file Diagonal.H.

◆ Diagonal() [2/4]

Operator::Diagonal::Diagonal ( const Vector< Geometry > &  a_geom,
const Vector< BoxArray > &  a_grids,
const Vector< DistributionMapping > &  a_dmap,
const LPInfo &  a_info 
)

Definition at line 15 of file Diagonal.cpp.

Here is the call graph for this function:

◆ ~Diagonal()

Operator::Diagonal::~Diagonal ( )
virtual

Definition at line 20 of file Diagonal.cpp.

◆ Diagonal() [3/4]

Operator::Diagonal::Diagonal ( const Diagonal )
delete

◆ Diagonal() [4/4]

Operator::Diagonal::Diagonal ( Diagonal &&  )
delete

Member Function Documentation

◆ Fapply()

void Operator::Diagonal::Fapply ( int  amrlev,
int  mglev,
MultiFab &  out,
const MultiFab &  in 
) const
finaloverrideprotectedvirtual

Implements Operator::Operator< Grid::Node >.

Definition at line 24 of file Diagonal.cpp.

Here is the call graph for this function:

◆ Fsmooth()

void Operator::Diagonal::Fsmooth ( int  amrlev,
int  mglev,
MultiFab &  sol,
const MultiFab &  rsh 
) const
finaloverrideprotectedvirtual

Reimplemented from Operator::Operator< Grid::Node >.

Definition at line 86 of file Diagonal.cpp.

Here is the call graph for this function:

◆ getNComp()

virtual int Operator::Diagonal::getNComp ( ) const
inlineoverrideprotectedvirtual

Definition at line 32 of file Diagonal.H.

◆ normalize()

virtual void Operator::Diagonal::normalize ( int  ,
int  ,
MultiFab &   
) const
inlinefinaloverrideprotectedvirtual

Reimplemented from Operator::Operator< Grid::Node >.

Definition at line 33 of file Diagonal.H.

◆ operator=() [1/2]

Diagonal& Operator::Diagonal::operator= ( const Diagonal )
delete

◆ operator=() [2/2]

Diagonal& Operator::Diagonal::operator= ( Diagonal &&  )
delete

◆ reflux()

virtual void Operator::Diagonal::reflux ( int  ,
MultiFab &  ,
const MultiFab &  ,
const MultiFab &  ,
MultiFab &  ,
MultiFab &  ,
const MultiFab &   
) const
inlineoverrideprotectedvirtual

Reimplemented from Operator::Operator< Grid::Node >.

Definition at line 34 of file Diagonal.H.


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