bem::ArbKrnl000< F, K > Class Template Referenceabstract

Bilinear form to compute arbitrary kernels with NO singularities. More...

#include <bform.hh>

Inheritance diagram for bem::ArbKrnl000< F, K >:
concepts::BilinearForm< F > concepts::Cloneable concepts::OutputOperator

Public Member Functions

 ArbKrnl000 (K &k)
 Constructor. More...
 
virtual ArbKrnl000clone () const
 Virtual constructor. More...
 
virtual BilinearForm * clone () const=0
 Virtual constructor. More...
 
void operator() (const concepts::Element< F > &elmX, const concepts::Element< F > &elmY, concepts::ElementMatrix< F > &em)
 Application operator. More...
 
void operator() (const Constant3d000< F > &elmX, const Constant3d000< F > &elmY, concepts::ElementMatrix< F > &em)
 
void operator() (const Constant3d001< F > &elmX, const Constant3d001< F > &elmY, concepts::ElementMatrix< F > &em)
 
void operator() (const Constant3d002< F > &elmX, const Constant3d002< F > &elmY, concepts::ElementMatrix< F > &em)
 
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...
 
void operator() (const Linear3d000< F > &elmX, const Linear3d000< F > &elmY, concepts::ElementMatrix< F > &em)
 

Protected Member Functions

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

Private Attributes

K & k_
 
ArbKrnlGal000< F, K > qrA_
 Classes used for integration. More...
 
ArbKrnlGal001< F, K > qrB_
 

Detailed Description

template<class F, class K>
class bem::ArbKrnl000< F, K >

Bilinear form to compute arbitrary kernels with NO singularities.

Number of integration points is 7 given by Radon's quadrature formula.

Parameters
FField (Real or Cmplx)
KKernel function

Definition at line 468 of file bform.hh.

Constructor & Destructor Documentation

◆ ArbKrnl000()

template<class F , class K >
bem::ArbKrnl000< F, K >::ArbKrnl000 ( K &  k)
inline

Constructor.

Parameters
kKernel function

Definition at line 478 of file bform.hh.

Member Function Documentation

◆ clone() [1/2]

template<class F , class K >
virtual ArbKrnl000* bem::ArbKrnl000< F, K >::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 503 of file bform.hh.

◆ clone() [2/2]

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

Virtual constructor.

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

◆ info()

virtual std::ostream& concepts::BilinearForm< F, typename Realtype<F>::type >::info ( std::ostream &  os) const
protectedvirtualinherited

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

Reimplemented in hp3D::LinearElasticity< F >, and constraints::ConstraintsList< F >.

◆ operator()() [1/7]

template<class F , class K >
void bem::ArbKrnl000< F, K >::operator() ( const concepts::Element< F > &  elmX,
const concepts::Element< F > &  elmY,
concepts::ElementMatrix< F > &  em 
)

Application operator.

Exceptions
MissingFeature
Parameters
elmXElement
elmYElement
emElement matrix for the two given elements.

◆ operator()() [2/7]

template<class F , class K >
void bem::ArbKrnl000< F, K >::operator() ( const Constant3d000< F > &  elmX,
const Constant3d000< F > &  elmY,
concepts::ElementMatrix< F > &  em 
)
inline

Definition at line 507 of file bform.hh.

◆ operator()() [3/7]

template<class F , class K >
void bem::ArbKrnl000< F, K >::operator() ( const Constant3d001< F > &  elmX,
const Constant3d001< F > &  elmY,
concepts::ElementMatrix< F > &  em 
)
inline

Definition at line 518 of file bform.hh.

◆ operator()() [4/7]

template<class F , class K >
void bem::ArbKrnl000< F, K >::operator() ( const Constant3d002< F > &  elmX,
const Constant3d002< F > &  elmY,
concepts::ElementMatrix< F > &  em 
)
inline

Definition at line 529 of file bform.hh.

◆ operator()() [5/7]

virtual void concepts::BilinearForm< F, typename Realtype<F>::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()() [6/7]

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

◆ operator()() [7/7]

template<class F , class K >
void bem::ArbKrnl000< F, K >::operator() ( const Linear3d000< F > &  elmX,
const Linear3d000< F > &  elmY,
concepts::ElementMatrix< F > &  em 
)
inline

Definition at line 540 of file bform.hh.

Member Data Documentation

◆ k_

template<class F , class K >
K& bem::ArbKrnl000< F, K >::k_
private

Definition at line 473 of file bform.hh.

◆ qrA_

template<class F , class K >
ArbKrnlGal000<F, K> bem::ArbKrnl000< F, K >::qrA_
private

Classes used for integration.

Definition at line 471 of file bform.hh.

◆ qrB_

template<class F , class K >
ArbKrnlGal001<F, K> bem::ArbKrnl000< F, K >::qrB_
private

Definition at line 472 of file bform.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