linearFEM::CIdentity1d Class Referenceabstract

Discrete equivalent for a reaction term in 1D for linear FEM. More...

#include <bilinearForm1D.hh>

Inheritance diagram for linearFEM::CIdentity1d:
concepts::BilinearForm< Real > concepts::Cloneable concepts::OutputOperator

Public Member Functions

 CIdentity1d (const concepts::Formula< Real > &frm, const uint gauss_p=1)
 Constructor. More...
 
virtual CIdentity1dclone () const
 Virtual constructor. More...
 
virtual BilinearForm * clone () const=0
 Virtual constructor. 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...
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream. More...
 

Private Attributes

std::unique_ptr< const concepts::Formula< Real > > frm_
 Formula. More...
 
const concepts::Quadrature< 4 > quad_
 Quadrature rule. More...
 

Detailed Description

Discrete equivalent for a reaction term in 1D for linear FEM.

This bilinear form computes the mass matrix resulting from the discretization of a reaction term with a varying reaction coefficient c given by a formula frm (to be specified in the constructor):

\[ \int_K c(x) \phi_i \phi_j \, dx \]

for the element shape functions $\phi_i$.

Author
Philipp Frauenfelder, 2002

Definition at line 67 of file bilinearForm1D.hh.

Constructor & Destructor Documentation

◆ CIdentity1d()

linearFEM::CIdentity1d::CIdentity1d ( const concepts::Formula< Real > &  frm,
const uint  gauss_p = 1 
)
inline

Constructor.

Parameters
frmFormula for the coefficients
gauss_pNumber of points for the Gaussian quadrature rule

Definition at line 73 of file bilinearForm1D.hh.

Member Function Documentation

◆ clone() [1/2]

virtual CIdentity1d* linearFEM::CIdentity1d::clone ( ) const
inlinevirtual

Virtual constructor.

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

Implements concepts::Cloneable.

Definition at line 79 of file bilinearForm1D.hh.

◆ clone() [2/2]

virtual BilinearForm* concepts::BilinearForm< Real , typename Realtype<Real >::type >::clone ( ) const
pure virtualinherited

Virtual constructor.

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

◆ info()

◆ operator()() [1/3]

virtual void linearFEM::CIdentity1d::operator() ( const concepts::Element< Real > &  elmX,
const concepts::Element< Real > &  elmY,
concepts::ElementMatrix< Real > &  em 
) const
virtual

◆ operator()() [2/3]

virtual void concepts::BilinearForm< Real , typename Realtype<Real >::type >::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

◆ operator()() [3/3]

virtual void concepts::BilinearForm< Real , typename Realtype<Real >::type >::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

Definition at line 57 of file bilinearForm.hh.

Member Data Documentation

◆ frm_

std::unique_ptr<const concepts::Formula<Real> > linearFEM::CIdentity1d::frm_
private

Formula.

Definition at line 83 of file bilinearForm1D.hh.

◆ quad_

const concepts::Quadrature<4> linearFEM::CIdentity1d::quad_
private

Quadrature rule.

Definition at line 85 of file bilinearForm1D.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich