Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
include
InclusionMicrostructure
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
23
namespace
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
/**********************************************************************/
63
EshelbyInclusionBase
(
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
71
virtual
~EshelbyInclusionBase
();
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
SecondPhase.h
SlipSystem.h
StaticID.h
model::EshelbyInclusionBase< 3 >::lambda
const double lambda
Definition
EshelbyInclusionBase.h:36
model::EshelbyInclusionBase< 3 >::eT
MatrixDim eT
Definition
EshelbyInclusionBase.h:47
model::EshelbyInclusionBase< 3 >::secondPhase
const std::shared_ptr< SecondPhase< dim > > secondPhase
Definition
EshelbyInclusionBase.h:39
model::EshelbyInclusionBase::~EshelbyInclusionBase
virtual ~EshelbyInclusionBase()
Definition
src/InclusionMicrostructure/EshelbyInclusionBase.cpp:65
model::EshelbyInclusionBase::stress
virtual MatrixDim stress(const VectorDim &x) const =0
model::EshelbyInclusionBase< 3 >::mu
const double mu
Definition
EshelbyInclusionBase.h:35
model::EshelbyInclusionBase::contains
virtual bool contains(const VectorDim &x) const =0
model::EshelbyInclusionBase< 3 >::pT
MatrixDim pT
Definition
EshelbyInclusionBase.h:49
model::EshelbyInclusionBase< 3 >::mobilityReduction
const double mobilityReduction
Definition
EshelbyInclusionBase.h:37
model::EshelbyInclusionBase< 3 >::eTNorm
double eTNorm
Definition
EshelbyInclusionBase.h:48
model::EshelbyInclusionBase< 3 >::nu
const double nu
Definition
EshelbyInclusionBase.h:34
model::EshelbyInclusionBase< 3 >::phaseID
const int phaseID
Definition
EshelbyInclusionBase.h:38
model::EshelbyInclusionBase::EshelbyInclusionBase
EshelbyInclusionBase(const MatrixDim &_eT, const double &_nu, const double &_mu, const double &_mobilityReduction, const int &_phaseID, const std::shared_ptr< SecondPhase< dim > > &sph)
Definition
src/InclusionMicrostructure/EshelbyInclusionBase.cpp:44
model::StaticID< EshelbyInclusionBase< dim > >::StaticID
StaticID()
Definition
StaticID.h:43
x
x
Definition
int_R.m:12
model
Definition
DD_converter.dox:2
model::SecondPhase
Definition
SecondPhase.h:25
Generated by
1.15.0