hp2D::Laplace< F > Class Template Referenceabstract
A function class to calculate element matrices for the Laplacian. More...
#include <bf_laplace.hh>
Public Types | |
typedef concepts::Combtype< Real, typename concepts::Realtype< Real >::type >::type | value_type |
Public Member Functions | |
virtual Laplace< 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... | |
Laplace (const concepts::ElementFormulaContainer< F > frm=concepts::ElementFormulaContainer< F >(), 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 | ~Laplace () |
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 | |
concepts::ElementFormulaContainer< Real > | frm_ |
Element formula. More... | |
concepts::ElementFormulaContainer< concepts::Mapping< typename concepts::Realtype< Real >::type, 2 > > | frmM_ |
Matrix element formula. More... | |
concepts::Array< concepts::Mapping< typename concepts::Realtype< Real >::type, 2 > > | intermediateMatrix_ |
Intermediate matrix. More... | |
concepts::Array< Real > | intermediateValue_ |
Intermediate value. More... | |
Private Member Functions | |
bool | assembleLaguerre_ (const InfiniteLaguerreQuad *elmX, const InfiniteLaguerreQuad *elmY, concepts::ElementMatrix< F > &em) const |
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 | |
bool | all_ |
Parameter for the sum factorisation. More... | |
concepts::ElementMatrix< Real > | mass1D_ |
concepts::RCP< concepts::SharedJacobianAdj< 2 > > | sharedData_ |
Shared data for vectorial bilinear forms. More... | |
concepts::ElementMatrix< Real > | stiff1D_ |
Local 1D stiffness and mass matrices for Karniadakis basis. More... | |
Detailed Description
template<class F = Real>
class hp2D::Laplace< F >
A function class to calculate element matrices for the Laplacian.
- Examples
- BGT_0.cc, exactDtN.cc, howToGetStarted.cc, hpFEM2d-simple.cc, hpFEM2d.cc, inhomDirichletBCs.cc, inhomDirichletBCsLagrange.cc, inhomNeumannBCs.cc, parallelizationTutorial.cc, and RobinBCs.cc.
Definition at line 90 of file bf_laplace.hh.
Member Typedef Documentation
◆ value_type
|
inherited |
Definition at line 64 of file bf_laplace.hh.
Constructor & Destructor Documentation
◆ Laplace()
hp2D::Laplace< F >::Laplace | ( | const concepts::ElementFormulaContainer< F > | frm = concepts::ElementFormulaContainer< F >() , |
bool | all = false |
||
) |
Constructor.
The formula frm
is evaluated in each quadrature point.
◆ ~Laplace()
|
virtual |
Member Function Documentation
◆ assemble_()
|
protectedinherited |
◆ assembleLaguerre_()
|
private |
◆ 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_
|
private |
Parameter for the sum factorisation.
Definition at line 109 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.
◆ mass1D_
|
private |
Definition at line 112 of file bf_laplace.hh.
◆ sharedData_
|
privateinherited |
Shared data for vectorial bilinear forms.
Definition at line 212 of file bilinearFormHelper.hh.
◆ stiff1D_
|
private |
Local 1D stiffness and mass matrices for Karniadakis basis.
Definition at line 112 of file bf_laplace.hh.
The documentation for this class was generated from the following file:
- hp2D/bf_laplace.hh