12#ifndef ELASTICITY_HPP_
13#define ELASTICITY_HPP_
15#include <dune/common/fmatrix.hh>
21 template<
class Gr
idType>
25 static const int dim = GridType::dimension;
28 typedef typename GridType::LeafGridView::ctype
ctype;
39 void getBVector(Dune::FieldVector<ctype,funcdim>& BVector,
40 const Dune::FieldVector<ctype,dim>& point);
42 template<
int components,
int funcdim>
43 void getBmatrix(Dune::FieldMatrix<ctype,components,funcdim>& B,
44 const Dune::FieldVector<ctype,dim>& point,
45 const Dune::FieldMatrix<ctype,dim,dim>& Jinv);
52 template<
int comp,
int funcdim>
54 const Dune::FieldMatrix<ctype,comp,funcdim>& B,
55 const Dune::FieldMatrix<ctype,comp,comp>& C,
64 template<
int comp,
int funcdim>
66 const Dune::FieldVector<ctype,funcdim>& v,
67 const Dune::FieldVector<ctype,comp>& eps0,
68 const Dune::FieldMatrix<ctype,comp,funcdim>& B,
69 const Dune::FieldMatrix<ctype,comp,comp>& C);
80Dune::FieldVector<double,3>
waveSpeeds(
const Dune::FieldMatrix<double,6,6>& C,
double phi,
81 double theta,
double density);
Elasticity helper class.
Definition elasticity.hpp:22
Elasticity(const GridType &gv_)
Default constructor.
Definition elasticity.hpp:32
void getStressVector(Dune::FieldVector< ctype, comp > &sigma, const Dune::FieldVector< ctype, funcdim > &v, const Dune::FieldVector< ctype, comp > &eps0, const Dune::FieldMatrix< ctype, comp, funcdim > &B, const Dune::FieldMatrix< ctype, comp, comp > &C)
Return the stress vector in a quadrature point.
Definition elasticity_impl.hpp:107
void getStiffnessMatrix(Dune::FieldMatrix< ctype, funcdim, funcdim > &A, const Dune::FieldMatrix< ctype, comp, funcdim > &B, const Dune::FieldMatrix< ctype, comp, comp > &C, ctype detJW)
Return the stiffness matrix contributions in a quadrature point.
Definition elasticity_impl.hpp:91
void getBVector(Dune::FieldVector< ctype, funcdim > &BVector, const Dune::FieldVector< ctype, dim > &point)
Returns the B matrix in a quadrature point.
GridType::LeafGridView::ctype ctype
A basic number.
Definition elasticity.hpp:28
const GridType & gv
Const reference to our grid.
Definition elasticity.hpp:72
static const int dim
The dimension of our grid.
Definition elasticity.hpp:25
Dune::FieldVector< double, 3 > waveSpeeds(const Dune::FieldMatrix< double, 6, 6 > &C, double phi, double theta, double density)
Compute the elastic wave velocities.
Definition elasticity_impl.hpp:116
Elasticity helper class - template implementations.
Inverting small matrices.
Definition ImplicitAssembly.hpp:43