Class documentation of Concepts

Loading...
Searching...
No Matches
vectorial::BilinearForm< F, G > Class Template Reference

#include <vectorial.hh>

Inheritance diagram for vectorial::BilinearForm< F, G >:
concepts::BilinearForm< F, G > vectorial::Vectorial< F > concepts::Cloneable concepts::OutputOperator

Public Member Functions

 BilinearForm (const uint vdim1, const uint vdim2=0)
 
 BilinearForm (const BilinearForm &b)
 Copy constructor. This copy constructor performs a deep copy of b.
 
virtual BilinearFormclone () const
 
virtual void put (concepts::BilinearForm< F, G > &bf, const int i, const int j)
 
void putStore (concepts::BilinearForm< F, G > *bf, const int i, const int j)
 
void putStore (concepts::RCP< concepts::BilinearForm< F, G > > bf, const int i, const int j)
 
void putData (concepts::Cloneable *data)
 
BilinearForm< F, G > & reset ()
 Clear the stores bilinear forms and the shared data.
 
virtual void operator() (const concepts::Element< G > &elmX, const concepts::Element< G > &elmY, concepts::ElementMatrix< F > &em) const
 
virtual void operator() (const concepts::Element< G > &elmV, const concepts::Element< G > &elmU, concepts::ElementMatrix< F > &em, const concepts::ElementPair< G > &elmp) const
 
virtual void insert (F &vdata, const int a=0, const int b=0)
 Add a component.
 
virtual const F * get (const int a, const int b=0) const
 Get a component.
 
uint vdim () const
 Returns number of components.
 

Public Attributes

uint vdim2
 vectorial dimension of second argument of bilinear form
 

Protected Member Functions

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

Protected Attributes

uint vdim_
 Number of components.
 
uint idx_
 Index of the last added component.
 
concepts::Array< F * > vdata_
 Storage.
 

Detailed Description

template<class F, class G = typename concepts::Realtype<F>::type>
class vectorial::BilinearForm< F, G >

Vector valued bilinear form.

Author
Kersten Schmidt, 2002
Examples
elasticity2D_tutorial.cc, and hpFEM3d-EV.cc.

Definition at line 317 of file vectorial.hh.

Constructor & Destructor Documentation

◆ BilinearForm()

template<class F , class G = typename concepts::Realtype<F>::type>
vectorial::BilinearForm< F, G >::BilinearForm ( const uint  vdim1,
const uint  vdim2 = 0 
)
inline

Constructor.

Parameters
vdim1vectorial dimension of test functions
vdim2vectorial dimension of trial functions. Defaults to vdim1

Definition at line 324 of file vectorial.hh.

Member Function Documentation

◆ clone()

template<class F , class G = typename concepts::Realtype<F>::type>
virtual BilinearForm * vectorial::BilinearForm< F, G >::clone ( ) const
virtual

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

Implements concepts::BilinearForm< F, G >.

◆ get()

template<class F >
virtual const F * vectorial::Vectorial< F >::get ( const int  a,
const int  b = 0 
) const
inlinevirtualinherited

Get a component.

Examples
hpFEM3d-EV.cc.

Definition at line 74 of file vectorial.hh.

◆ info()

template<class F , class G = typename concepts::Realtype<F>::type>
virtual std::ostream & vectorial::BilinearForm< F, G >::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

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

◆ insert()

template<class F >
void vectorial::Vectorial< F >::insert ( F &  vdata,
const int  a = 0,
const int  b = 0 
)
virtualinherited

Add a component.

Definition at line 94 of file vectorial.hh.

◆ operator()() [1/2]

template<class F , class G = typename concepts::Realtype<F>::type>
virtual void vectorial::BilinearForm< F, G >::operator() ( const concepts::Element< G > &  elmX,
const concepts::Element< G > &  elmY,
concepts::ElementMatrix< F > &  em,
const concepts::ElementPair< G > &  ep 
) const
virtual

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 from concepts::BilinearForm< F, G >.

◆ operator()() [2/2]

template<class F , class G = typename concepts::Realtype<F>::type>
virtual void vectorial::BilinearForm< F, G >::operator() ( const concepts::Element< G > &  elmX,
const concepts::Element< G > &  elmY,
concepts::ElementMatrix< F > &  em 
) const
virtual

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

Implements concepts::BilinearForm< F, G >.

◆ put()

template<class F , class G = typename concepts::Realtype<F>::type>
virtual void vectorial::BilinearForm< F, G >::put ( concepts::BilinearForm< F, G > &  bf,
const int  i,
const int  j 
)
virtual

insert a Bilinearform bf of one vectorial dimension to the all v-dimensionial Bilinearform

Parameters
irow number of v-dimensions (test functions)
jcolumn number of v-dimensions (trial functions)
Examples
hpFEM3d-EV.cc.

◆ putData()

template<class F , class G = typename concepts::Realtype<F>::type>
void vectorial::BilinearForm< F, G >::putData ( concepts::Cloneable data)
inline

Stores data in sharedData_ (this includes destruction of sharedData_ at cleanup).

Definition at line 354 of file vectorial.hh.

◆ putStore()

template<class F , class G = typename concepts::Realtype<F>::type>
void vectorial::BilinearForm< F, G >::putStore ( concepts::BilinearForm< F, G > *  bf,
const int  i,
const int  j 
)

Acts similarly to the normal put() command, but stores bf in deepCopies_ (without cloning bf first). At cleanup time, bf is destroyed by this class.

◆ vdim()

template<class F >
uint vectorial::Vectorial< F >::vdim ( ) const
inlineinherited

Returns number of components.

Definition at line 77 of file vectorial.hh.

Member Data Documentation

◆ idx_

template<class F >
uint vectorial::Vectorial< F >::idx_
protectedinherited

Index of the last added component.

Definition at line 82 of file vectorial.hh.

◆ vdata_

template<class F >
concepts::Array<F*> vectorial::Vectorial< F >::vdata_
mutableprotectedinherited

Storage.

Definition at line 84 of file vectorial.hh.

◆ vdim2

template<class F , class G = typename concepts::Realtype<F>::type>
uint vectorial::BilinearForm< F, G >::vdim2

vectorial dimension of second argument of bilinear form

Definition at line 368 of file vectorial.hh.

◆ vdim_

template<class F >
uint vectorial::Vectorial< F >::vdim_
protectedinherited

Number of components.

Definition at line 80 of file vectorial.hh.


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