Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes
hp3D::RotRot Class Reference

A function class to calculate element matrices for the Rot u*Rot v Bilinearform. More...

#include <rotrot.hh>

Inheritance diagram for hp3D::RotRot:
Inheritance graph
[legend]
Collaboration diagram for hp3D::RotRot:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual RotRotclone () const
 Virtual constructor.
virtual MaxwellSharedDatadata () 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 Hexahedron &elmX, const Hexahedron &elmY, concepts::ElementMatrix< Real > &em)
 RotRot (concepts::Array< Real > &jacobian, concepts::Array< concepts::MapReal3d > &jacobianInv, const Hexahedron **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::MapReal3d
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::MapReal3d > * 
jacobianInv_
 Data shared between components of the rot-rot bilinear forms,.
const Hexahedron ** oldElm_
 Data shared between components of the rot-rot bilinear forms,.
MaxwellSharedDatasharedData_
 Data shared between components of the rot-rot bilinear forms,.

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 3x3. This is best set up using the RotRot::setup method. It also takes care of correctly shared data using RotRotSharedData.

Author:
Kersten Schmidt, 2002

Definition at line 38 of file rotrot.hh.


Constructor & Destructor Documentation

hp3D::RotRot::RotRot ( const uint  i = 0,
const uint  j = 0 
) [inline]

Constructor of the i.th row and j.th column of vectorial Bilinearform.

Definition at line 42 of file rotrot.hh.

hp3D::RotRot::RotRot ( concepts::Array< Real > &  jacobian,
concepts::Array< concepts::MapReal3d > &  jacobianInv,
const Hexahedron **  oldElm,
const uint  i = 0,
const uint  j = 0 
) [inline]

Constructor of the i.th row and j.th column of vectorial Bilinearform.

Definition at line 46 of file rotrot.hh.

virtual hp3D::RotRot::~RotRot ( ) [virtual]

Member Function Documentation

virtual RotRot* hp3D::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 hp3D::RotRot::data ( concepts::Cloneable ) [virtual]

Sets the data to be shared.

Implements vectorial::Vectorizable.

virtual MaxwellSharedData* hp3D::RotRot::data ( ) const [virtual]

Returns the data to be shared.

Implements vectorial::Vectorizable.

virtual std::ostream& hp3D::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.

Postcondition:
The returned matrix em has the correct size.
Parameters:
elmXLeft element (test functions)
elmYRight element (trial functions)
emReturn 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.

Postcondition:
The returned matrix em has the correct size.
Parameters:
elmXLeft element
elmYRight element
emReturn element matrix
epElement pair holding more information on the pair elmX and elmY

Definition at line 53 of file bilinearForm.hh.

Here is the call graph for this function:

virtual void hp3D::RotRot::operator() ( const concepts::Element< Real > &  elmX,
const concepts::Element< Real > &  elmY,
concepts::ElementMatrix< Real > &  em 
) [virtual]
void hp3D::RotRot::operator() ( const Hexahedron elmX,
const Hexahedron elmY,
concepts::ElementMatrix< Real > &  em 
)
static void hp3D::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.

Parameters:
bfResulting bilinear form (use this to compute the matrix)
Precondition:
The number of components of bf needs to be 3 x 3.
Examples:
hpFEM3d-EV.cc.

Member Data Documentation

Intermediate data for element matrix computation.

Definition at line 77 of file rotrot.hh.

uint hp3D::RotRot::i_ [private]

row and column inside the vectorial Bilinearform

Definition at line 74 of file rotrot.hh.

uint hp3D::RotRot::j_ [private]

Definition at line 74 of file rotrot.hh.

Data shared between components of the rot-rot bilinear forms,.

Definition at line 81 of file rotrot.hh.

Data shared between components of the rot-rot bilinear forms,.

Definition at line 82 of file rotrot.hh.

const Hexahedron** hp3D::RotRot::oldElm_ [private]

Data shared between components of the rot-rot bilinear forms,.

Definition at line 83 of file rotrot.hh.

Data shared between components of the rot-rot bilinear forms,.

Definition at line 84 of file rotrot.hh.


The documentation for this class was generated from the following file:

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)