#include <bilinearFormHelper.hh>
Public Member Functions | |
BilinearFormHelper_1_1 (const concepts::ElementFormulaContainer< F > frm) | |
Constructor for scalar function. | |
BilinearFormHelper_1_1 (const concepts::ElementFormulaContainer< concepts::Mapping< G, 2 > > frmM) | |
Constructor for matrix valued function. | |
virtual | ~BilinearFormHelper_1_1 () |
Destructor. | |
void | data (const concepts::RCP< concepts::SharedJacobianAdj< 2 > > d) |
Set the pointer to the shared data. | |
concepts::RCP< concepts::SharedJacobianAdj< 2 > > | data () const |
Gets the pointer to the shared data. | |
Protected Member Functions | |
void | computeIntermediate_ (const BaseQuad< Real > &elm, const int i=-1, const int j=-1) const |
Protected Attributes | |
concepts::Array< F > | intermediateValue_ |
concepts::Array< concepts::Mapping< G, 2 > > | intermediateMatrix_ |
concepts::ElementFormulaContainer< F > | frm_ |
Element formula. | |
concepts::ElementFormulaContainer< concepts::Mapping< G, 2 > > | frmM_ |
Matrix element formula. | |
Helper class for bilinearforms a(u,v), where u and v are 1-forms, which computes intermediate data for element matrix computation.
It works with scalar functions and matrix valued functions.
For scalar function we have
For matrix valued function we have
For scalar functions also the intermediate data for a bilinear form with partial derivatives can be stored, where the intermediate matrix is the rank-1 product of j-th column of with i-th row of .
Here, J is the Jacobian matrix.
The adjunct of the Jacobian matrix and the inverse of the determinant of the Jacobian matrix can be shared between different instances of the class. This is useful for bilinear forms on vectorial spaces.
Definition at line 140 of file bilinearFormHelper.hh.
|
protected |
Compute the intermediate data for element matrix computation.
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.
|
protected |
Element formula.
Definition at line 193 of file bilinearFormHelper.hh.
|
protected |
Matrix element formula.
Definition at line 195 of file bilinearFormHelper.hh.
|
mutableprotected |
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.
|
mutableprotected |
Intermediate value
In case of a scalar formula:
In case of a matrix formula:
Definition at line 179 of file bilinearFormHelper.hh.