Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
include
MicrostructureGeneration
PlanarLoopGenerator.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_PlanarLoopGenerator_H_
9
#define model_PlanarLoopGenerator_H_
10
11
12
#include <chrono>
13
#include <random>
14
#include <cmath>
15
#include <list>
16
#include <assert.h>
17
#include <Eigen/LU>
18
#include <Eigen/Cholesky>
19
#include <limits>
20
21
//#include <Simplex.h>
22
#include <
SimplicialMesh.h
>
23
#include <
Polycrystal.h
>
24
#include <
PolycrystallineMaterialBase.h
>
25
#include <LatticeModule.h>
26
//#include <PlaneMeshIntersection.h>
27
#include <
DislocationDynamics/DislocationNodeIO.h
>
28
#include <
DislocationDynamics/DislocationLoopIO.h
>
29
#include <
DislocationDynamics/DislocationLoopLinkIO.h
>
30
#include <
DislocationDynamics/DislocationLoopNodeIO.h
>
31
#include <
DefectiveCrystal/DefectiveCrystalConfigIO.h
>
32
#include <
DefectiveCrystal/DefectiveCrystalAuxIO.h
>
33
34
#include <
DislocationDynamics/DislocationLinkingNumber.h
>
35
#include <
TextFileParser.h
>
36
#include <
DislocationDynamics/DislocationInjector.h
>
37
#include <
MeshBoundarySegment.h
>
38
//#include <ConfinedDislocationObject.h>
39
#include <
GlidePlaneModule.h
>
40
#include <
MeshModule.h
>
41
#include <
Plane.h
>
42
//#include <MicrostructureGeneratorBase.h>
43
#include <
PlanarLoopIndividualSpecification.h
>
44
45
namespace
model
46
{
47
48
class
PlanarLoopGenerator
49
//: public MicrostructureGeneratorBase
50
{
51
static
constexpr
int
dim=3;
52
typedef
Eigen::Matrix<double,dim,1> VectorDimD;
53
54
55
static
void
generateSingle(
MicrostructureGenerator
& mg,
const
VectorDimD&
b
,
const
VectorDimD& n,
const
std::vector<VectorDimD>& loopPoints);
56
57
// static void insertJunctionLoop(MicrostructureGenerator& mg,
58
// std::map<VectorDimD,size_t,CompareVectorsByComponent<double,dim,float>>& uniqueNetworkNodeMap,
59
// const std::vector<VectorDimD>& loopNodePos,
60
// const std::shared_ptr<PeriodicGlidePlane<3>>& periodicPlane,
61
// const VectorDimD& b,
62
// const VectorDimD& unitNormal,
63
// const VectorDimD& P0,
64
// const size_t& grainID,
65
// const DislocationLoopIO<dim>::DislocationLoopType& loopType);
66
67
public
:
68
69
// PlanarLoopGenerator(const PlanarLoopIndividualSpecification& spec,const std::string& fileName);
70
PlanarLoopGenerator
(
const
PlanarLoopIndividualSpecification
& spec,
MicrostructureGenerator
& mg);
71
72
// void generate(MicrostructureGenerator& mg) override;
73
// void generateIndividual(MicrostructureGenerator& mg) override;
74
// void generateDensity(MicrostructureGenerator& mg) override;
75
76
};
77
78
}
79
#endif
DefectiveCrystalAuxIO.h
DefectiveCrystalConfigIO.h
DislocationInjector.h
DislocationLinkingNumber.h
DislocationLoopIO.h
DislocationLoopLinkIO.h
DislocationLoopNodeIO.h
DislocationNodeIO.h
GlidePlaneModule.h
MeshBoundarySegment.h
MeshModule.h
PlanarLoopIndividualSpecification.h
Plane.h
Polycrystal.h
PolycrystallineMaterialBase.h
SimplicialMesh.h
TextFileParser.h
model::MicrostructureGenerator
Definition
MicrostructureGenerator.h:82
model::PlanarLoopGenerator::PlanarLoopGenerator
PlanarLoopGenerator(const PlanarLoopIndividualSpecification &spec, MicrostructureGenerator &mg)
Definition
PlanarLoopGenerator.cpp:50
b
b
Definition
int_R.m:16
model
Definition
DD_converter.dox:2
model::PlanarLoopIndividualSpecification
Definition
PlanarLoopIndividualSpecification.h:21
Generated by
1.15.0