Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
GlidePlane.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_GLIDEPLANE_H
9#define model_GLIDEPLANE_H
10
11#include <deque>
12#include <chrono>
13#include <memory>
14#include <map>
15#include <set>
16#include <assert.h>
17#include <Eigen/Core>
18#include <StaticID.h>
19#include <SimplexTraits.h>
20#include <SimplicialMesh.h>
21#include <GlidePlaneFactory.h>
22#include <LatticePlane.h>
23
24//#include <PlaneMeshIntersection.h>
25#include <MeshPlane.h>
26#include <GlidePlaneFactory.h>
27
28
29#ifndef NDEBUG
30#define VerboseGlidePlane(N,x) if(verboseGlidePlane>=N){std::cout<<x;}
31#else
32#define VerboseGlidePlane(N,x)
33#endif
34
35namespace model
36{
37
38 /**************************************************************************/
39 /**************************************************************************/
40 template <int dim>
41 struct GlidePlane :
42 /* base class */ public LatticePlane,
43 /* base class */ public MeshPlane<dim>
44 {
45
48 typedef Eigen::Matrix<double,dim,1> VectorDim;
51
53
57
58 /**********************************************************************/
60 const GlidePlaneKeyType& key_in) ;
61 GlidePlane(const GlidePlane<dim>& other) = delete;
63 std::set<std::shared_ptr<SlipSystem>> slipSystems() const;
64 std::shared_ptr<GlidePlaneBase> planeBase() const;
65 int planeBaseID() const;
66
67 };
68
69 template <int dim>
71
72}
73#endif
74
LatticePlaneKey< dim > GlidePlaneKey
Eigen::Matrix< double, dim, 1 > VectorDim
Definition GlidePlane.h:48
std::set< std::shared_ptr< SlipSystem > > slipSystems() const
const GlidePlaneFactoryType & glidePlaneFactory
Definition GlidePlane.h:54
const GlidePlaneKeyType key
Definition GlidePlane.h:56
std::shared_ptr< GlidePlaneBase > planeBase() const
GlidePlane(const GlidePlane< dim > &other)=delete
GlidePlane< dim > GlidePlaneType
Definition GlidePlane.h:46
GlidePlane(const GlidePlaneFactoryType *const gpF, const GlidePlaneKeyType &key_in)
static int verboseGlidePlane
Definition GlidePlane.h:52
GlidePlaneFactory< dim > GlidePlaneFactoryType
Definition GlidePlane.h:47
KeyType GlidePlaneKeyType
Definition GlidePlane.h:50
const Grain< dim > & grain
Definition GlidePlane.h:55
GlidePlaneKey< dim > KeyType
Definition GlidePlane.h:49
int planeBaseID() const
LatticePlane(const VectorDimD &P, const ReciprocalLatticeDirection< dim > &r)
MeshPlane(const SimplicialMesh< dim > &mesh, const size_t &rID, const VectorDim &p, const VectorDim &n)
Definition MeshPlane.cpp:57