hp2D::LaplaceMatrix< F > Class Template Referenceabstract
A function class to calculate element matrices for the Laplacian for matrix formulas. More...
#include <bf_laplace.hh>
Public Types | |
typedef concepts::ElementFormulaContainer< concepts::Mapping< F, 2u > > | FrmE_Matrix |
typedef concepts::Combtype< Real, Real >::type | value_type |
Public Member Functions | |
virtual LaplaceMatrix< F > * | clone () const |
Virtual constructor. More... | |
virtual BilinearForm * | clone () const=0 |
Virtual constructor. More... | |
concepts::RCP< concepts::SharedJacobianAdj< 2 > > | data () const |
Gets the pointer to the shared data. More... | |
void | data (const concepts::RCP< concepts::SharedJacobianAdj< 2 > > d) |
Set the pointer to the shared data. More... | |
LaplaceMatrix (const FrmE_Matrix frm=FrmE_Matrix(), bool all=false) | |
Constructor. More... | |
virtual void | operator() (const concepts::Element< Real > &elmX, const concepts::Element< Real > &elmY, concepts::ElementMatrix< F > &em) const |
virtual void | operator() (const Element< typename Realtype< Real >::type > &elmX, const Element< typename Realtype< Real >::type > &elmY, ElementMatrix< Real > &em) const=0 |
Evaluates the bilinear form for all shape functions on elmX and elmY and stores the result in the matrix em . More... | |
virtual void | operator() (const Element< typename Realtype< Real >::type > &elmX, const Element< typename Realtype< Real >::type > &elmY, ElementMatrix< Real > &em, const ElementPair< typename Realtype< Real >::type > &ep) const |
Evaluates the bilinear form for all shape functions on elmX and elmY and stores the result in the matrix em . More... | |
virtual | ~LaplaceMatrix () |
Protected Member Functions | |
bool | assemble_ (const Quad< Real > *elmX, const Quad< Real > *elmY, concepts::ElementMatrix< value_type > &em) const |
void | computeIntermediate_ (const BaseQuad< Real > &elm, const int i=-1, const int j=-1) const |
Compute the intermediate data for element matrix computation. More... | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. More... | |
Protected Attributes | |
bool | all_ |
Parameter for the sum factorisation. More... | |
concepts::ElementFormulaContainer< Real > | frm_ |
Element formula. More... | |
concepts::ElementFormulaContainer< concepts::Mapping< Real, 2 > > | frmM_ |
Matrix element formula. More... | |
concepts::Array< concepts::Mapping< Real, 2 > > | intermediateMatrix_ |
Intermediate matrix. More... | |
concepts::Array< Real > | intermediateValue_ |
Intermediate value. More... | |
Private Member Functions | |
void | computeadjJ_adjJT_rank1_ (concepts::Array< concepts::Mapping< Real, 2 > > &intermediateMatrix, const int i, const int j) const |
Computes the either adj(J)*adj(J)^T or in the case of partial derivatives (i > NONE, j > NONE) the rank-1 product of j-th column of adj(J) with i-th row of adj(J)^T. More... | |
void | computeJacobianMatrix_ (const BaseQuad< Real > &elm, concepts::Array< concepts::Mapping< Real, 2 > > &J, concepts::Array< Real > &detJ_inv) const |
Compute the Jacobian matrix and the inverse of its determinant on each quadrature point. More... | |
Private Attributes | |
concepts::RCP< concepts::SharedJacobianAdj< 2 > > | sharedData_ |
Shared data for vectorial bilinear forms. More... | |
Detailed Description
template<class F = Real>
class hp2D::LaplaceMatrix< F >
A function class to calculate element matrices for the Laplacian for matrix formulas.
- Examples
- hpFEM2d.cc.
Definition at line 128 of file bf_laplace.hh.
Member Typedef Documentation
◆ FrmE_Matrix
typedef concepts::ElementFormulaContainer<concepts::Mapping<F,2u> > hp2D::LaplaceMatrix< F >::FrmE_Matrix |
Definition at line 132 of file bf_laplace.hh.
◆ value_type
|
inherited |
Definition at line 64 of file bf_laplace.hh.
Constructor & Destructor Documentation
◆ LaplaceMatrix()
hp2D::LaplaceMatrix< F >::LaplaceMatrix | ( | const FrmE_Matrix | frm = FrmE_Matrix() , |
bool | all = false |
||
) |
Constructor.
The formula frm
is evaluated in each quadrature point.
◆ ~LaplaceMatrix()
|
virtual |
Member Function Documentation
◆ assemble_()
|
protectedinherited |
◆ clone() [1/2]
|
virtual |
Virtual constructor.
Returns a pointer to a copy of itself. The caller is responsible to destroy this copy.
Implements concepts::Cloneable.
◆ clone() [2/2]
|
pure virtualinherited |
Virtual constructor.
Returns a pointer to a copy of itself. The caller is responsible to destroy this copy.
◆ computeadjJ_adjJT_rank1_()
|
privateinherited |
Computes the either adj(J)*adj(J)^T or in the case of partial derivatives (i > NONE, j > NONE) the rank-1 product of j-th column of adj(J) with i-th row of adj(J)^T.
◆ computeIntermediate_()
|
protectedinherited |
Compute the intermediate data for element matrix computation.
- Parameters
-
i if i=0 or 1, then take only i-th column of Jacobian matrix (for test function) j if j=0 or 1, then take only j-th column of Jacobian matrix (for trial function)
The Jacobian matrices have to been taken both full (i,j = -1) or both partial (i,j = 0 or 1).
Matrix formulas and complex valued scalar formulas are only implemented for full Jacobians.
◆ computeJacobianMatrix_()
|
privateinherited |
Compute the Jacobian matrix and the inverse of its determinant on each quadrature point.
◆ data() [1/2]
|
inherited |
Gets the pointer to the shared data.
◆ data() [2/2]
|
inherited |
Set the pointer to the shared data.
◆ info()
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::BilinearForm< Real >.
◆ operator()() [1/3]
|
virtual |
◆ operator()() [2/3]
|
pure virtualinherited |
Evaluates the bilinear form for all shape functions on elmX
and elmY
and stores the result in the matrix em
.
- Postcondition
- The returned matrix
em
has the correct size.
- Parameters
-
elmX Left element (test functions) elmY Right element (trial functions) em Return element matrix
◆ operator()() [3/3]
|
inlinevirtualinherited |
Evaluates the bilinear form for all shape functions on elmX
and elmY
and stores the result in the matrix em
.
If this method is not reimplemented in a derived class, the default behaviour is to call the application operator without ep
.
- Postcondition
- The returned matrix
em
has the correct size.
- Parameters
-
elmX Left element elmY Right element em Return element matrix ep Element pair holding more information on the pair elmX
andelmY
Definition at line 57 of file bilinearForm.hh.
Member Data Documentation
◆ all_
|
protectedinherited |
Parameter for the sum factorisation.
Definition at line 75 of file bf_laplace.hh.
◆ frm_
|
protectedinherited |
Element formula.
Definition at line 193 of file bilinearFormHelper.hh.
◆ frmM_
|
protectedinherited |
Matrix element formula.
Definition at line 195 of file bilinearFormHelper.hh.
◆ intermediateMatrix_
|
mutableprotectedinherited |
Intermediate matrix.
In case of a scalar formula:
In case of a matrix formula :
In case of partial Jacobian:
Definition at line 191 of file bilinearFormHelper.hh.
◆ intermediateValue_
|
mutableprotectedinherited |
Intermediate value.
In case of a scalar formula:
In case of a matrix formula:
Definition at line 179 of file bilinearFormHelper.hh.
◆ sharedData_
|
privateinherited |
Shared data for vectorial bilinear forms.
Definition at line 212 of file bilinearFormHelper.hh.
The documentation for this class was generated from the following file:
- hp2D/bf_laplace.hh