hp2D::RotRot Class Referenceabstract
A function class to calculate element matrices for the Rot u*Rot v Bilinearform. More...
#include <rotrot.hh>
Public Member Functions | |
virtual RotRot * | clone () const |
Virtual constructor. More... | |
virtual BilinearForm * | clone () const=0 |
Virtual constructor. More... | |
virtual MaxwellSharedData * | data () const |
Returns the data to be shared. More... | |
virtual void | data (concepts::Cloneable *d) |
Sets the data to be shared. More... | |
virtual void | operator() (const concepts::Element< Real > &elmX, const concepts::Element< Real > &elmY, concepts::ElementMatrix< Real > &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 Quad< Real > &elmX, const Quad< Real > &elmY, concepts::ElementMatrix< Real > &em) const |
RotRot (concepts::Array< Real > &jacobian, concepts::Array< concepts::MapReal2d > &jacobianInv, const Quad< Real > **oldElm, const uint i=0, const uint j=0) | |
Constructor of the i.th row and j.th column of vectorial Bilinearform. More... | |
RotRot (const uint i=0, const uint j=0) | |
Constructor of the i.th row and j.th column of vectorial Bilinearform. More... | |
virtual | ~RotRot () |
Static Public Member Functions | |
static void | setup (vectorial::BilinearForm< Real, Real > &bf) |
Sets up the bilinear form for the rot-rot part for Maxwell's equation using weighted regularization. More... | |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. More... | |
Private Attributes | |
concepts::Array< concepts::MapReal2d > | coeffMatrix_ |
Intermediate data for element matrix computation. More... | |
uint | i_ |
row and column inside the vectorial Bilinearform More... | |
uint | j_ |
concepts::Array< Real > * | jacobian_ |
Data shared between components of the rot-rot bilinear forms,. More... | |
concepts::Array< concepts::MapReal2d > * | jacobianInv_ |
const Quad< Real > ** | oldElm_ |
MaxwellSharedData * | sharedData_ |
Detailed Description
A function class to calculate element matrices for the Rot u*Rot v Bilinearform.
The whole rot-rot term is discretized by using all components in a vector valued bilinear form of size 2x2. This is best set up using the RotRot::setup method. It also takes care of correctly shared data using RotRotSharedData.
Constructor & Destructor Documentation
◆ RotRot() [1/2]
|
inline |
◆ RotRot() [2/2]
|
inline |
◆ ~RotRot()
|
virtual |
Member Function Documentation
◆ 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.
◆ data() [1/2]
|
virtual |
Returns the data to be shared.
Implements vectorial::Vectorizable.
◆ data() [2/2]
|
virtual |
Sets the data to be shared.
Implements vectorial::Vectorizable.
◆ info()
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::BilinearForm< Real >.
◆ operator()() [1/4]
|
virtual |
◆ 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 hp2D::RotRot::operator() | ( | const Quad< Real > & | elmX, |
const Quad< Real > & | elmY, | ||
concepts::ElementMatrix< Real > & | em | ||
) | const |
◆ setup()
|
static |
Sets up the bilinear form for the rot-rot part for Maxwell's equation using weighted regularization.
- Parameters
-
bf Resulting bilinear form (use this to compute the matrix)
- Precondition
- The number of components of
bf
needs to be 2 x 2.
Member Data Documentation
◆ coeffMatrix_
|
mutableprivate |
◆ i_
|
private |
◆ j_
◆ jacobian_
|
private |
◆ jacobianInv_
|
private |
◆ oldElm_
◆ sharedData_
|
private |
The documentation for this class was generated from the following file:
- hp2D/rotrot.hh