Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
src
InclusionMicrostructure
EllipsoidalInclusionIO.cpp
Go to the documentation of this file.
1
/* This file is part of MoDELib, the Mechanics Of Defects Evolution Library.
2
* MoDELib is distributed without any warranty under the
3
* GNU General Public License (GPL) v2 <http://www.gnu.org/licenses/>.
4
*/
5
#include <
InclusionMicrostructure/EllipsoidalInclusionIO.h
>
6
#include <
EllipsoidalInclusion.h
>
7
8
namespace
model
9
{
10
template
<
int
dim>
11
EllipsoidalInclusionIO<dim>::EllipsoidalInclusionIO
(
const
EllipsoidalInclusion<dim>
&ei)
12
:
inclusionID
(ei.sID),
C
(ei.
C
),
axes
(ei.
axes
),
eT
(ei.
eT
),
mobilityReduction
(ei.
mobilityReduction
),
13
phaseID
(ei.
phaseID
)
14
{
15
}
16
17
template
<
int
dim>
void
EllipsoidalInclusionIO<dim>::write
(std::ostream &os)
const
18
{
19
os <<
inclusionID
<<
"\t"
<< std::setprecision(15) << std::scientific <<
C
.transpose() <<
"\t"
;
20
for
(
int
d = 0; d < dim; ++d)
21
{
22
os <<
axes
.row(d) <<
"\t"
;
23
}
24
for
(
int
d = 0; d < dim; ++d)
25
{
26
os <<
eT
.row(d) <<
"\t"
;
27
}
28
os <<
mobilityReduction
<<
"\t"
<<
phaseID
;
29
}
30
31
template
<
int
dim>
32
EllipsoidalInclusionIO<dim>::EllipsoidalInclusionIO
(
const
std::size_t &inclusionID_in,
const
VectorDim
&C_in,
33
const
MatrixDim
&axes_in,
const
MatrixDim
&eT_in,
34
const
double
&mobilityReduction_in,
const
int
&phaseID_in)
35
:
inclusionID
(inclusionID_in),
C
(C_in),
axes
(axes_in),
eT
(eT_in),
mobilityReduction
(mobilityReduction_in),
36
phaseID
(phaseID_in)
37
{
38
}
39
40
template
<
int
dim>
41
EllipsoidalInclusionIO<dim>::EllipsoidalInclusionIO
()
42
:
inclusionID
(0),
C
(
VectorDim
::Zero()),
axes
(
MatrixDim
::Zero()),
eT
(
MatrixDim
::Zero()),
mobilityReduction
(1.0),
43
phaseID
(0)
44
{
45
}
46
47
template
<
int
dim>
48
EllipsoidalInclusionIO<dim>::EllipsoidalInclusionIO
(std::stringstream &
ss
) :
EllipsoidalInclusionIO
()
49
{
50
// Preserve stream failure flags for the caller, matching the other IO records.
51
ss
>>
inclusionID
;
52
for
(
int
d = 0; d < dim; ++d)
53
{
54
ss
>>
C
(d);
55
}
56
for
(
int
i
= 0;
i
< dim; ++
i
)
57
{
58
for
(
int
j
= 0;
j
< dim; ++
j
)
59
{
60
ss
>>
axes
(
i
,
j
);
61
}
62
}
63
for
(
int
i
= 0;
i
< dim; ++
i
)
64
{
65
for
(
int
j
= 0;
j
< dim; ++
j
)
66
{
67
ss
>>
eT
(
i
,
j
);
68
}
69
}
70
ss
>>
mobilityReduction
>>
phaseID
;
71
}
72
73
template
struct
EllipsoidalInclusionIO<3>
;
74
}
// namespace model
EllipsoidalInclusion.h
EllipsoidalInclusionIO.h
model::EllipsoidalInclusion
Definition
EllipsoidalInclusion.h:15
model
Definition
DD_converter.dox:2
model::EllipsoidalInclusionIO
Definition
EllipsoidalInclusionIO.h:17
model::EllipsoidalInclusionIO::MatrixDim
Eigen::Matrix< double, dim, dim > MatrixDim
Definition
EllipsoidalInclusionIO.h:19
model::EllipsoidalInclusionIO::EllipsoidalInclusionIO
EllipsoidalInclusionIO(const EllipsoidalInclusion< dim > &ei)
Definition
EllipsoidalInclusionIO.cpp:11
model::EllipsoidalInclusionIO::EllipsoidalInclusionIO
EllipsoidalInclusionIO()
Definition
EllipsoidalInclusionIO.cpp:41
model::EllipsoidalInclusionIO::VectorDim
Eigen::Matrix< double, dim, 1 > VectorDim
Definition
EllipsoidalInclusionIO.h:20
model::EllipsoidalInclusionIO::inclusionID
std::size_t inclusionID
Definition
EllipsoidalInclusionIO.h:22
model::EllipsoidalInclusionIO::mobilityReduction
double mobilityReduction
Definition
EllipsoidalInclusionIO.h:26
model::EllipsoidalInclusionIO::phaseID
int phaseID
Definition
EllipsoidalInclusionIO.h:27
model::EllipsoidalInclusionIO::write
void write(std::ostream &os) const
Definition
EllipsoidalInclusionIO.cpp:17
model::EllipsoidalInclusionIO::C
VectorDim C
Definition
EllipsoidalInclusionIO.h:23
model::EllipsoidalInclusionIO::eT
MatrixDim eT
Definition
EllipsoidalInclusionIO.h:25
model::EllipsoidalInclusionIO::axes
MatrixDim axes
Definition
EllipsoidalInclusionIO.h:24
j
int j
Definition
triangle.cpp:3300
ss
newsubseg ss[0]
Definition
triangle.cpp:4716
i
int i
Definition
triangle.cpp:3300
Generated by
1.15.0