Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
EshelbyInclusionBase.h
Go to the documentation of this file.
1/* This file is part of MoDELib, the Mechanics Of Defects Evolution Library.
2 *
3 *
4 * MoDELib is distributed without any warranty under the
5 * GNU General Public License (GPL) v2 <http://www.gnu.org/licenses/>.
6 */
7
8#ifndef model_EshelbyInclusionBase_H_
9#define model_EshelbyInclusionBase_H_
10
11#ifndef _MODEL_NON_SINGULAR_DD_
12#define _MODEL_NON_SINGULAR_DD_ 1
13#endif
14
15#include <Eigen/Dense>
16//#include <Material.h>
17#include <StaticID.h>
18
19// http://solidmechanics.org/text/Chapter5_4/Chapter5_4.htm
20#include <SlipSystem.h>
21#include <SecondPhase.h>
22
23namespace model
24{
25
26
27 template <int dim>
28 class EshelbyInclusionBase : public StaticID<EshelbyInclusionBase<dim>>
29 {
30 typedef Eigen::Matrix<double,dim,dim> MatrixDim;
31 typedef Eigen::Matrix<double,dim,1> VectorDim;
32
33 public:
34 const double nu;
35 const double mu;
36 const double lambda;
37 const double mobilityReduction;
38 const int phaseID;
39 const std::shared_ptr<SecondPhase<dim>> secondPhase;
40// const double L;
41// const double M;
42// const double K;
43
44// VectorDim C;
45// double a;
46// double a2;
47 MatrixDim eT;
48 double eTNorm;
49 MatrixDim pT;
50
51
52 public:
53
54// static std::map<const GammaSurface*,GammaSurface> gammaSurfaceMap;
55//
56// static void addSlipSystems(const std::vector<std::shared_ptr<SlipSystem>>& slipSystems);
57
58
59// double misfitEnergy(const Eigen::Matrix<double,3,1>& b, const GammaSurface* const matrixGammaSurface) const;
60
61
62 /**********************************************************************/
64 const MatrixDim& _eT,
65 const double& _nu,
66 const double& _mu,
67 const double& _mobilityReduction,
68 const int& _phaseID,
69 const std::shared_ptr<SecondPhase<dim>>& sph);
70
72 virtual bool contains(const VectorDim& x) const =0 ;
73 virtual MatrixDim stress(const VectorDim& x) const =0;
74
75 };
76
77
78// template <int dim>
79// std::map<const GammaSurface*,GammaSurface> EshelbyInclusionBase<dim>::gammaSurfaceMap;
80}
81#endif
const std::shared_ptr< SecondPhase< dim > > secondPhase
virtual MatrixDim stress(const VectorDim &x) const =0
virtual bool contains(const VectorDim &x) const =0
EshelbyInclusionBase(const MatrixDim &_eT, const double &_nu, const double &_mu, const double &_mobilityReduction, const int &_phaseID, const std::shared_ptr< SecondPhase< dim > > &sph)
x
Definition int_R.m:12