|
MFEM
v4.1.0
Finite element discretization library
|
#include <pfem_extras.hpp>
Public Member Functions | |
| ParDiscreteInterpolationOperator (ParFiniteElementSpace *dfes, ParFiniteElementSpace *rfes) | |
| virtual | ~ParDiscreteInterpolationOperator () |
Public Member Functions inherited from mfem::ParDiscreteLinearOperator | |
| ParDiscreteLinearOperator (ParFiniteElementSpace *dfes, ParFiniteElementSpace *rfes) | |
| Construct a ParDiscreteLinearOperator on the given FiniteElementSpaces dfes (domain FE space) and rfes (range FE space). More... | |
| HypreParMatrix * | ParallelAssemble () const |
| Returns the matrix "assembled" on the true dofs. More... | |
| void | GetParBlocks (Array2D< HypreParMatrix * > &blocks) const |
| virtual | ~ParDiscreteLinearOperator () |
Public Member Functions inherited from mfem::DiscreteLinearOperator | |
| DiscreteLinearOperator (FiniteElementSpace *domain_fes, FiniteElementSpace *range_fes) | |
| Construct a DiscreteLinearOperator on the given FiniteElementSpaces domain_fes and range_fes. More... | |
| void | AddDomainInterpolator (DiscreteInterpolator *di) |
| Adds a domain interpolator. Assumes ownership of di. More... | |
| void | AddTraceFaceInterpolator (DiscreteInterpolator *di) |
| Adds a trace face interpolator. Assumes ownership of di. More... | |
| Array< BilinearFormIntegrator * > * | GetDI () |
| Access all interpolators added with AddDomainInterpolator(). More... | |
| virtual void | Assemble (int skip_zeros=1) |
| Construct the internal matrix representation of the discrete linear operator. More... | |
Public Member Functions inherited from mfem::MixedBilinearForm | |
| MixedBilinearForm (FiniteElementSpace *tr_fes, FiniteElementSpace *te_fes) | |
| Construct a MixedBilinearForm on the given trial, tr_fes, and test, te_fes, FiniteElementSpaces. More... | |
| MixedBilinearForm (FiniteElementSpace *tr_fes, FiniteElementSpace *te_fes, MixedBilinearForm *mbf) | |
| Create a MixedBilinearForm on the given trial, tr_fes, and test, te_fes, FiniteElementSpaces, using the same integrators as the MixedBilinearForm mbf. More... | |
| virtual double & | Elem (int i, int j) |
| Returns reference to a_{ij}. More... | |
| virtual const double & | Elem (int i, int j) const |
| Returns constant reference to a_{ij}. More... | |
| virtual void | Mult (const Vector &x, Vector &y) const |
Operator application: y=A(x). More... | |
| virtual void | AddMult (const Vector &x, Vector &y, const double a=1.0) const |
| virtual void | MultTranspose (const Vector &x, Vector &y) const |
Action of the transpose operator: y=A^t(x). The default behavior in class Operator is to generate an error. More... | |
| virtual void | AddMultTranspose (const Vector &x, Vector &y, const double a=1.0) const |
| virtual MatrixInverse * | Inverse () const |
| Returns a pointer to (an approximation) of the matrix inverse. More... | |
| virtual void | Finalize (int skip_zeros=1) |
| Finalizes the matrix initialization. More... | |
| void | GetBlocks (Array2D< SparseMatrix * > &blocks) const |
| const SparseMatrix & | SpMat () const |
| SparseMatrix & | SpMat () |
| SparseMatrix * | LoseMat () |
| void | AddDomainIntegrator (BilinearFormIntegrator *bfi) |
| Adds a domain integrator. Assumes ownership of bfi. More... | |
| void | AddBoundaryIntegrator (BilinearFormIntegrator *bfi) |
| Adds a boundary integrator. Assumes ownership of bfi. More... | |
| void | AddBoundaryIntegrator (BilinearFormIntegrator *bfi, Array< int > &bdr_marker) |
| Adds a boundary integrator. Assumes ownership of bfi. More... | |
| void | AddTraceFaceIntegrator (BilinearFormIntegrator *bfi) |
| Add a trace face integrator. Assumes ownership of bfi. More... | |
| void | AddBdrTraceFaceIntegrator (BilinearFormIntegrator *bfi) |
| Adds a boundary trace face integrator. Assumes ownership of bfi. More... | |
| void | AddBdrTraceFaceIntegrator (BilinearFormIntegrator *bfi, Array< int > &bdr_marker) |
| Adds a boundary trace face integrator. Assumes ownership of bfi. More... | |
| Array< BilinearFormIntegrator * > * | GetDBFI () |
| Access all integrators added with AddDomainIntegrator(). More... | |
| Array< BilinearFormIntegrator * > * | GetBBFI () |
| Access all integrators added with AddBoundaryIntegrator(). More... | |
| Array< Array< int > * > * | GetBBFI_Marker () |
| Access all boundary markers added with AddBoundaryIntegrator(). If no marker was specified when the integrator was added, the corresponding pointer (to Array<int>) will be NULL. More... | |
| Array< BilinearFormIntegrator * > * | GetTFBFI () |
| Access all integrators added with AddTraceFaceIntegrator(). More... | |
| Array< BilinearFormIntegrator * > * | GetBTFBFI () |
| Access all integrators added with AddBdrTraceFaceIntegrator(). More... | |
| Array< Array< int > * > * | GetBTFBFI_Marker () |
| Access all boundary markers added with AddBdrTraceFaceIntegrator(). If no marker was specified when the integrator was added, the corresponding pointer (to Array<int>) will be NULL. More... | |
| void | operator= (const double a) |
| void | SetAssemblyLevel (AssemblyLevel assembly_level) |
| Set the desired assembly level. The default is AssemblyLevel::FULL. More... | |
| void | Assemble (int skip_zeros=1) |
| virtual const Operator * | GetProlongation () const |
| Get the input finite element space prolongation matrix. More... | |
| virtual const Operator * | GetRestriction () const |
| Get the input finite element space restriction matrix. More... | |
| virtual const Operator * | GetOutputProlongation () const |
| Get the test finite element space prolongation matrix. More... | |
| virtual const Operator * | GetOutputRestriction () const |
| Get the test finite element space restriction matrix. More... | |
| void | ConformingAssemble () |
| void | ComputeElementMatrix (int i, DenseMatrix &elmat) |
| Compute the element matrix of the given element. More... | |
| void | ComputeBdrElementMatrix (int i, DenseMatrix &elmat) |
| Compute the boundary element matrix of the given boundary element. More... | |
| void | AssembleElementMatrix (int i, const DenseMatrix &elmat, int skip_zeros=1) |
| Assemble the given element matrix. More... | |
| void | AssembleElementMatrix (int i, const DenseMatrix &elmat, Array< int > &trial_vdofs, Array< int > &test_vdofs, int skip_zeros=1) |
| Assemble the given element matrix. More... | |
| void | AssembleBdrElementMatrix (int i, const DenseMatrix &elmat, int skip_zeros=1) |
| Assemble the given boundary element matrix. More... | |
| void | AssembleBdrElementMatrix (int i, const DenseMatrix &elmat, Array< int > &trial_vdofs, Array< int > &test_vdofs, int skip_zeros=1) |
| Assemble the given boundary element matrix. More... | |
| void | EliminateTrialDofs (const Array< int > &bdr_attr_is_ess, const Vector &sol, Vector &rhs) |
| void | EliminateEssentialBCFromTrialDofs (const Array< int > &marked_vdofs, const Vector &sol, Vector &rhs) |
| virtual void | EliminateTestDofs (const Array< int > &bdr_attr_is_ess) |
| void | FormRectangularSystemMatrix (const Array< int > &trial_tdof_list, const Array< int > &test_tdof_list, OperatorHandle &A) |
| Return in A that is column-constrained. More... | |
| template<typename OpType > | |
| void | FormRectangularSystemMatrix (const Array< int > &trial_tdof_list, const Array< int > &test_tdof_list, OpType &A) |
| Form the column-constrained linear system matrix A. See FormRectangularSystemMatrix() for details. More... | |
| void | FormRectangularLinearSystem (const Array< int > &trial_tdof_list, const Array< int > &test_tdof_list, Vector &x, Vector &b, OperatorHandle &A, Vector &X, Vector &B) |
| Form the linear system A X = B, corresponding to this mixed bilinear form and the linear form b(.). More... | |
| template<typename OpType > | |
| void | FormRectangularLinearSystem (const Array< int > &trial_tdof_list, const Array< int > &test_tdof_list, Vector &x, Vector &b, OpType &A, Vector &X, Vector &B) |
| Form the linear system A X = B, corresponding to this bilinear form and the linear form b(.). More... | |
| void | Update () |
| FiniteElementSpace * | TrialFESpace () |
| Return the trial FE space associated with the BilinearForm. More... | |
| const FiniteElementSpace * | TrialFESpace () const |
| Read-only access to the associated trial FiniteElementSpace. More... | |
| FiniteElementSpace * | TestFESpace () |
| Return the test FE space associated with the BilinearForm. More... | |
| const FiniteElementSpace * | TestFESpace () const |
| Read-only access to the associated test FiniteElementSpace. More... | |
| virtual | ~MixedBilinearForm () |
Public Member Functions inherited from mfem::Matrix | |
| Matrix (int s) | |
| Creates a square matrix of size s. More... | |
| Matrix (int h, int w) | |
| Creates a matrix of the given height and width. More... | |
| bool | IsSquare () const |
| Returns whether the matrix is a square matrix. More... | |
| virtual void | Print (std::ostream &out=mfem::out, int width_=4) const |
| Prints matrix to stream out. More... | |
| virtual | ~Matrix () |
| Destroys matrix. More... | |
Public Member Functions inherited from mfem::Operator | |
| void | InitTVectors (const Operator *Po, const Operator *Ri, const Operator *Pi, Vector &x, Vector &b, Vector &X, Vector &B) const |
| Initializes memory for true vectors of linear system. More... | |
| Operator (int s=0) | |
| Construct a square Operator with given size s (default 0). More... | |
| Operator (int h, int w) | |
| Construct an Operator with the given height (output size) and width (input size). More... | |
| int | Height () const |
| Get the height (size of output) of the Operator. Synonym with NumRows(). More... | |
| int | NumRows () const |
| Get the number of rows (size of output) of the Operator. Synonym with Height(). More... | |
| int | Width () const |
| Get the width (size of input) of the Operator. Synonym with NumCols(). More... | |
| int | NumCols () const |
| Get the number of columns (size of input) of the Operator. Synonym with Width(). More... | |
| virtual MemoryClass | GetMemoryClass () const |
| Return the MemoryClass preferred by the Operator. More... | |
| virtual Operator & | GetGradient (const Vector &x) const |
| Evaluate the gradient operator at the point x. The default behavior in class Operator is to generate an error. More... | |
| void | FormLinearSystem (const Array< int > &ess_tdof_list, Vector &x, Vector &b, Operator *&A, Vector &X, Vector &B, int copy_interior=0) |
| Form a constrained linear system using a matrix-free approach. More... | |
| void | FormRectangularLinearSystem (const Array< int > &trial_tdof_list, const Array< int > &test_tdof_list, Vector &x, Vector &b, Operator *&A, Vector &X, Vector &B) |
| Form a column-constrained linear system using a matrix-free approach. More... | |
| virtual void | RecoverFEMSolution (const Vector &X, const Vector &b, Vector &x) |
| Reconstruct a solution vector x (e.g. a GridFunction) from the solution X of a constrained linear system obtained from Operator::FormLinearSystem() or Operator::FormRectangularLinearSystem(). More... | |
| void | FormSystemOperator (const Array< int > &ess_tdof_list, Operator *&A) |
| Return in A a parallel (on truedofs) version of this square operator. More... | |
| void | FormRectangularSystemOperator (const Array< int > &trial_tdof_list, const Array< int > &test_tdof_list, Operator *&A) |
| Return in A a parallel (on truedofs) version of this rectangular operator (including constraints). More... | |
| void | FormDiscreteOperator (Operator *&A) |
| Return in A a parallel (on truedofs) version of this rectangular operator. More... | |
| void | PrintMatlab (std::ostream &out, int n=0, int m=0) const |
| Prints operator with input size n and output size m in Matlab format. More... | |
| virtual | ~Operator () |
| Virtual destructor. More... | |
| Type | GetType () const |
| Return the type ID of the Operator class. More... | |
Additional Inherited Members | |
Public Types inherited from mfem::Matrix | |
| enum | DiagonalPolicy { DIAG_ZERO, DIAG_ONE, DIAG_KEEP } |
Public Types inherited from mfem::Operator | |
| enum | Type { ANY_TYPE, MFEM_SPARSEMAT, Hypre_ParCSR, PETSC_MATAIJ, PETSC_MATIS, PETSC_MATSHELL, PETSC_MATNEST, PETSC_MATHYPRE, PETSC_MATGENERIC, Complex_Operator, MFEM_ComplexSparseMat, Complex_Hypre_ParCSR } |
| Enumeration defining IDs for some classes derived from Operator. More... | |
Protected Member Functions inherited from mfem::Operator | |
| void | FormConstrainedSystemOperator (const Array< int > &ess_tdof_list, ConstrainedOperator *&Aout) |
| see FormSystemOperator() More... | |
| void | FormRectangularConstrainedSystemOperator (const Array< int > &trial_tdof_list, const Array< int > &test_tdof_list, RectangularConstrainedOperator *&Aout) |
| see FormRectangularSystemOperator() More... | |
| Operator * | SetupRAP (const Operator *Pi, const Operator *Po) |
| Returns RAP Operator of this, taking in input/output Prolongation matrices. More... | |
Protected Attributes inherited from mfem::ParDiscreteLinearOperator | |
| ParFiniteElementSpace * | domain_fes |
| Points to the same object as trial_fes. More... | |
| ParFiniteElementSpace * | range_fes |
| Points to the same object as test_fes. More... | |
Protected Attributes inherited from mfem::MixedBilinearForm | |
| SparseMatrix * | mat |
| Owned. More... | |
| SparseMatrix * | mat_e |
| Owned. More... | |
| FiniteElementSpace * | trial_fes |
| Not owned. More... | |
| FiniteElementSpace * | test_fes |
| Not owned. More... | |
| AssemblyLevel | assembly |
| The form assembly level (full, partial, etc.) More... | |
| MixedBilinearFormExtension * | ext |
| int | extern_bfs |
| Indicates the BilinearFormIntegrators stored in dbfi, bbfi, tfbfi and btfbfi are owned by another MixedBilinearForm. More... | |
| Array< BilinearFormIntegrator * > | dbfi |
| Domain integrators. More... | |
| Array< BilinearFormIntegrator * > | bbfi |
| Boundary integrators. More... | |
| Array< Array< int > * > | bbfi_marker |
| Entries are not owned. More... | |
| Array< BilinearFormIntegrator * > | tfbfi |
| Trace face (skeleton) integrators. More... | |
| Array< BilinearFormIntegrator * > | btfbfi |
| Boundary trace face (skeleton) integrators. More... | |
| Array< Array< int > * > | btfbfi_marker |
| Entries are not owned. More... | |
| DenseMatrix | elemmat |
| Array< int > | trial_vdofs |
| Array< int > | test_vdofs |
Protected Attributes inherited from mfem::Operator | |
| int | height |
| Dimension of the output / number of rows in the matrix. More... | |
| int | width |
| Dimension of the input / number of columns in the matrix. More... | |
Definition at line 85 of file pfem_extras.hpp.
|
inline |
Definition at line 88 of file pfem_extras.hpp.
|
virtual |
Definition at line 73 of file pfem_extras.cpp.
1.8.5