hp2D::Advection< F > Class Template Referenceabstract
A function class to calculate element matrices for the bilinear form. More...
#include <bf_advection.hh>
Public Member Functions | |
Advection (const concepts::ElementFormulaContainer< concepts::Point< F, 2 > > frm) | |
Advection (const concepts::ElementFormulaContainer< F > frm1, const concepts::ElementFormulaContainer< F > frm2) | |
virtual Advection< F > * | clone () const |
Virtual constructor. More... | |
virtual BilinearForm * | clone () const=0 |
Virtual 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< Real > &elmX, const Element< Real > &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< Real > &elmX, const Element< Real > &elmY, ElementMatrix< Real > &em, const ElementPair< Real > &ep) const |
Evaluates the bilinear form for all shape functions on elmX and elmY and stores the result in the matrix em . More... | |
virtual | ~Advection () |
Protected Member Functions | |
void | computeIntermediate_ (const BaseQuad< concepts::Real > &elm) 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< concepts::Point< F, 2 > > | frm_ |
ElementFormula. More... | |
ArrayElementFormula< concepts::Point< F, 2 > > | intermediateVector_ |
Intermediate vector (on each quadrature point) More... | |
Private Member Functions | |
bool | operator() (const InfiniteLaguerreQuad *elmX, const InfiniteLaguerreQuad *elmY, concepts::ElementMatrix< F > &em) const |
Assembling for hp2D::InfiniteLaguerreQuad. More... | |
bool | operator() (const Quad< Real > *elmX, const Quad< Real > *elmY, concepts::ElementMatrix< F > &em) const |
Assembling for hp2D::Quad. More... | |
Detailed Description
template<class F = Real>
class hp2D::Advection< F >
A function class to calculate element matrices for the bilinear form.
Here k is an arbitrary vector-valued function with coefficients. For some k, the resulting matrix might be singular, e.g. k=[0,0].
It can be used for the advection term in flow problems or for the asymmetric part of the bilinear form for photonic crystals using periodic boundary conditions.
- Test:
- for tests see app-bholger/test_*
Definition at line 72 of file bf_advection.hh.
Constructor & Destructor Documentation
◆ Advection() [1/2]
|
inline |
Definition at line 76 of file bf_advection.hh.
◆ Advection() [2/2]
|
inline |
Definition at line 81 of file bf_advection.hh.
◆ ~Advection()
|
inlinevirtual |
Definition at line 86 of file bf_advection.hh.
Member Function Documentation
◆ 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 88 of file bf_advection.hh.
◆ clone() [2/2]
|
pure virtualinherited |
Virtual constructor.
Returns a pointer to a copy of itself. The caller is responsible to destroy this copy.
◆ computeIntermediate_()
|
protectedinherited |
Compute the intermediate data for element matrix computation.
This method is important for the derivated linear forms.
◆ info()
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::BilinearForm< Real, Real >.
◆ operator()() [1/5]
|
virtual |
◆ operator()() [2/5]
|
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/5]
|
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/5]
|
private |
Assembling for hp2D::InfiniteLaguerreQuad.
◆ operator()() [5/5]
|
private |
Assembling for hp2D::Quad.
Member Data Documentation
◆ frm_
|
protectedinherited |
ElementFormula.
Definition at line 139 of file linearFormHelper.hh.
◆ intermediateVector_
|
mutableprotectedinherited |
The documentation for this class was generated from the following file:
- hp2D/bf_advection.hh