Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

app-cwinkelm/elasticityTensor.hh
Go to the documentation of this file.
00001 // Elasticity Tensor
00002 
00003 #ifndef elasticityTensor_hh
00004 #define elasticityTensor_hh
00005 
00006 #include "basics/vectorsMatrices.hh"
00007 
00008 using concepts::Real;
00009 
00015 template <int dim>
00016 class ElasticityTensor {
00017  public:
00019   virtual Real entry(uint i, uint j, uint r, uint s) const = 0;
00023   virtual concepts::Mapping<Real, dim> operator() (uint i, uint j) const;
00025   virtual concepts::Mapping<Real, dim> operator()
00026     (concepts::Mapping<Real, dim>& strain) const;
00027  private:
00028   concepts::Mapping<Real, dim> rp2map_(Real* temp) const;
00029 };
00030 
00034 template <int dim>
00035 class ElasticityTensorIsotropic : public ElasticityTensor<dim> {
00036  public:
00041   ElasticityTensorIsotropic(Real mu, Real lambda);
00043   virtual Real entry(uint i, uint j, uint r, uint s) const;
00044  private:
00045   Real mu_;
00046   Real lambda_;
00047 };
00048 
00049 #endif // elasticityTensor_hh

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)