Class documentation of Concepts

Loading...
Searching...
No Matches
hp3D::Identity< F > Class Template Referenceabstract

#include <bilinearForm.hh>

Inheritance diagram for hp3D::Identity< F >:
concepts::BilinearForm< F, G > concepts::Cloneable concepts::OutputOperator

Public Member Functions

 Identity (const concepts::ElementFormulaContainer< F > frm=concepts::ElementFormulaContainer< F >())
 Constructor.
 
virtual void operator() (const concepts::Element< Real > &elmX, const concepts::Element< Real > &elmY, concepts::ElementMatrix< F > &em) const
 
void operator() (const Hexahedron &elmX, const Hexahedron &elmY, concepts::ElementMatrix< F > &em) const
 
virtual void operator() (const Element< G > &elmX, const Element< G > &elmY, ElementMatrix< F > &em) const =0
 
virtual void operator() (const Element< G > &elmX, const Element< G > &elmY, ElementMatrix< F > &em, const ElementPair< G > &ep) const
 

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 setTimings). These arrays can be grouped into a table for easier postprocessing with

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);
virtual Identityclone () const
 
static void setTimings (concepts::InOutParameters *timings)
 
static bool timings ()
 
virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.
 

Detailed Description

template<class F = Real>
class hp3D::Identity< F >

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().

Author
Philipp Frauenfelder, 2001
Examples
hpFEM3d-EV.cc.

Definition at line 84 of file bilinearForm.hh.

Member Function Documentation

◆ clone()

template<class F = Real>
virtual Identity * hp3D::Identity< F >::clone ( ) const
inlinevirtual

Virtual constructor. Returns a pointer to a copy of itself. The caller is responsible to destroy this copy.

Implements concepts::BilinearForm< F, G >.

Definition at line 129 of file bilinearForm.hh.

◆ info()

template<class F = Real>
virtual std::ostream & hp3D::Identity< F >::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::BilinearForm< F, G >.

◆ operator()() [1/2]

template<class F , class G = typename Realtype<F>::type>
virtual void concepts::BilinearForm< F, G >::operator() ( const Element< G > &  elmX,
const Element< G > &  elmY,
ElementMatrix< F > &  em 
) const
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
elmXLeft element (test functions)
elmYRight element (trial functions)
emReturn element matrix

Implemented in vectorial::BilinearForm< F, G >, concepts::BilinearFormLiCo< F, G >, concepts::BilinearFormContainer< F, G >, concepts::BilinearF_Sum< F, H, J, G >, and concepts::BilinearF_W< F, H, J, G >.

◆ operator()() [2/2]

template<class F , class G = typename Realtype<F>::type>
virtual void concepts::BilinearForm< F, G >::operator() ( const Element< G > &  elmX,
const Element< G > &  elmY,
ElementMatrix< F > &  em,
const ElementPair< G > &  ep 
) const
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
elmXLeft element
elmYRight element
emReturn element matrix
epElement pair holding more information on the pair elmX and elmY

Reimplemented in vectorial::BilinearForm< F, G >.

Definition at line 57 of file bilinearForm.hh.

◆ setTimings()

template<class F = Real>
static void hp3D::Identity< F >::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:

  • evaluation of the Jacobian in jacobian
  • calling the sum fatorization subroutine in whole_sumfact
  • symmetrizing the element matrix in symmetrize_em

◆ timings()

template<class F = Real>
static bool hp3D::Identity< F >::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.


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