Block-Structured AMR Software Framework
amrex::HypreABecLap2 Class Referencefinal

#include <AMReX_HypreABecLap2.H>

Inheritance diagram for amrex::HypreABecLap2:
amrex::Hypre

Public Member Functions

 HypreABecLap2 (const BoxArray &grids, const DistributionMapping &dmap, const Geometry &geom_, MPI_Comm comm_)
 
 ~HypreABecLap2 () override
 
 HypreABecLap2 (HypreABecLap2 const &)=delete
 
 HypreABecLap2 (HypreABecLap2 &&)=delete
 
HypreABecLap2operator= (HypreABecLap2 const &)=delete
 
HypreABecLap2operator= (HypreABecLap2 &&)=delete
 
void solve (MultiFab &soln, const MultiFab &rhs, Real reltol, Real abstol, int maxiter, const BndryData &bndry, int max_bndry_order) override
 
void prepareSolver ()
 
void loadVectors (MultiFab &soln, const MultiFab &rhs)
 
- Public Member Functions inherited from amrex::Hypre
 Hypre (const BoxArray &grids, const DistributionMapping &dmap, const Geometry &geom, MPI_Comm comm_)
 
virtual ~Hypre ()
 
 Hypre (Hypre &&) noexcept=default
 
Hypreoperator= (Hypre &&) noexcept=default
 
 Hypre (Hypre const &)=delete
 
Hypreoperator= (Hypre const &)=delete
 
void setScalars (Real sa, Real sb)
 
void setACoeffs (const MultiFab &alpha)
 
void setBCoeffs (const Array< const MultiFab *, BL_SPACEDIM > &beta)
 
void setVerbose (int _verbose)
 
void setIsMatrixSingular (bool flag)
 
void setHypreOptionsNamespace (const std::string &ns) noexcept
 
void setHypreOldDefault (bool l) noexcept
 
void setHypreRelaxType (int n) noexcept
 
void setHypreRelaxOrder (int n) noexcept
 
void setHypreNumSweeps (int n) noexcept
 
void setHypreStrongThreshold (Real t) noexcept
 

Private Member Functions

void getSolution (MultiFab &soln)
 

Private Attributes

HYPRE_SStructGrid hgrid = nullptr
 
HYPRE_SStructStencil stencil = nullptr
 
HYPRE_SStructGraph graph = nullptr
 
HYPRE_SStructMatrix A = nullptr
 
HYPRE_SStructVector b = nullptr
 
HYPRE_SStructVector x = nullptr
 
HYPRE_Solver solver = nullptr
 

Additional Inherited Members

- Public Types inherited from amrex::Hypre
enum class  Interface : int { structed , semi_structed , ij }
 
- Static Public Member Functions inherited from amrex::Hypre
static HYPRE_Int ispow2 (HYPRE_Int i)
 
static Array< HYPRE_Int, AMREX_SPACEDIM > loV (const Box &b)
 
static Array< HYPRE_Int, AMREX_SPACEDIM > hiV (const Box &b)
 
- Static Public Attributes inherited from amrex::Hypre
static constexpr HYPRE_Int regular_stencil_size = 2*AMREX_SPACEDIM + 1
 
static constexpr HYPRE_Int eb_stencil_size = AMREX_D_TERM(3, *3, *3)
 
- Protected Attributes inherited from amrex::Hypre
MPI_Comm comm = MPI_COMM_NULL
 
Geometry geom
 
int verbose = 0
 
bool old_default = true
 
int relax_type = 6
 
int relax_order = 1
 
int num_sweeps = 2
 
Real strong_threshold = Real(0.25)
 
std::string options_namespace {"hypre"}
 
MultiFab acoefs
 
Array< MultiFab, AMREX_SPACEDIM > bcoefs
 
Real scalar_a
 
Real scalar_b
 
MultiFab diaginv
 
FabFactory< FArrayBox > const * m_factory = nullptr
 
BndryData const * m_bndry = nullptr
 
int m_maxorder = -1
 
bool is_matrix_singular { false }
 

Constructor & Destructor Documentation

◆ HypreABecLap2() [1/3]

amrex::HypreABecLap2::HypreABecLap2 ( const BoxArray grids,
const DistributionMapping dmap,
const Geometry geom_,
MPI_Comm  comm_ 
)

◆ ~HypreABecLap2()

amrex::HypreABecLap2::~HypreABecLap2 ( )
override

◆ HypreABecLap2() [2/3]

amrex::HypreABecLap2::HypreABecLap2 ( HypreABecLap2 const &  )
delete

◆ HypreABecLap2() [3/3]

amrex::HypreABecLap2::HypreABecLap2 ( HypreABecLap2 &&  )
delete

Member Function Documentation

◆ getSolution()

void amrex::HypreABecLap2::getSolution ( MultiFab soln)
private

◆ loadVectors()

void amrex::HypreABecLap2::loadVectors ( MultiFab soln,
const MultiFab rhs 
)

◆ operator=() [1/2]

HypreABecLap2& amrex::HypreABecLap2::operator= ( HypreABecLap2 &&  )
delete

◆ operator=() [2/2]

HypreABecLap2& amrex::HypreABecLap2::operator= ( HypreABecLap2 const &  )
delete

◆ prepareSolver()

void amrex::HypreABecLap2::prepareSolver ( )

◆ solve()

void amrex::HypreABecLap2::solve ( MultiFab soln,
const MultiFab rhs,
Real  reltol,
Real  abstol,
int  maxiter,
const BndryData bndry,
int  max_bndry_order 
)
overridevirtual

Implements amrex::Hypre.

Member Data Documentation

◆ A

HYPRE_SStructMatrix amrex::HypreABecLap2::A = nullptr
private

◆ b

HYPRE_SStructVector amrex::HypreABecLap2::b = nullptr
private

◆ graph

HYPRE_SStructGraph amrex::HypreABecLap2::graph = nullptr
private

◆ hgrid

HYPRE_SStructGrid amrex::HypreABecLap2::hgrid = nullptr
private

◆ solver

HYPRE_Solver amrex::HypreABecLap2::solver = nullptr
private

◆ stencil

HYPRE_SStructStencil amrex::HypreABecLap2::stencil = nullptr
private

◆ x

HYPRE_SStructVector amrex::HypreABecLap2::x = nullptr
private

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