A function class to calculate element matrices for the mass matrix. More...
#include <bilinearForm.hh>


Public Member Functions | |
| virtual Identity * | clone () const |
| Virtual constructor. | |
| Identity (const concepts::Formula< Real > *frm=0) | |
| Constructor. | |
| 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. | |
| void | operator() (const Hexahedron &elmX, const Hexahedron &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, 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. | |
| virtual void | operator() (const concepts::Element< Real > &elmX, const concepts::Element< Real > &elmY, concepts::ElementMatrix< Real > &em) |
| virtual | ~Identity () |
Static Public Member Functions | |
Timing Interface | |
These functions are used to get timings from class internal computations. The values are stored in a user defined concepts::InOutParameters structure in different arrays (see concepts::ResultsTable table; table.addMap(concepts::ResultsTable::DOUBLE, "jacobian", output); table.addMap(concepts::ResultsTable::DOUBLE, "whole_sumfact", output); std::ofstream ofs("table.gnuplot"); ofs << std::setprecision(20); table.print<concepts::ResultsTable::GNUPLOT>(ofs); | |
| static void | setTimings (concepts::InOutParameters *timings) |
| Sets the class to store the timing values in. | |
| static bool | timings () |
| Returns true if the class is able to do timings. | |
Protected Member Functions | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
Private Attributes | |
| std::auto_ptr< const concepts::Formula< Real > > | frm_ |
| Formula. | |
| concepts::Array< Real > | jacobian_ |
| Intermediate data for element matrix computation. | |
| const Hexahedron * | oldElm_ |
Static Private Attributes | |
| static uint | timeCntr_ |
| Counter for timing table. | |
| static concepts::InOutParameters * | timings_ |
| Place to store timing values. | |
A function class to calculate element matrices for the mass matrix.
This class is equiped with an interface to get timings of internal computations if compiled accordingly (see bilinearForm.cc file), see setTimings() and timings().
Definition at line 71 of file bilinearForm.hh.
| hp3D::Identity::Identity | ( | const concepts::Formula< Real > * | frm = 0 | ) |
Constructor.
| virtual hp3D::Identity::~Identity | ( | ) | [virtual] |
| virtual Identity* hp3D::Identity::clone | ( | ) | const [inline, virtual] |
Virtual constructor.
Returns a pointer to a copy of itself. The caller is responsible to destroy this copy.
Implements concepts::Cloneable.
Definition at line 115 of file bilinearForm.hh.

| virtual std::ostream& hp3D::Identity::info | ( | std::ostream & | os | ) | const [protected, virtual] |
Returns information in an output stream.
Reimplemented from concepts::BilinearForm< Real >.
| virtual void hp3D::Identity::operator() | ( | const concepts::Element< Real > & | elmX, |
| const concepts::Element< Real > & | elmY, | ||
| concepts::ElementMatrix< Real > & | em | ||
| ) | [virtual] |
| 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.

| void hp3D::Identity::operator() | ( | const Hexahedron & | elmX, |
| const Hexahedron & | elmY, | ||
| concepts::ElementMatrix< Real > & | em | ||
| ) |
| 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 |
| static void hp3D::Identity::setTimings | ( | concepts::InOutParameters * | timings | ) | [static] |
Sets the class to store the timing values in.
Additionally, the timeCntr_ is reset to 0. This counter is used to fill in the values into the arrays listed below in subsequent calls. The following timings are taken and stored in timings:
jacobian whole_sumfact symmetrize_em | static bool hp3D::Identity::timings | ( | ) | [static] |
Returns true if the class is able to do timings.
The ability to do timings depends on a compiler switch in bilinearform.cc file.
std::auto_ptr<const concepts::Formula<Real> > hp3D::Identity::frm_ [private] |
Formula.
Definition at line 124 of file bilinearForm.hh.
concepts::Array<Real> hp3D::Identity::jacobian_ [private] |
Intermediate data for element matrix computation.
Definition at line 120 of file bilinearForm.hh.
const Hexahedron* hp3D::Identity::oldElm_ [private] |
Definition at line 122 of file bilinearForm.hh.
uint hp3D::Identity::timeCntr_ [static, private] |
Counter for timing table.
Definition at line 129 of file bilinearForm.hh.
concepts::InOutParameters* hp3D::Identity::timings_ [static, private] |
Place to store timing values.
Definition at line 127 of file bilinearForm.hh.