elasticity.hpp
Go to the documentation of this file.
1//==============================================================================
11//==============================================================================
12#ifndef ELASTICITY_HPP_
13#define ELASTICITY_HPP_
14
15#include <dune/common/fmatrix.hh>
16
17namespace Opm {
18namespace Elasticity {
19
21 template<class GridType>
23 public:
25 static const int dim = GridType::dimension;
26
28 typedef typename GridType::LeafGridView::ctype ctype;
29
32 Elasticity(const GridType& gv_) : gv(gv_) {}
33
38 template<int components, int funcdim>
39 void getBmatrix(Dune::FieldMatrix<ctype,components,funcdim>& B,
40 const Dune::FieldVector<ctype,dim>& point,
41 const Dune::FieldMatrix<ctype,dim,dim>& Jinv);
42
48 template<int comp, int funcdim>
49 void getStiffnessMatrix(Dune::FieldMatrix<ctype,funcdim,funcdim>& A,
50 const Dune::FieldMatrix<ctype,comp,funcdim>& B,
51 const Dune::FieldMatrix<ctype,comp,comp>& C,
52 ctype detJW);
53
60 template<int comp, int funcdim>
61 void getStressVector(Dune::FieldVector<ctype,comp>& sigma,
62 const Dune::FieldVector<ctype,funcdim>& v,
63 const Dune::FieldVector<ctype,comp>& eps0,
64 const Dune::FieldMatrix<ctype,comp,funcdim>& B,
65 const Dune::FieldMatrix<ctype,comp,comp>& C);
66 protected:
68 const GridType& gv;
69};
70
76Dune::FieldVector<double,3> waveSpeeds(const Dune::FieldMatrix<double,6,6>& C, double phi,
77 double theta, double density);
78
79}
80}
81
82#include "elasticity_impl.hpp"
83
84#endif
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:92
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:76
GridType::LeafGridView::ctype ctype
A basic number.
Definition: elasticity.hpp:28
const GridType & gv
Const reference to our grid.
Definition: elasticity.hpp:68
static const int dim
The dimension of our grid.
Definition: elasticity.hpp:25
void getBmatrix(Dune::FieldMatrix< ctype, components, funcdim > &B, const Dune::FieldVector< ctype, dim > &point, const Dune::FieldMatrix< ctype, dim, dim > &Jinv)
Returns the B matrix in a quadrature point.
Definition: elasticity_impl.hpp:22
Elasticity helper class - template implementations.
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:101
Dune::FieldVector< ctype, comp > eps0
Definition: elasticity_upscale_impl.hpp:446
Definition: ImplicitAssembly.hpp:43