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. | |
| virtual MaxwellSharedData * | data () const |
| Returns the data to be shared. | |
| virtual void | data (concepts::Cloneable *d) |
| Sets the data to be shared. | |
| virtual void | operator() (const concepts::Element< Real > &elmX, const concepts::Element< Real > &elmY, concepts::ElementMatrix< Real > &em) |
| virtual void | operator() (const Element< typename Realtype< Real >::type > &elmX, const Element< typename Realtype< Real >::type > &elmY, ElementMatrix< Real > &em)=0 |
Evaluates the bilinear form for all shape functions on elmX and elmY and stores the result in the matrix em. | |
| 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) |
Evaluates the bilinear form for all shape functions on elmX and elmY and stores the result in the matrix em. | |
| void | operator() (const Quad< Real > &elmX, const Quad< Real > &elmY, concepts::ElementMatrix< Real > &em) |
| 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. | |
| RotRot (const uint i=0, const uint j=0) | |
| Constructor of the i.th row and j.th column of vectorial Bilinearform. | |
| 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. | |
Protected Member Functions | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
Private Attributes | |
| concepts::Array < concepts::MapReal2d > | coeffMatrix_ |
| Intermediate data for element matrix computation. | |
| uint | i_ |
| row and column inside the vectorial Bilinearform | |
| uint | j_ |
| concepts::Array< Real > * | jacobian_ |
| Data shared between components of the rot-rot bilinear forms,. | |
| concepts::Array < concepts::MapReal2d > * | jacobianInv_ |
| Data shared between components of the rot-rot bilinear forms,. | |
| const Quad< Real > ** | oldElm_ |
| Data shared between components of the rot-rot bilinear forms,. | |
| MaxwellSharedData * | sharedData_ |
| Data shared between components of the rot-rot bilinear forms,. | |
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.
| hp2D::RotRot::RotRot | ( | const uint | i = 0, |
| const uint | j = 0 |
||
| ) | [inline] |
| hp2D::RotRot::RotRot | ( | concepts::Array< Real > & | jacobian, |
| concepts::Array< concepts::MapReal2d > & | jacobianInv, | ||
| const Quad< Real > ** | oldElm, | ||
| const uint | i = 0, |
||
| const uint | j = 0 |
||
| ) | [inline] |
| virtual hp2D::RotRot::~RotRot | ( | ) | [virtual] |
| virtual RotRot* hp2D::RotRot::clone | ( | ) | const [virtual] |
Virtual constructor.
Returns a pointer to a copy of itself. The caller is responsible to destroy this copy.
Implements concepts::Cloneable.
| virtual void hp2D::RotRot::data | ( | concepts::Cloneable * | ) | [virtual] |
Sets the data to be shared.
Implements vectorial::Vectorizable.
| virtual MaxwellSharedData* hp2D::RotRot::data | ( | ) | const [virtual] |
Returns the data to be shared.
Implements vectorial::Vectorizable.
| virtual std::ostream& hp2D::RotRot::info | ( | std::ostream & | os | ) | const [protected, virtual] |
Returns information in an output stream.
Reimplemented from concepts::BilinearForm< Real >.
| virtual void concepts::BilinearForm< Real , typename Realtype<Real >::type >::operator() | ( | const Element< typename Realtype<Real >::type > & | elmX, |
| const Element< typename Realtype<Real >::type > & | elmY, | ||
| ElementMatrix< Real > & | em | ||
| ) | [pure virtual, inherited] |
Evaluates the bilinear form for all shape functions on elmX and elmY and stores the result in the matrix em.
em has the correct size. | elmX | Left element (test functions) |
| elmY | Right element (trial functions) |
| em | Return element matrix |
| virtual void concepts::BilinearForm< Real , typename Realtype<Real >::type >::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 | ||
| ) | [inline, virtual, inherited] |
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.
em has the correct size. | elmX | Left element |
| elmY | Right element |
| em | Return element matrix |
| ep | Element pair holding more information on the pair elmX and elmY |
Definition at line 53 of file bilinearForm.hh.

| virtual void hp2D::RotRot::operator() | ( | const concepts::Element< Real > & | elmX, |
| const concepts::Element< Real > & | elmY, | ||
| concepts::ElementMatrix< Real > & | em | ||
| ) | [virtual] |
| void hp2D::RotRot::operator() | ( | const Quad< Real > & | elmX, |
| const Quad< Real > & | elmY, | ||
| concepts::ElementMatrix< Real > & | em | ||
| ) |
| static void hp2D::RotRot::setup | ( | vectorial::BilinearForm< Real, Real > & | bf | ) | [static] |
Sets up the bilinear form for the rot-rot part for Maxwell's equation using weighted regularization.
| bf | Resulting bilinear form (use this to compute the matrix) |
bf needs to be 2 x 2. uint hp2D::RotRot::i_ [private] |
uint hp2D::RotRot::j_ [private] |
concepts::Array<Real>* hp2D::RotRot::jacobian_ [private] |
const Quad<Real>** hp2D::RotRot::oldElm_ [private] |
MaxwellSharedData* hp2D::RotRot::sharedData_ [private] |