2 #ifndef DUNE_PDELAB_LINEARELASTICITYPARAMETER_HH
3 #define DUNE_PDELAB_LINEARELASTICITYPARAMETER_HH
7 #include<dune/common/exceptions.hh>
8 #include<dune/common/fvector.hh>
9 #include<dune/common/static_assert.hh>
10 #include<dune/geometry/type.hh>
11 #include<dune/geometry/referenceelements.hh>
12 #include<dune/geometry/quadraturerules.hh>
27 template<
typename GV,
typename RF>
44 typedef Dune::FieldVector<DomainFieldType,dimDomain>
DomainType;
56 typedef typename GV::Traits::template Codim<0>::Entity
ElementType;
61 template<
class T,
class Imp>
70 f (
const typename Traits::ElementType&
e,
const typename Traits::DomainType& x,
71 typename Traits::RangeType & y)
const
78 const typename Traits::IntersectionDomainType & coord
81 return asImp().isDirichlet( ig, coord );
86 u (
const typename Traits::ElementType&
e,
const typename Traits::DomainType& x,
87 typename Traits::RangeType & y)
const
101 typename Traits::RangeFieldType
102 lambda(
const typename Traits::ElementType&
e,
const typename Traits::DomainType& x)
const
104 return asImp().lambda(e,x);
108 typename Traits::RangeFieldType
109 mu(
const typename Traits::ElementType&
e,
const typename Traits::DomainType& x)
const
111 return asImp().mu(e,x);
115 Imp& asImp () {
return static_cast<Imp &
> (*this);}
116 const Imp& asImp ()
const {
return static_cast<const Imp &
>(*this);}
126 typename T::Traits::RangeFieldType,
127 T::Traits::dimRange, typename T::Traits::RangeType >
128 ,LinearElasticityDirichletExtensionAdapter<T> >
132 typename T::Traits::RangeFieldType,
133 T::Traits::dimRange,
typename T::Traits::RangeType >
Traits;
GV::Traits::template Codim< 0 >::Entity ElementType
grid types
Definition: linearelasticityparameter.hh:56
const Traits::GridViewType & getGridView() const
Definition: linearelasticityparameter.hh:148
Traits::RangeFieldType lambda(const typename Traits::ElementType &e, const typename Traits::DomainType &x) const
First Lame parameter.
Definition: linearelasticityparameter.hh:102
Traits class for linear elasticity parameters.
Definition: linearelasticityparameter.hh:28
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:141
GV::Traits::template Codim< 0 >::Entity ElementType
codim 0 entity
Definition: function.hh:118
void f(const typename Traits::ElementType &e, const typename Traits::DomainType &x, typename Traits::RangeType &y) const
volume force term
Definition: linearelasticityparameter.hh:70
Traits::RangeFieldType mu(const typename Traits::ElementType &e, const typename Traits::DomainType &x) const
Second Lame parameter (shear modulus)
Definition: linearelasticityparameter.hh:109
bool isDirichlet(const I &ig, const typename Traits::IntersectionDomainType &coord) const
Definition: linearelasticityparameter.hh:77
Definition: common/constraintsparameters.hh:24
Definition: linearelasticityparameter.hh:37
Dune::FieldVector< GV::Grid::ctype, GV::dimension > DomainType
domain type in dim-size coordinates
Definition: function.hh:49
base class for linear elasticity parameter class
Definition: linearelasticityparameter.hh:62
Dune::PDELab::GridFunctionTraits< typename T::Traits::GridViewType, typename T::Traits::RangeFieldType, T::Traits::dimRange, typename T::Traits::RangeType > Traits
Definition: linearelasticityparameter.hh:133
Dune::FieldVector< RF, dimRange > RangeType
range type
Definition: linearelasticityparameter.hh:53
RF RangeFieldType
Export type for range field.
Definition: linearelasticityparameter.hh:50
R RangeType
range type
Definition: function.hh:61
const IG & ig
Definition: common/constraints.hh:146
leaf of a function tree
Definition: function.hh:577
GV::Grid::ctype DomainFieldType
Export type for domain field.
Definition: linearelasticityparameter.hh:41
Definition: linearelasticityparameter.hh:124
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:86
traits class holding the function signature, same as in local function
Definition: function.hh:176
T Traits
Definition: linearelasticityparameter.hh:66
GV GridViewType
The type of the grid view the function lives on.
Definition: function.hh:115
GV GridViewType
the grid view
Definition: linearelasticityparameter.hh:31
Dune::FieldVector< DomainFieldType, dimDomain > DomainType
domain type
Definition: linearelasticityparameter.hh:44
Dune::FieldVector< DomainFieldType, dimDomain-1 > IntersectionDomainType
domain type
Definition: linearelasticityparameter.hh:47
const E & e
Definition: interpolate.hh:172
dimension of the domain
Definition: linearelasticityparameter.hh:36
GV::Intersection IntersectionType
Definition: linearelasticityparameter.hh:57
LinearElasticityDirichletExtensionAdapter(const typename Traits::GridViewType &g_, T &t_)
constructor
Definition: linearelasticityparameter.hh:136