MFEM v4.7.0
Finite element discretization library
Loading...
Searching...
No Matches
hypre.hpp File Reference

Go to the source code of this file.

Classes

class  mfem::Hypre
 A simple singleton class for hypre's global settings, that 1) calls HYPRE_Init() and sets some GPU-relevant options at construction and 2) calls HYPRE_Finalize() at destruction. More...
 
class  mfem::HypreParVector
 Wrapper for hypre's parallel vector class. More...
 
class  mfem::HypreParMatrix
 Wrapper for hypre's ParCSR matrix class. More...
 
class  mfem::HypreSmoother
 Parallel smoothers in hypre. More...
 
class  mfem::HypreSolver
 Abstract class for hypre's solvers and preconditioners. More...
 
class  mfem::HypreTriSolve
 
class  mfem::HyprePCG
 PCG solver in hypre. More...
 
class  mfem::HypreGMRES
 GMRES solver in hypre. More...
 
class  mfem::HypreFGMRES
 Flexible GMRES solver in hypre. More...
 
class  mfem::HypreIdentity
 The identity operator as a hypre solver. More...
 
class  mfem::HypreDiagScale
 Jacobi preconditioner in hypre. More...
 
class  mfem::HypreParaSails
 The ParaSails preconditioner in hypre. More...
 
class  mfem::HypreEuclid
 
class  mfem::HypreILU
 Wrapper for Hypre's native parallel ILU preconditioner. More...
 
class  mfem::HypreBoomerAMG
 The BoomerAMG solver in hypre. More...
 
class  mfem::HypreAMS
 The Auxiliary-space Maxwell Solver in hypre. More...
 
class  mfem::HypreADS
 The Auxiliary-space Divergence Solver in hypre. More...
 
class  mfem::HypreLOBPCG
 
class  mfem::HypreAME
 

Namespaces

namespace  mfem
 

Enumerations

enum class  mfem::BlockInverseScaleJob { mfem::MATRIX_ONLY , mfem::RHS_ONLY , mfem::MATRIX_AND_RHS }
 

Functions

MemoryClass mfem::GetHypreMemoryClass ()
 The MemoryClass used by Hypre objects.
 
MemoryType mfem::GetHypreMemoryType ()
 The MemoryType used by MFEM when allocating arrays for Hypre objects.
 
real_t mfem::InnerProduct (HypreParVector &x, HypreParVector &y)
 Returns the inner product of x and y.
 
real_t mfem::InnerProduct (HypreParVector *x, HypreParVector *y)
 
real_t mfem::ParNormlp (const Vector &vec, real_t p, MPI_Comm comm)
 Compute the l_p norm of the Vector which is split without overlap across the given communicator.
 
void mfem::HypreStealOwnership (HypreParMatrix &A_hyp, SparseMatrix &A_diag)
 Make A_hyp steal ownership of its diagonal part A_diag.
 
void mfem::BlockInverseScale (const HypreParMatrix *A, HypreParMatrix *C, const Vector *b, HypreParVector *d, int blocksize, BlockInverseScaleJob job)
 
HypreParMatrixmfem::Add (real_t alpha, const HypreParMatrix &A, real_t beta, const HypreParMatrix &B)
 Return a new matrix C = alpha*A + beta*B, assuming that both A and B use the same row and column partitions and the same col_map_offd arrays.
 
HypreParMatrixmfem::ParMult (const HypreParMatrix *A, const HypreParMatrix *B, bool own_matrix)
 
HypreParMatrixmfem::ParAdd (const HypreParMatrix *A, const HypreParMatrix *B)
 Returns the matrix A + B.
 
HypreParMatrixmfem::RAP (const HypreParMatrix *A, const HypreParMatrix *P)
 Returns the matrix P^t * A * P.
 
HypreParMatrixmfem::RAP (const HypreParMatrix *Rt, const HypreParMatrix *A, const HypreParMatrix *P)
 Returns the matrix Rt^t * A * P.
 
HypreParMatrixmfem::HypreParMatrixFromBlocks (Array2D< const HypreParMatrix * > &blocks, Array2D< real_t > *blockCoeff=NULL)
 Returns a merged hypre matrix constructed from hypre matrix blocks.
 
HypreParMatrixmfem::HypreParMatrixFromBlocks (Array2D< HypreParMatrix * > &blocks, Array2D< real_t > *blockCoeff=NULL)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
void mfem::EliminateBC (const HypreParMatrix &A, const HypreParMatrix &Ae, const Array< int > &ess_dof_list, const Vector &X, Vector &B)
 Eliminate essential BC specified by ess_dof_list from the solution X to the r.h.s. B.
 
HypreParMatrixmfem::DiscreteGrad (ParFiniteElementSpace *edge_fespace, ParFiniteElementSpace *vert_fespace)
 Compute the discrete gradient matrix between the nodal linear and ND1 spaces.
 
HypreParMatrixmfem::DiscreteCurl (ParFiniteElementSpace *face_fespace, ParFiniteElementSpace *edge_fespace)
 Compute the discrete curl matrix between the ND1 and RT0 spaces.