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

#include <AMReX_HypreABecLap3.H>

Inheritance diagram for amrex::HypreABecLap3:
amrex::Hypre

Public Member Functions

 HypreABecLap3 (const BoxArray &grids, const DistributionMapping &dmap, const Geometry &geom_, MPI_Comm comm_, const iMultiFab *overset_mask=nullptr)
 
 ~HypreABecLap3 () override
 
 HypreABecLap3 (HypreABecLap3 const &)=delete
 
 HypreABecLap3 (HypreABecLap3 &&)=delete
 
HypreABecLap3operator= (HypreABecLap3 const &)=delete
 
HypreABecLap3operator= (HypreABecLap3 &&)=delete
 
void solve (MultiFab &soln, const MultiFab &rhs, Real rel_tol, Real abs_tol, int max_iter, const BndryData &bndry, int max_bndry_order) override
 
void prepareSolver ()
 
void getSolution (MultiFab &soln)
 
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 Attributes

std::unique_ptr< HypreIJIfacehypre_ij
 
HYPRE_IJMatrix A = nullptr
 
HYPRE_IJVector b = nullptr
 
HYPRE_IJVector x = nullptr
 
LayoutData< HYPRE_Int > ncells_grid
 
FabArray< BaseFab< HYPRE_Int > > cell_id
 
FabArray< BaseFab< HYPRE_Int > > cell_id_vec
 
MultiFab const * m_eb_b_coeffs = nullptr
 
iMultiFab const * m_overset_mask = 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

◆ HypreABecLap3() [1/3]

amrex::HypreABecLap3::HypreABecLap3 ( const BoxArray grids,
const DistributionMapping dmap,
const Geometry geom_,
MPI_Comm  comm_,
const iMultiFab overset_mask = nullptr 
)

◆ ~HypreABecLap3()

amrex::HypreABecLap3::~HypreABecLap3 ( )
overridedefault

◆ HypreABecLap3() [2/3]

amrex::HypreABecLap3::HypreABecLap3 ( HypreABecLap3 const &  )
delete

◆ HypreABecLap3() [3/3]

amrex::HypreABecLap3::HypreABecLap3 ( HypreABecLap3 &&  )
delete

Member Function Documentation

◆ getSolution()

void amrex::HypreABecLap3::getSolution ( MultiFab soln)

◆ loadVectors()

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

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ prepareSolver()

void amrex::HypreABecLap3::prepareSolver ( )

◆ solve()

void amrex::HypreABecLap3::solve ( MultiFab soln,
const MultiFab rhs,
Real  rel_tol,
Real  abs_tol,
int  max_iter,
const BndryData bndry,
int  max_bndry_order 
)
overridevirtual

Implements amrex::Hypre.

Member Data Documentation

◆ A

HYPRE_IJMatrix amrex::HypreABecLap3::A = nullptr
private

◆ b

HYPRE_IJVector amrex::HypreABecLap3::b = nullptr
private

◆ cell_id

FabArray<BaseFab<HYPRE_Int> > amrex::HypreABecLap3::cell_id
private

◆ cell_id_vec

FabArray<BaseFab<HYPRE_Int> > amrex::HypreABecLap3::cell_id_vec
private

◆ hypre_ij

std::unique_ptr<HypreIJIface> amrex::HypreABecLap3::hypre_ij
private

◆ m_eb_b_coeffs

MultiFab const* amrex::HypreABecLap3::m_eb_b_coeffs = nullptr
private

◆ m_overset_mask

iMultiFab const* amrex::HypreABecLap3::m_overset_mask = nullptr
private

◆ ncells_grid

LayoutData<HYPRE_Int> amrex::HypreABecLap3::ncells_grid
private

◆ x

HYPRE_IJVector amrex::HypreABecLap3::x = nullptr
private

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