Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
PeriodicGlidePlaneFactory.cpp
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_PeriodicGlidePlaneFactory_cpp_
9#define model_PeriodicGlidePlaneFactory_cpp_
10
11#include <Eigen/Dense>
13
14namespace model
15{
16
17 template<int dim>
19 GlidePlaneFactory<dim>& glidePlaneFactory_in) :
20 /* init */ poly(poly_in)
21 /* init */,glidePlaneFactory(glidePlaneFactory_in)
22 {
23 for(const auto& region : poly.mesh.regions())
24 {
25 for(const auto& face : region.second->faces())
26 {
27 if(face.second->periodicFacePair.second)
28 {
29 if( int(region.second->regionID)==face.second->periodicFacePair.second->regionIDs.first
30 ||int(region.second->regionID)==face.second->periodicFacePair.second->regionIDs.second)
31 {// periodic translation re-enters into the same grain
32 const auto& grain(poly.grains.at(region.second->regionID));
33 std::cout<<"MeshFace "<<face.first<<" checking if periodicShift is a LatticeVector "<<std::flush;
34 const auto lv(grain->latticeVector(face.second->periodicFacePair.first));
35 std::cout<<"LatticeVector"<<"="<<lv.base().transpose()<<std::endl;
36 }
37 }
38 }
39 }
40 }
41
42 template<int dim>
47
48 template<int dim>
53
54 template<int dim>
59
60 template struct PeriodicGlidePlaneFactory<3>;
61}
62#endif
PeriodicGlidePlaneFactory(const Polycrystal< dim > &poly_in, GlidePlaneFactory< dim > &glidePlaneFactory_in)
GlidePlaneFactory< dim > & glidePlaneFactory
PeriodicGlidePlaneSharedPtrType get(const GlidePlaneKeyType &temp)
std::shared_ptr< PeriodicGlidePlaneType > PeriodicGlidePlaneSharedPtrType
KeyConstructableWeakPtrFactory< PeriodicGlidePlaneFactoryType, PeriodicGlidePlaneType > BaseType
vertex temp