2 #ifndef DUNE_PDELAB_LOCALOPERATOR_LINEARELASTICITYPARAMETER_HH
3 #define DUNE_PDELAB_LOCALOPERATOR_LINEARELASTICITYPARAMETER_HH
7 #include<dune/common/exceptions.hh>
8 #include<dune/common/fvector.hh>
9 #include<dune/geometry/type.hh>
10 #include<dune/geometry/referenceelements.hh>
11 #include<dune/geometry/quadraturerules.hh>
26 template<
typename GV,
typename RF>
43 typedef Dune::FieldVector<DomainFieldType,dimDomain>
DomainType;
55 typedef typename GV::Traits::template Codim<0>::Entity
ElementType;
60 template<
class T,
class Imp>
69 f (
const typename Traits::ElementType&
e,
const typename Traits::DomainType& x,
70 typename Traits::RangeType & y)
const
77 const typename Traits::IntersectionDomainType & coord
80 return asImp().isDirichlet(
ig, coord );
85 u (
const typename Traits::ElementType&
e,
const typename Traits::DomainType& x,
86 typename Traits::RangeType & y)
const
100 typename Traits::RangeFieldType
101 lambda(
const typename Traits::ElementType&
e,
const typename Traits::DomainType& x)
const
103 return asImp().lambda(
e,x);
107 typename Traits::RangeFieldType
108 mu(
const typename Traits::ElementType&
e,
const typename Traits::DomainType& x)
const
110 return asImp().mu(
e,x);
114 Imp& asImp () {
return static_cast<Imp &
> (*this);}
115 const Imp& asImp ()
const {
return static_cast<const Imp &
>(*this);}
125 typename T::Traits::RangeFieldType,
126 T::Traits::dimRange, typename T::Traits::RangeType >
127 ,LinearElasticityDirichletExtensionAdapter<T> >
131 typename T::Traits::RangeFieldType,
132 T::Traits::dimRange,
typename T::Traits::RangeType >
Traits;
const IG & ig
Definition: constraints.hh:149
const Entity & e
Definition: localfunctionspace.hh:121
For backward compatibility – Do not use this!
Definition: adaptivity.hh:28
Dune::FieldVector< GV::Grid::ctype, GV::dimension > DomainType
domain type in dim-size coordinates
Definition: function.hh:50
R RangeType
range type
Definition: function.hh:62
GV::Traits::template Codim< 0 >::Entity ElementType
codim 0 entity
Definition: function.hh:119
GV GridViewType
The type of the grid view the function lives on.
Definition: function.hh:116
traits class holding the function signature, same as in local function
Definition: function.hh:183
leaf of a function tree
Definition: function.hh:302
Definition: constraintsparameters.hh:26
Traits class for linear elasticity parameters.
Definition: linearelasticityparameter.hh:28
GV GridViewType
the grid view
Definition: linearelasticityparameter.hh:30
@ dimDomain
dimension of the domain
Definition: linearelasticityparameter.hh:35
@ dimRange
Definition: linearelasticityparameter.hh:36
Dune::FieldVector< RF, dimRange > RangeType
range type
Definition: linearelasticityparameter.hh:52
GV::Traits::template Codim< 0 >::Entity ElementType
grid types
Definition: linearelasticityparameter.hh:55
Dune::FieldVector< DomainFieldType, dimDomain-1 > IntersectionDomainType
domain type
Definition: linearelasticityparameter.hh:46
Dune::FieldVector< DomainFieldType, dimDomain > DomainType
domain type
Definition: linearelasticityparameter.hh:43
GV::Grid::ctype DomainFieldType
Export type for domain field.
Definition: linearelasticityparameter.hh:40
RF RangeFieldType
Export type for range field.
Definition: linearelasticityparameter.hh:49
GV::Intersection IntersectionType
Definition: linearelasticityparameter.hh:56
base class for linear elasticity parameter class
Definition: linearelasticityparameter.hh:63
Traits::RangeFieldType lambda(const typename Traits::ElementType &e, const typename Traits::DomainType &x) const
First Lame parameter.
Definition: linearelasticityparameter.hh:101
void f(const typename Traits::ElementType &e, const typename Traits::DomainType &x, typename Traits::RangeType &y) const
volume force term
Definition: linearelasticityparameter.hh:69
T Traits
Definition: linearelasticityparameter.hh:65
bool isDirichlet(const I &ig, const typename Traits::IntersectionDomainType &coord) const
Definition: linearelasticityparameter.hh:76
void u(const typename Traits::ElementType &e, const typename Traits::DomainType &x, typename Traits::RangeType &y) const
Dirichlet boundary condition value (displacement)
Definition: linearelasticityparameter.hh:85
Traits::RangeFieldType mu(const typename Traits::ElementType &e, const typename Traits::DomainType &x) const
Second Lame parameter (shear modulus)
Definition: linearelasticityparameter.hh:108
Definition: linearelasticityparameter.hh:128
Dune::PDELab::GridFunctionTraits< typename T::Traits::GridViewType, typename T::Traits::RangeFieldType, T::Traits::dimRange, typename T::Traits::RangeType > Traits
Definition: linearelasticityparameter.hh:132
void evaluate(const typename Traits::ElementType &e, const typename Traits::DomainType &x, typename Traits::RangeType &y) const
Evaluate the GridFunction at given position.
Definition: linearelasticityparameter.hh:140
LinearElasticityDirichletExtensionAdapter(const typename Traits::GridViewType &g_, T &t_)
constructor
Definition: linearelasticityparameter.hh:135
const Traits::GridViewType & getGridView() const
Definition: linearelasticityparameter.hh:147