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

Public Member Functions

 Implicit ()
 
 Implicit (const Vector< Geometry > &a_geom, const Vector< BoxArray > &a_grids, const Vector< DistributionMapping > &a_dmap, BC::BC< Set::Scalar > &a_bc, const LPInfo &a_info)
 
virtual ~Implicit ()
 
 Implicit (const Implicit &)=delete
 
 Implicit (Implicit &&)=delete
 
Implicitoperator= (const Implicit &)=delete
 
Implicitoperator= (Implicit &&)=delete
 
- Public Member Functions inherited from Operator::Operator< Grid::Cell >
 Operator ()
 
virtual ~Operator ()
 
 Operator (const Operator &)=delete
 
 Operator (Operator &&)=delete
 
Operatoroperator= (const Operator &)=delete
 
Operatoroperator= (Operator &&)=delete
 
void define (amrex::Vector< amrex::Geometry > a_geom, const amrex::Vector< amrex::BoxArray > &a_grids, const amrex::Vector< amrex::DistributionMapping > &a_dmap, BC::BC< Set::Scalar > &a_bc, const amrex::LPInfo &a_info=amrex::LPInfo(), const amrex::Vector< amrex::FabFactory< amrex::FArrayBox > const * > &a_factory={})
 

Protected Member Functions

virtual void Fapply (int amrlev, int mglev, MultiFab &out, const MultiFab &in) const final
 
virtual void Fsmooth (int amrlev, int mglev, MultiFab &sol, const MultiFab &rsh, int redblack) const final
 
virtual void FFlux (int amrlev, const MFIter &mfi, const Array< FArrayBox *, AMREX_SPACEDIM > &flux, const FArrayBox &sol, Location loc, const int face_only=0) const
 
virtual int getNComp () const
 
virtual bool isCrossStencil () const
 
- Protected Member Functions inherited from Operator::Operator< Grid::Cell >
void updateSolBC (int amrlev, const amrex::MultiFab &crse_bcdata) const
 
void updateCorBC (int amrlev, const amrex::MultiFab &crse_bcdata) const
 
virtual void prepareForSolve () override
 
virtual void Fapply (int amrlev, int mglev, amrex::MultiFab &out, const amrex::MultiFab &in) const override=0
 
virtual void Fsmooth (int amrlev, int mglev, amrex::MultiFab &sol, const amrex::MultiFab &rsh, int redblack) const override=0
 
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)
 
virtual bool isSingular (int) const final
 
virtual bool isBottomSingular () const final
 
virtual amrex::Real getAScalar () const final
 
virtual amrex::Real getBScalar () const final
 
virtual amrex::MultiFab const * getACoeffs (int, int) const final
 
virtual std::array< amrex::MultiFab const *, AMREX_SPACEDIM > getBCoeffs (int, int) const final
 
virtual std::unique_ptr< amrex::MLLinOp > makeNLinOp (int) const final
 
void averageDownCoeffs ()
 
void averageDownCoeffsSameAmrLevel (amrex::Vector< amrex::MultiFab > &)
 
const amrex::FArrayBox & GetFab (const int num, const int amrlev, const int mglev, const amrex::MFIter &mfi) const
 

Additional Inherited Members

- Protected Types inherited from Operator::Operator< Grid::Cell >
using RealTuple = std::array< amrex::Real, 2 *BL_SPACEDIM >
 
using BCTuple = std::array< amrex::BoundCond, 2 *BL_SPACEDIM >
 
- Static Protected Member Functions inherited from Operator::Operator< Grid::Cell >
static constexpr amrex::IntVect AMREX_D_DECL (dx={AMREX_D_DECL(1, 0, 0)}, dy={AMREX_D_DECL(0, 1, 0)}, dz={AMREX_D_DECL(0, 0, 1)})
 
- Protected Attributes inherited from Operator::Operator< Grid::Cell >
BC::BC< Set::Scalar > * m_bc
 
amrex::Vector< std::unique_ptr< amrex::MLMGBndry > > m_bndry_sol
 
amrex::Vector< std::unique_ptr< amrex::BndryRegister > > m_crse_sol_br
 
amrex::Vector< std::unique_ptr< amrex::MLMGBndry > > m_bndry_cor
 
amrex::Vector< std::unique_ptr< amrex::BndryRegister > > m_crse_cor_br
 
amrex::Vector< amrex::Vector< std::unique_ptr< BndryCondLoc > > > m_bcondloc
 
amrex::Vector< amrex::Vector< amrex::BndryRegister > > m_undrrelxr
 
amrex::Vector< amrex::Vector< std::array< amrex::MultiMask, 2 *AMREX_SPACEDIM > > > m_maskvals
 

Detailed Description

Definition at line 17 of file Implicit.H.

Constructor & Destructor Documentation

◆ Implicit() [1/4]

Operator::Implicit::Implicit::Implicit ( )
inline

Definition at line 20 of file Implicit.H.

◆ Implicit() [2/4]

Operator::Implicit::Implicit::Implicit ( const Vector< Geometry > &  a_geom,
const Vector< BoxArray > &  a_grids,
const Vector< DistributionMapping > &  a_dmap,
BC::BC< Set::Scalar > &  a_bc,
const LPInfo &  a_info 
)

Definition at line 16 of file Implicit.cpp.

Here is the call graph for this function:

◆ ~Implicit()

virtual Operator::Implicit::Implicit::~Implicit ( )
inlinevirtual

Definition at line 26 of file Implicit.H.

◆ Implicit() [3/4]

Operator::Implicit::Implicit::Implicit ( const Implicit )
delete

◆ Implicit() [4/4]

Operator::Implicit::Implicit::Implicit ( Implicit &&  )
delete

Member Function Documentation

◆ Fapply()

void Operator::Implicit::Implicit::Fapply ( int  amrlev,
int  mglev,
MultiFab &  out,
const MultiFab &  in 
) const
finalprotectedvirtual
Parameters
[in]amrlev[in] AMR Level
[in]mglev[in]
[out]out[out] The force vector
[in]in[in] The displacements vector

Definition at line 26 of file Implicit.cpp.

Here is the call graph for this function:

◆ FFlux()

void Operator::Implicit::Implicit::FFlux ( int  amrlev,
const MFIter &  mfi,
const Array< FArrayBox *, AMREX_SPACEDIM > &  flux,
const FArrayBox &  sol,
Location  loc,
const int  face_only = 0 
) const
protectedvirtual

Implements Operator::Operator< Grid::Cell >.

Definition at line 47 of file Implicit.cpp.

Here is the call graph for this function:

◆ Fsmooth()

void Operator::Implicit::Implicit::Fsmooth ( int  amrlev,
int  mglev,
MultiFab &  sol,
const MultiFab &  rsh,
int  redblack 
) const
finalprotectedvirtual
Parameters
[in]amrlev[in] AMR level
[in]mglev[in]
[in,out]sol[inout] Solution (displacement field)
[in]rsh[in] Body force vectors (rhs=right hand side)
[in]redblack[in] Smooth even vs. odd modes

Definition at line 37 of file Implicit.cpp.

Here is the call graph for this function:

◆ getNComp()

virtual int Operator::Implicit::Implicit::getNComp ( ) const
inlineprotectedvirtual

Definition at line 39 of file Implicit.H.

◆ isCrossStencil()

virtual bool Operator::Implicit::Implicit::isCrossStencil ( ) const
inlineprotectedvirtual

Definition at line 40 of file Implicit.H.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

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