![]() |
MFEM v4.10.0
Finite element discretization library
|
#include <preconditioners.hpp>
Public Member Functions | |
| PRefinementHierarchy (const Array< ParFiniteElementSpace * > &pfes_, const std::vector< Array< int > > &ess_bdr_marker_) | |
| const ParFiniteElementSpace * | GetParFESpace (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. | |
| BlockOperator * | 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]. | |
Public Attributes | |
| Array< int > | orders |
| const Array< ParFiniteElementSpace * > & | pfes |
| std::vector< Array< int > > | ess_bdr_marker |
| std::vector< Array< int > > | ess_tdof_list |
| ParMesh * | pmesh = 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 |
Shared helper class (real/complex) p-refinement multigrid:
Definition at line 66 of file preconditioners.hpp.
| mfem::PRefinementHierarchy::PRefinementHierarchy | ( | const Array< ParFiniteElementSpace * > & | pfes_, |
| const std::vector< Array< int > > & | ess_bdr_marker_ ) |
Definition at line 58 of file preconditioners.cpp.
| 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.
| 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.
| int mfem::PRefinementHierarchy::GetFESpaceMinimumOrder | ( | const ParFiniteElementSpace * | pfespace | ) | const |
Definition at line 84 of file preconditioners.cpp.
| const ParFiniteElementSpace * mfem::PRefinementHierarchy::GetParFESpace | ( | int | lev, |
| int | b ) const |
Definition at line 77 of file preconditioners.cpp.
| std::vector<Array<int> > mfem::PRefinementHierarchy::ess_bdr_marker |
Definition at line 71 of file preconditioners.hpp.
| std::vector<Array<int> > mfem::PRefinementHierarchy::ess_tdof_list |
Definition at line 72 of file preconditioners.hpp.
| std::vector<std::vector<std::unique_ptr<FiniteElementCollection> > > mfem::PRefinementHierarchy::fec_owned |
Definition at line 78 of file preconditioners.hpp.
| std::vector<std::vector<std::unique_ptr<ParFiniteElementSpace> > > mfem::PRefinementHierarchy::fes_owned |
Definition at line 79 of file preconditioners.hpp.
| int mfem::PRefinementHierarchy::maxlevels = 1 |
Definition at line 75 of file preconditioners.hpp.
| int mfem::PRefinementHierarchy::nblocks |
Definition at line 74 of file preconditioners.hpp.
| Array<int> mfem::PRefinementHierarchy::orders |
Definition at line 69 of file preconditioners.hpp.
| const Array<ParFiniteElementSpace*>& mfem::PRefinementHierarchy::pfes |
Definition at line 70 of file preconditioners.hpp.
| ParMesh* mfem::PRefinementHierarchy::pmesh = nullptr |
Definition at line 73 of file preconditioners.hpp.
| std::vector<std::vector<std::unique_ptr<PRefinementTransferOperator> > > mfem::PRefinementHierarchy::T_level |
Definition at line 82 of file preconditioners.hpp.