MFEM v4.10.0
Finite element discretization library
Loading...
Searching...
No Matches
mfem::PRefinementHierarchy Class Reference

#include <preconditioners.hpp>

Collaboration diagram for mfem::PRefinementHierarchy:
[legend]

Public Member Functions

 PRefinementHierarchy (const Array< ParFiniteElementSpace * > &pfes_, const std::vector< Array< int > > &ess_bdr_marker_)
 
const ParFiniteElementSpaceGetParFESpace (int lev, int b) const
 
int GetFESpaceMinimumOrder (const ParFiniteElementSpace *pfespace) const
 
void BuildSpaceHierarchy (int mgmaxlevels=-1)
 Computes orders/maxlevels and constructs fec/fes hierarchy and T_level storage.
 
BlockOperatorBuildProlongation (int lev)
 Builds block-diagonal prolongation for level lev (coarse=lev, fine=lev+1). Its diagonal blocks are HypreParMatrix* returned by the transfer operators stored in T_level[lev][b].
 

Public Attributes

Array< int > orders
 
const Array< ParFiniteElementSpace * > & pfes
 
std::vector< Array< int > > ess_bdr_marker
 
std::vector< Array< int > > ess_tdof_list
 
ParMeshpmesh = nullptr
 
int nblocks
 
int maxlevels = 1
 
std::vector< std::vector< std::unique_ptr< FiniteElementCollection > > > fec_owned
 
std::vector< std::vector< std::unique_ptr< ParFiniteElementSpace > > > fes_owned
 
std::vector< std::vector< std::unique_ptr< PRefinementTransferOperator > > > T_level
 

Detailed Description

Shared helper class (real/complex) p-refinement multigrid:

  • builds FE hierarchy
  • builds transfer operators

Definition at line 66 of file preconditioners.hpp.

Constructor & Destructor Documentation

◆ PRefinementHierarchy()

mfem::PRefinementHierarchy::PRefinementHierarchy ( const Array< ParFiniteElementSpace * > & pfes_,
const std::vector< Array< int > > & ess_bdr_marker_ )

Definition at line 58 of file preconditioners.cpp.

Member Function Documentation

◆ BuildProlongation()

BlockOperator * mfem::PRefinementHierarchy::BuildProlongation ( int lev)

Builds block-diagonal prolongation for level lev (coarse=lev, fine=lev+1). Its diagonal blocks are HypreParMatrix* returned by the transfer operators stored in T_level[lev][b].

Definition at line 168 of file preconditioners.cpp.

◆ BuildSpaceHierarchy()

void mfem::PRefinementHierarchy::BuildSpaceHierarchy ( int mgmaxlevels = -1)

Computes orders/maxlevels and constructs fec/fes hierarchy and T_level storage.

Definition at line 92 of file preconditioners.cpp.

◆ GetFESpaceMinimumOrder()

int mfem::PRefinementHierarchy::GetFESpaceMinimumOrder ( const ParFiniteElementSpace * pfespace) const

Definition at line 84 of file preconditioners.cpp.

◆ GetParFESpace()

const ParFiniteElementSpace * mfem::PRefinementHierarchy::GetParFESpace ( int lev,
int b ) const

Definition at line 77 of file preconditioners.cpp.

Member Data Documentation

◆ ess_bdr_marker

std::vector<Array<int> > mfem::PRefinementHierarchy::ess_bdr_marker

Definition at line 71 of file preconditioners.hpp.

◆ ess_tdof_list

std::vector<Array<int> > mfem::PRefinementHierarchy::ess_tdof_list

Definition at line 72 of file preconditioners.hpp.

◆ fec_owned

std::vector<std::vector<std::unique_ptr<FiniteElementCollection> > > mfem::PRefinementHierarchy::fec_owned

Definition at line 78 of file preconditioners.hpp.

◆ fes_owned

std::vector<std::vector<std::unique_ptr<ParFiniteElementSpace> > > mfem::PRefinementHierarchy::fes_owned

Definition at line 79 of file preconditioners.hpp.

◆ maxlevels

int mfem::PRefinementHierarchy::maxlevels = 1

Definition at line 75 of file preconditioners.hpp.

◆ nblocks

int mfem::PRefinementHierarchy::nblocks

Definition at line 74 of file preconditioners.hpp.

◆ orders

Array<int> mfem::PRefinementHierarchy::orders

Definition at line 69 of file preconditioners.hpp.

◆ pfes

const Array<ParFiniteElementSpace*>& mfem::PRefinementHierarchy::pfes

Definition at line 70 of file preconditioners.hpp.

◆ pmesh

ParMesh* mfem::PRefinementHierarchy::pmesh = nullptr

Definition at line 73 of file preconditioners.hpp.

◆ T_level

std::vector<std::vector<std::unique_ptr<PRefinementTransferOperator> > > mfem::PRefinementHierarchy::T_level

Definition at line 82 of file preconditioners.hpp.


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