Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
SecondPhase.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
9#ifndef model_SecondPhase_H_
10#define model_SecondPhase_H_
11
12#include <memory>
13#include <map>
14#include <assert.h>
15
16#include <LatticeModule.h>
17#include <GlidePlaneBase.h>
18#include <SlipSystem.h>
19#include <StaticID.h>
20
21namespace model
22{
23 template<int dim>
24 struct SecondPhase : public StaticID<SecondPhase<dim>>
25 {
26 typedef const Eigen::Matrix<double,dim,1> VectorDim;
27 typedef std::map<size_t,std::shared_ptr<GlidePlaneBase>> PlaneNormalContainerType;
28
29 const std::string name;
30 const std::map<const GlidePlaneBase*,std::shared_ptr<GammaSurface>> gsMap;
32
33 SecondPhase(const std::string&,
34 const std::map<const GlidePlaneBase*,std::shared_ptr<GammaSurface>>&,
36 double misfitEnergy(const VectorDim& s,const GlidePlaneBase* const gpb) const;
37 double misfitEnergy(const VectorDim& s,const size_t&) const;
38 std::shared_ptr<GammaSurface> gammaSurface(const size_t&) const;
39
40 };
41}
42#endif
const std::string name
Definition SecondPhase.h:29
std::shared_ptr< GammaSurface > gammaSurface(const size_t &) const
const PlaneNormalContainerType & planes
Definition SecondPhase.h:31
SecondPhase(const std::string &, const std::map< const GlidePlaneBase *, std::shared_ptr< GammaSurface > > &, const PlaneNormalContainerType &)
const Eigen::Matrix< double, dim, 1 > VectorDim
Definition SecondPhase.h:26
const std::map< const GlidePlaneBase *, std::shared_ptr< GammaSurface > > gsMap
Definition SecondPhase.h:30
double misfitEnergy(const VectorDim &s, const GlidePlaneBase *const gpb) const
std::map< size_t, std::shared_ptr< GlidePlaneBase > > PlaneNormalContainerType
Definition SecondPhase.h:27