hp2Dedge::GraduvMatrix< F > Class Template Referenceabstract
A function class to calculate element matrices for the bilinear form. More...
#include <bf_graduv.hh>
Public Types | |
typedef concepts::ElementFormulaContainer< concepts::Mapping< F, 2 > > | FrmE_Matrix |
typedef concepts::Combtype< Real, Real >::type | value_type |
Public Member Functions | |
virtual GraduvMatrix< 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... | |
GraduvMatrix (const FrmE_Matrix frm=FrmE_Matrix()) | |
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... | |
void | operator() (const hp2D::Quad< Real > &elmX, const Quad< Real > &elmY, concepts::ElementMatrix< F > &em) const |
virtual | ~GraduvMatrix () |
Protected Member Functions | |
bool | assemble_ (const hp2D::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::Array< Real > | factor_ |
Intermediate data for element matrix computation. More... | |
concepts::Array< concepts::Mapping< Real, 2 > > | jacobianInv_ |
concepts::RCP< concepts::SharedJacobianAdj< 2 > > | sharedData_ |
Shared data for vectorial bilinear forms. More... | |
Detailed Description
template<class F = Real>
class hp2Dedge::GraduvMatrix< F >
A function class to calculate element matrices for the bilinear form.
Definition at line 134 of file bf_graduv.hh.
Member Typedef Documentation
◆ FrmE_Matrix
typedef concepts::ElementFormulaContainer<concepts::Mapping<F, 2> > hp2Dedge::GraduvMatrix< F >::FrmE_Matrix |
Definition at line 139 of file bf_graduv.hh.
◆ value_type
|
inherited |
Definition at line 66 of file bf_graduv.hh.
Constructor & Destructor Documentation
◆ GraduvMatrix()
hp2Dedge::GraduvMatrix< F >::GraduvMatrix | ( | const FrmE_Matrix | frm = FrmE_Matrix() | ) |
◆ ~GraduvMatrix()
|
inlinevirtual |
Definition at line 142 of file bf_graduv.hh.
Member Function Documentation
◆ assemble_()
|
protectedinherited |
◆ clone() [1/2]
|
inlinevirtual |
Virtual constructor.
Returns a pointer to a copy of itself. The caller is responsible to destroy this copy.
Implements concepts::Cloneable.
Definition at line 153 of file bf_graduv.hh.
◆ 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/4]
void hp2Dedge::GraduvMatrix< F >::operator() | ( | const concepts::Element< Real > & | elmX, |
const concepts::Element< Real > & | elmY, | ||
concepts::ElementMatrix< F > & | em | ||
) | const |
◆ operator()() [2/4]
|
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/4]
|
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.
◆ operator()() [4/4]
void hp2Dedge::GraduvMatrix< F >::operator() | ( | const hp2D::Quad< Real > & | elmX, |
const Quad< Real > & | elmY, | ||
concepts::ElementMatrix< F > & | em | ||
) | const |
Member Data Documentation
◆ all_
|
protectedinherited |
Parameter for the sum factorisation.
Definition at line 79 of file bf_graduv.hh.
◆ factor_
|
mutableprivateinherited |
Intermediate data for element matrix computation.
Definition at line 87 of file bf_graduv.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.
◆ jacobianInv_
|
mutableprivateinherited |
Definition at line 88 of file bf_graduv.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:
- hp2Dedge/bf_graduv.hh