|
MFEM
v3.3
Finite element discretization library
|
Class for parallel bilinear form using different test and trial FE spaces. More...
#include <pbilinearform.hpp>
Public Member Functions | |
| ParMixedBilinearForm (ParFiniteElementSpace *trial_fes, ParFiniteElementSpace *test_fes) | |
| HypreParMatrix * | ParallelAssemble () |
| Returns the matrix assembled on the true dofs, i.e. P_test^t A P_trial. More... | |
| void | ParallelAssemble (OperatorHandle &A) |
| Returns the matrix assembled on the true dofs, i.e. A = P_test^t A_local P_trial, in the format (type id) specified by A. More... | |
| void | TrueAddMult (const Vector &x, Vector &y, const double a=1.0) const |
| Compute y += a (P^t A P) x, where x and y are vectors on the true dofs. More... | |
| virtual | ~ParMixedBilinearForm () |
Public Member Functions inherited from mfem::MixedBilinearForm | |
| MixedBilinearForm (FiniteElementSpace *tr_fes, FiniteElementSpace *te_fes) | |
| 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 | AddMultTranspose (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 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) |
| void | AddBoundaryIntegrator (BilinearFormIntegrator *bfi) |
| void | AddTraceFaceIntegrator (BilinearFormIntegrator *bfi) |
| Array< BilinearFormIntegrator * > * | GetDBFI () |
| Array< BilinearFormIntegrator * > * | GetBBFI () |
| Array< BilinearFormIntegrator * > * | GetTFBFI () |
| void | operator= (const double a) |
| void | Assemble (int skip_zeros=1) |
| void | ConformingAssemble () |
| void | EliminateTrialDofs (Array< int > &bdr_attr_is_ess, Vector &sol, Vector &rhs) |
| void | EliminateEssentialBCFromTrialDofs (Array< int > &marked_vdofs, Vector &sol, Vector &rhs) |
| virtual void | EliminateTestDofs (Array< int > &bdr_attr_is_ess) |
| void | Update () |
| 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... | |
| virtual void | Print (std::ostream &out=std::cout, int width_=4) const |
| Prints matrix to stream out. More... | |
| virtual | ~Matrix () |
| Destroys matrix. More... | |
Public Member Functions inherited from mfem::Operator | |
| 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 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... | |
| virtual const Operator * | GetProlongation () const |
Prolongation operator from linear algebra (linear system) vectors, to input vectors for the operator. NULL means identity. More... | |
| virtual const Operator * | GetRestriction () const |
Restriction operator from input vectors for the operator to linear algebra (linear system) vectors. NULL means identity. 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... | |
| 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(). 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... | |
Protected Attributes | |
| ParFiniteElementSpace * | trial_pfes |
| ParFiniteElementSpace * | test_pfes |
| ParGridFunction | X |
| ParGridFunction | Y |
Protected Attributes inherited from mfem::MixedBilinearForm | |
| SparseMatrix * | mat |
| FiniteElementSpace * | trial_fes |
| FiniteElementSpace * | test_fes |
| Array< BilinearFormIntegrator * > | dom |
| Array< BilinearFormIntegrator * > | bdr |
| Array< BilinearFormIntegrator * > | skt |
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... | |
Additional Inherited Members | |
Public Types inherited from mfem::Operator | |
| enum | Type { MFEM_SPARSEMAT, HYPRE_PARCSR, PETSC_MATAIJ, PETSC_MATIS, PETSC_MATSHELL, PETSC_MATNEST } |
| Enumeration defining IDs for some classes derived from Operator. More... | |
Class for parallel bilinear form using different test and trial FE spaces.
Definition at line 219 of file pbilinearform.hpp.
|
inline |
Definition at line 227 of file pbilinearform.hpp.
|
inlinevirtual |
Definition at line 246 of file pbilinearform.hpp.
| HypreParMatrix * mfem::ParMixedBilinearForm::ParallelAssemble | ( | ) |
Returns the matrix assembled on the true dofs, i.e. P_test^t A P_trial.
Definition at line 409 of file pbilinearform.cpp.
| void mfem::ParMixedBilinearForm::ParallelAssemble | ( | OperatorHandle & | A | ) |
Returns the matrix assembled on the true dofs, i.e. A = P_test^t A_local P_trial, in the format (type id) specified by A.
Definition at line 428 of file pbilinearform.cpp.
| void mfem::ParMixedBilinearForm::TrueAddMult | ( | const Vector & | x, |
| Vector & | y, | ||
| const double | a = 1.0 |
||
| ) | const |
Compute y += a (P^t A P) x, where x and y are vectors on the true dofs.
Definition at line 449 of file pbilinearform.cpp.
|
protected |
Definition at line 223 of file pbilinearform.hpp.
|
protected |
Definition at line 222 of file pbilinearform.hpp.
|
mutableprotected |
Definition at line 224 of file pbilinearform.hpp.
|
mutableprotected |
Definition at line 224 of file pbilinearform.hpp.
1.8.5