A function class to calculate element matrices for the Bilinearform of linear Elasticity. More...

#include <hook.hh>

Inheritance diagram for hp3D::Hook:
concepts::BilinearForm< Real > concepts::Cloneable concepts::OutputOperator

Public Member Functions

virtual Cloneable * clone () const =0
 Virtual constructor. More...
 
virtual BilinearForm * clone () const=0
 Virtual constructor. More...
 
 Hook (concepts::Array< Real > &jacobian, concepts::Array< concepts::Array< concepts::MapReal3d > > &jacobianInv, const Hexahedron **oldElm, concepts::Mapping< Real, 6 > &E, const uint i=0, const uint j=0)
 Constructor of the i.th row and j.th column of vectorial Bilinearform. 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...
 
void operator() (const Hexahedron &elmX, const Hexahedron &elmY, concepts::ElementMatrix< Real > &em) const
 
virtual ~Hook ()
 

Protected Member Functions

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

Private Attributes

concepts::Array< concepts::MapReal3dcoeffMatrix_
 
concepts::Mapping< Real, 6 > & E_
 
uint i_
 row and column inside the vectorial Bilinearform More...
 
uint j_
 
concepts::Array< Real > & jacobian_
 Intermediate data for element matrix computation Jacobian (determinant) More...
 
concepts::Array< concepts::Array< concepts::MapReal3d > > & jacobianInv_
 matrix with all matrices a_*a_j' build from inverse of jacobian matrix More...
 
const Hexahedron ** oldElm_
 

Detailed Description

A function class to calculate element matrices for the Bilinearform of linear Elasticity.

Author
Kersten Schmidt, 2003

Definition at line 27 of file hook.hh.

Constructor & Destructor Documentation

◆ Hook()

hp3D::Hook::Hook ( concepts::Array< Real > &  jacobian,
concepts::Array< concepts::Array< concepts::MapReal3d > > &  jacobianInv,
const Hexahedron **  oldElm,
concepts::Mapping< Real, 6 > &  E,
const uint  i = 0,
const uint  j = 0 
)
inline

Constructor of the i.th row and j.th column of vectorial Bilinearform.

Definition at line 30 of file hook.hh.

◆ ~Hook()

virtual hp3D::Hook::~Hook ( )
virtual

Member Function Documentation

◆ clone() [1/2]

virtual Cloneable* concepts::Cloneable::clone ( ) const
pure virtualinherited

Virtual constructor.

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

Implemented in concepts::BilinearForm< F, G >, hp2D::PolyEdgeRule, concepts::Operation< F >, concepts::MappingEdge2d, concepts::ElementFormulaVectorBase< F, G, H, I >, concepts::PiecewiseFormulaBase< F >, concepts::ElementFormula< F, G >, concepts::ExplicitResidual< F >, concepts::LocalEstimator< F >, concepts::FormulaIncPlaneWaveSource, concepts::ComposeFormulaVecEntry< F, DIM, G >, concepts::ComposeFormulaMatVec< F, DIM, G >, concepts::FormulaNormalOuterSP2D< F >, concepts::FrmE_PMLTransformation< dim >, concepts::FormulaPMLHamburger, concepts::FormulaPMLCartNew, concepts::FormulaPMLRadia, concepts::FormulaPMLBoxRestriction< F, G >, concepts::FormulaPMLCart, concepts::FormulaPMLEdgeRadia, concepts::SourceFunctionF0_y, concepts::SourceFunctionF0_x, concepts::FrmE_ScalarProductNormalEdge2d< F >, concepts::ElementFormulaRotate2D< F >, concepts::ElementFormulaBoundary, concepts::ElementFormulaCompose< F, G, H >, concepts::ElementFormulaLiCo< F, G, H, J >, concepts::BilinearF_W< F, H, J, G >, concepts::BilinearF_Sum< F, H, J, G >, concepts::BilinearFormContainer< F, G >, concepts::BilinearFormLiCo< F, G >, linearFEM::Identity2d, linearFEM::Laplace2d, linearFEM::CIdentity1d, linearFEM::Identity1d, linearFEM::Laplace1d, linDG3D::LaplaceVolBF, linDG3D::Identity, linDG2D::LaplaceStabBf, linDG2D::LaplaceFluxBf, linDG2D::LaplaceVolBf, linDG2D::IdentityBf, linDG1D::BoundaryIntStab, linDG1D::BoundaryInt, hp3D::ElementFormulaVectorOnTrace< dim, F, G >, hp3D::RotRot, hp3D::MaxwellSharedData, hp3D::FormulaFromWeight< Weight >, hp3D::DivDiv< Weight >, hp3D::Advection< F >, hp3D::Identity< F >, hp3D::Laplace< F >, hp3D::BilinearFormTwoPartDeriv< F >, hp3D::LinearElasticity< F >, hp2Dedge::EdgeIdentity, hp2Dedge::Rotuv, hp2Dedge::RotRot< F >, hp2Dedge::IdentityMatrix< F >, hp2Dedge::Identity< F >, hp2Dedge::GraduvMatrix< F >, hp2Dedge::Graduv< F >, concepts::DirichletElementFormula< F, G >, hp2D::RotRot, hp2D::MaxwellSharedData, hp2D::FormulaFromWeight< Weight >, hp2D::ElementFormulaSignNormalVector, hp2D::ElementFormulaEdgeJump< F >, hp2D::ElementFormulaEdgeMean< F >, hp2D::ElementFormulaInterpGradN< F, 2 >, hp2D::ElementFormulaInterpGrad< F, 2 >, hp2D::H1Extension< F >, hp2D::PolyEdgeMinNeighMaxChild, hp2D::PolyEdgeMin, hp2D::PolyEdgeMax, hp2D::DivDiv< Weight >, hp2D::BilinearFormTwoPartDeriv< F >, hp2D::BilinearFormOnePartDeriv< F >, hp2D::LaplaceMatrix< F >, hp2D::Laplace< F >, hp2D::Identity< F >, hp2D::Advection< F >, hp1D::ElementFormulaInterpGrad< F >, hp1D::Mean2Jump1< F >, hp1D::Jump1Jump1< F >, hp1D::BiLaplace< F >, hp1D::IdentityParallel< F >, hp1D::Identity< F >, hp1D::Laplace< F >, concepts::SharedJacobianAdj< dim >, concepts::SharedJacobianDet, concepts::FrmE_NormalVector3d, concepts::FrmE_TangentialVector, concepts::FrmE_NormalVector, concepts::CurvatureElementFormula, concepts::PiecewiseFormulaCombine< F, G, H, I >, concepts::PiecewiseFormulaFun< F, G >, concepts::OpRecipr< F >, concepts::OpAdd< F >, concepts::OpMult< F >, concepts::PiecewiseElementFormula< F, G >, concepts::PiecewiseFormula< F >, concepts::PiecewiseConstDynArrayFormula< F >, concepts::PiecewiseConstFormula< F >, concepts::PiecewiseFormula0< F >, concepts::MappingQuadEdge2d, concepts::MappingParallelEdge2d, concepts::ParabelMappingEdge2d, concepts::EllipseMappingEdge2d, concepts::CircleMappingEdge2d, concepts::MappingStraightEdge2d, concepts::InverseMappingEdge2d, concepts::PartMappingEdge2d, concepts::PiecewiseFormulaVector< 1, F, G, H >, concepts::PiecewiseFormulaVector< dim, F, G, H >, concepts::ElementFormulaVector< 1, F, G, H >, concepts::ElementFormulaVector< dim, F, G, H >, concepts::VectorElementFormulaBase< F, dim, G >, concepts::MatrixElementFormula< F, dim, G >, concepts::FrmE_Sum< F, H, J, G >, concepts::FrmE_Product< F, H, J, G >, concepts::FrmE_Trace< dim, F, G >, concepts::FrmE_PointsToMapping< 2, F, G >, concepts::FrmE_PointToMapping< dim, F, G >, concepts::FrmE_Inverse< F, G >, concepts::FrmE_Conjugate< F, G >, concepts::FrmE_Component_Matrix< F, G, H >, concepts::FrmE_Component< F, G, H >, concepts::ElementFormulaContainer< F, G >, estimator::KeysInfo< F >, estimator::PolynomialDegrees< dim >, hp2D::ImplicitEquilibratedA0< F >, hp2D::LocalFluxes, hp2D::Fluxes, hp2D::ExplicitResidual2D< F >, hp2D::ExplicitResidual2D< F >::EdgeWeight, hp2D::ExplicitResidual2D< F >::Distance, estimator::LocalProjections_P< dim, F, H >, estimator::LocalProjections_S< F, H >, constraints::ConstraintsList< F >, bem::AdaptLaplaceSL01< F >, bem::AdaptLaplaceDL01< F >, bem::AdaptLaplaceDL00< F >, bem::ArbKrnl000< F, K >, bem::Identity< F >, bem::LaplaceHyp< F >, bem::LaplacePLD< F >, bem::LaplaceDL< F >, bem::LaplaceSL< F >, concepts::FormulaPMLRadia, concepts::FormulaPMLBoxRestriction< F, G >, concepts::FormulaPMLCart, concepts::FormulaIncPlaneWaveSource, concepts::ComposeFormulaVecEntry< F, DIM, G >, concepts::ComposeFormulaMatVec< F, DIM, G >, concepts::FormulaNormalOuterSP2D< F >, aglowav2::WavIdentity< F >, and aglowav2::AglowavBF00< F >.

◆ 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()

virtual std::ostream& hp3D::Hook::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::BilinearForm< Real >.

◆ operator()() [1/4]

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

◆ operator()() [2/4]

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/4]

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.

◆ operator()() [4/4]

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

Member Data Documentation

◆ coeffMatrix_

concepts::Array<concepts::MapReal3d> hp3D::Hook::coeffMatrix_
mutableprivate

Definition at line 55 of file hook.hh.

◆ E_

concepts::Mapping<Real, 6>& hp3D::Hook::E_
private

Definition at line 56 of file hook.hh.

◆ i_

uint hp3D::Hook::i_
private

row and column inside the vectorial Bilinearform

Definition at line 47 of file hook.hh.

◆ j_

uint hp3D::Hook::j_
private

Definition at line 47 of file hook.hh.

◆ jacobian_

concepts::Array<Real>& hp3D::Hook::jacobian_
mutableprivate

Intermediate data for element matrix computation Jacobian (determinant)

Definition at line 51 of file hook.hh.

◆ jacobianInv_

concepts::Array<concepts::Array<concepts::MapReal3d> >& hp3D::Hook::jacobianInv_
mutableprivate

matrix with all matrices a_*a_j' build from inverse of jacobian matrix

Definition at line 54 of file hook.hh.

◆ oldElm_

const Hexahedron** hp3D::Hook::oldElm_
private

Definition at line 58 of file hook.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