A class to calculate the element matrices for problems of linear elasticity in 3D. More...

#include <bf3D_linearElasticity.hh>

Inheritance diagram for hp3D::LinearElasticity< F >:
concepts::BilinearForm< F > concepts::Cloneable concepts::OutputOperator

Public Member Functions

virtual LinearElasticityclone () const
 Virtual constructor. More...
 
virtual BilinearForm * clone () const=0
 Virtual constructor. More...
 
virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream. More...
 
 LinearElasticity (const uint &i, const uint &j, const Real &lambda, const Real &mu)
 
virtual void operator() (const concepts::Element< Real > &elmX, const concepts::Element< Real > &elmY, concepts::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 ~LinearElasticity ()
 

Static Public Member Functions

static void setup (vectorial::BilinearForm< F, Real > &bf, const Real &lambda, const Real &mu)
 

Private Member Functions

void operator() (const Hexahedron &elmX, const Hexahedron &elmY, concepts::ElementMatrix< F > &em) const
 

Private Attributes

concepts::BilinearForm< F > * bfA_
 
concepts::BilinearForm< F > * bfB_
 
Real coefA_
 
Real coefB_
 
uint i_
 
uint j_
 
Real lambda_
 
Real mu_
 

Detailed Description

template<class F>
class hp3D::LinearElasticity< F >

A class to calculate the element matrices for problems of linear elasticity in 3D.

Author
Philipp Kliewe, 2013

Definition at line 42 of file bf3D_linearElasticity.hh.

Constructor & Destructor Documentation

◆ LinearElasticity()

template<class F >
hp3D::LinearElasticity< F >::LinearElasticity ( const uint &  i,
const uint &  j,
const Real &  lambda,
const Real &  mu 
)

◆ ~LinearElasticity()

template<class F >
virtual hp3D::LinearElasticity< F >::~LinearElasticity ( )
virtual

Member Function Documentation

◆ clone() [1/2]

template<class F >
virtual LinearElasticity* hp3D::LinearElasticity< F >::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 54 of file bf3D_linearElasticity.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()

template<class F >
virtual std::ostream& hp3D::LinearElasticity< F >::info ( std::ostream &  os) const
virtual

Returns information in an output stream.

Reimplemented from concepts::BilinearForm< F >.

◆ operator()() [1/4]

template<class F >
virtual void hp3D::LinearElasticity< F >::operator() ( const concepts::Element< Real > &  elmX,
const concepts::Element< Real > &  elmY,
concepts::ElementMatrix< F > &  em 
) const
virtual

◆ operator()() [2/4]

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()() [3/4]

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()() [4/4]

template<class F >
void hp3D::LinearElasticity< F >::operator() ( const Hexahedron elmX,
const Hexahedron elmY,
concepts::ElementMatrix< F > &  em 
) const
private

◆ setup()

template<class F >
static void hp3D::LinearElasticity< F >::setup ( vectorial::BilinearForm< F, Real > &  bf,
const Real &  lambda,
const Real &  mu 
)
static

Member Data Documentation

◆ bfA_

template<class F >
concepts::BilinearForm<F>* hp3D::LinearElasticity< F >::bfA_
private

Definition at line 75 of file bf3D_linearElasticity.hh.

◆ bfB_

template<class F >
concepts::BilinearForm<F>* hp3D::LinearElasticity< F >::bfB_
private

Definition at line 76 of file bf3D_linearElasticity.hh.

◆ coefA_

template<class F >
Real hp3D::LinearElasticity< F >::coefA_
private

Definition at line 77 of file bf3D_linearElasticity.hh.

◆ coefB_

template<class F >
Real hp3D::LinearElasticity< F >::coefB_
private

Definition at line 78 of file bf3D_linearElasticity.hh.

◆ i_

template<class F >
uint hp3D::LinearElasticity< F >::i_
private

Definition at line 70 of file bf3D_linearElasticity.hh.

◆ j_

template<class F >
uint hp3D::LinearElasticity< F >::j_
private

Definition at line 71 of file bf3D_linearElasticity.hh.

◆ lambda_

template<class F >
Real hp3D::LinearElasticity< F >::lambda_
private

Definition at line 72 of file bf3D_linearElasticity.hh.

◆ mu_

template<class F >
Real hp3D::LinearElasticity< F >::mu_
private

Definition at line 73 of file bf3D_linearElasticity.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