concepts::BilinearF_Sum< F, H, J, G > Class Template Referenceabstract

Sum of two bilinear forms of possible different underlying field type F. More...

#include <bilinearForm.hh>

Inheritance diagram for concepts::BilinearF_Sum< F, H, J, G >:
concepts::BilinearForm< F, typename Realtype< F >::type > concepts::Cloneable concepts::OutputOperator

Public Member Functions

 BilinearF_Sum (const BilinearFormContainer< H, G > bf1, const BilinearFormContainer< J, G > bf2)
 
virtual BilinearF_Sum< F, H, J, G > * clone () const
 Virtual constructor. More...
 
virtual BilinearFormclone () const=0
 Virtual constructor. More...
 
void operator() (const Element< G > &elmX, const Element< G > &elmY, ElementMatrix< F > &em) const
 
virtual void operator() (const Element< typename Realtype< F >::type > &elmX, const Element< typename Realtype< F >::type > &elmY, ElementMatrix< F > &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< F >::type > &elmX, const Element< typename Realtype< F >::type > &elmY, ElementMatrix< F > &em, const ElementPair< typename Realtype< F >::type > &ep) const
 Evaluates the bilinear form for all shape functions on elmX and elmY and stores the result in the matrix em. More...
 
virtual ~BilinearF_Sum ()
 

Protected Member Functions

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

Private Attributes

BilinearFormContainer< H, G > bf1_
 First element formula. More...
 
BilinearFormContainer< J, G > bf2_
 Second element formula. More...
 

Detailed Description

template<class F, class H = F, class J = F, class G = typename Realtype<F>::type>
class concepts::BilinearF_Sum< F, H, J, G >

Sum of two bilinear forms of possible different underlying field type F.

Author
Robert Gruhlke, 2016

Definition at line 210 of file bilinearForm.hh.

Constructor & Destructor Documentation

◆ BilinearF_Sum()

template<class F , class H = F, class J = F, class G = typename Realtype<F>::type>
concepts::BilinearF_Sum< F, H, J, G >::BilinearF_Sum ( const BilinearFormContainer< H, G >  bf1,
const BilinearFormContainer< J, G >  bf2 
)
inline

Definition at line 212 of file bilinearForm.hh.

◆ ~BilinearF_Sum()

template<class F , class H = F, class J = F, class G = typename Realtype<F>::type>
virtual concepts::BilinearF_Sum< F, H, J, G >::~BilinearF_Sum ( )
inlinevirtual

Definition at line 220 of file bilinearForm.hh.

Member Function Documentation

◆ clone() [1/2]

template<class F , class H = F, class J = F, class G = typename Realtype<F>::type>
virtual BilinearF_Sum<F,H,J,G>* concepts::BilinearF_Sum< F, H, J, G >::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 247 of file bilinearForm.hh.

◆ clone() [2/2]

virtual BilinearForm* concepts::BilinearForm< F, typename Realtype< F >::type >::clone
pure virtualinherited

Virtual constructor.

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

Implemented in concepts::BilinearFormContainer< F, typename Realtype< F >::type >.

◆ info()

template<class F , class H = F, class J = F, class G = typename Realtype<F>::type>
virtual std::ostream& concepts::BilinearF_Sum< F, H, J, G >::info ( std::ostream &  os) const
inlineprotectedvirtual

Returns information in an output stream.

Reimplemented from concepts::BilinearForm< F, typename Realtype< F >::type >.

Definition at line 252 of file bilinearForm.hh.

◆ operator()() [1/3]

template<class F , class H = F, class J = F, class G = typename Realtype<F>::type>
void concepts::BilinearF_Sum< F, H, J, G >::operator() ( const Element< G > &  elmX,
const Element< G > &  elmY,
ElementMatrix< F > &  em 
) const
inline

Definition at line 222 of file bilinearForm.hh.

◆ operator()() [2/3]

virtual void concepts::BilinearForm< F, typename Realtype< F >::type >::operator() ( const Element< typename Realtype< F >::type > &  elmX,
const Element< typename Realtype< F >::type > &  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 concepts::BilinearFormContainer< F, typename Realtype< F >::type >.

◆ operator()() [3/3]

virtual void concepts::BilinearForm< F, typename Realtype< F >::type >::operator() ( const Element< typename Realtype< F >::type > &  elmX,
const Element< typename Realtype< F >::type > &  elmY,
ElementMatrix< F > &  em,
const ElementPair< typename Realtype< F >::type > &  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

◆ bf1_

template<class F , class H = F, class J = F, class G = typename Realtype<F>::type>
BilinearFormContainer<H,G> concepts::BilinearF_Sum< F, H, J, G >::bf1_
private

First element formula.

Definition at line 258 of file bilinearForm.hh.

◆ bf2_

template<class F , class H = F, class J = F, class G = typename Realtype<F>::type>
BilinearFormContainer<J,G> concepts::BilinearF_Sum< F, H, J, G >::bf2_
private

Second element formula.

Definition at line 260 of file bilinearForm.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