Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
src
MicrostructureGeneration
VTKGenerator.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_VTKGenerator_cpp_
9
#define model_VTKGenerator_cpp_
10
11
#include <numbers>
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 <
MicrostructureGenerator.h
>
43
#include <
VTKGenerator.h
>
44
#include <
PlaneLineIntersection.h
>
45
46
namespace
model
47
{
48
49
VTKGenerator::VTKGenerator
(
const
std::string& fileName) :
50
/* init */
MicrostructureGeneratorBase(fileName)
51
{
52
53
}
54
55
void
VTKGenerator::generateDensity
(
MicrostructureGenerator
& mg)
56
{
57
throw
std::runtime_error(
"VTKGenerator only works for single entities."
);
58
}
59
60
void
VTKGenerator::generateIndividual
(
MicrostructureGenerator
& mg)
61
{
62
const
std::string vtkRelFile(this->parser.readString(
"vtkFile"
,
false
));
63
const
std::string vtkFile(std::filesystem::path(this->microstructureFileName).parent_path().
string
()+
"/"
+vtkRelFile);
64
65
std::cout<<
magentaBoldColor
<<
"Generating VTK microstructure from "
<<vtkFile<<
defaultColor
<<std::endl;
66
67
const
std::string dislocationType(this->parser.readString(
"dislocationType"
,
false
));
68
69
if
(dislocationType==
"loop"
)
70
{
71
72
73
// mg.insertJunctionLoop(loopNodePos,glidePlane,
74
// slipSystem.s.cartesian(),glidePlane->referencePlane->unitNormal,
75
// glidePlane->referencePlane->snapToPlane(P0),grainID,DislocationLoopIO<dim>::GLISSILELOOP);
76
77
78
}
79
// else if(dislocationType=="dipole")
80
// {
81
//
82
// }
83
else
84
{
85
throw
std::runtime_error(
"Unknown type "
+dislocationType);
86
}
87
88
}
89
90
}
91
#endif
DefectiveCrystalAuxIO.h
DefectiveCrystalConfigIO.h
DislocationInjector.h
DislocationLinkingNumber.h
DislocationLoopIO.h
DislocationLoopLinkIO.h
DislocationLoopNodeIO.h
DislocationNodeIO.h
GlidePlaneModule.h
MeshBoundarySegment.h
MeshModule.h
MicrostructureGenerator.h
Plane.h
PlaneLineIntersection.h
Polycrystal.h
PolycrystallineMaterialBase.h
SimplicialMesh.h
TextFileParser.h
VTKGenerator.h
model::MicrostructureGenerator
Definition
MicrostructureGenerator.h:82
model::VTKGenerator::generateDensity
void generateDensity(MicrostructureGenerator &mg) override
Definition
VTKGenerator.cpp:55
model::VTKGenerator::generateIndividual
void generateIndividual(MicrostructureGenerator &mg) override
Definition
VTKGenerator.cpp:60
model::VTKGenerator::VTKGenerator
VTKGenerator(const std::string &fileName)
Definition
VTKGenerator.cpp:49
model
Definition
DD_converter.dox:2
model::defaultColor
static std::string defaultColor
Definition
TerminalColors.h:17
model::magentaBoldColor
static std::string magentaBoldColor
Definition
TerminalColors.h:32
Generated by
1.15.0