Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
DislocationQuadraturePointIO.cpp
Go to the documentation of this file.
2#include <cfloat>
3
4namespace model
5{
6 template<int dim>
8 /* init */ sourceID(0)
9 /* init */,sinkID(0)
10 /* init */,qID(0)
11 /* init */,r(VectorDim::Zero())
12 /* init */,j(0.0)
13 /* init */,rl(VectorDim::Zero())
14 /* init */,stress(MatrixDim::Zero())
15 /* init */,pkForce(VectorDim::Zero())
16 /* init */,stackingFaultForce(VectorDim::Zero())
17 /* init */,lineTensionForce(VectorDim::Zero())
18 /* init */,velocity(VectorDim::Zero())
19 /* init */,elasticEnergyPerLength(0.0)
20 /* init */,coreEnergyPerLength(0.0)
21 /* init */,cCD(Eigen::Matrix<double,1,ClusterDynamicsParameters<dim>::mSize>::Zero())
22 /* init */,cDD(Eigen::Matrix<double,1,ClusterDynamicsParameters<dim>::mSize>::Zero())
23 {
24 }
25
26
27
28 template<int dim>
30 /* init */ sourceID(0)
31 /* init */,sinkID(0)
32 /* init */,qID(0)
33 /* init */,r(VectorDim::Zero())
34 /* init */,j(0.0)
35 /* init */,rl(VectorDim::Zero())
36 /* init */,stress(MatrixDim::Zero())
37 /* init */,pkForce(VectorDim::Zero())
38 /* init */,stackingFaultForce(VectorDim::Zero())
39 /* init */,lineTensionForce(VectorDim::Zero())
40 /* init */,velocity(VectorDim::Zero())
41 /* init */,elasticEnergyPerLength(0.0)
42 /* init */,coreEnergyPerLength(0.0)
43 /* init */,cCD(Eigen::Matrix<double,1,ClusterDynamicsParameters<dim>::mSize>::Zero())
44 /* init */,cDD(Eigen::Matrix<double,1,ClusterDynamicsParameters<dim>::mSize>::Zero())
45 {
46
47 ss>>sourceID;
48 ss>>sinkID;
49 ss>>qID;
50 for(int d=0;d<dim;++d)
51 {
52 ss>>r(d);
53 }
54 ss>>j;
55 for(int d=0;d<dim;++d)
56 {
57 ss>>rl(d);
58 }
59 for(int i=0;i<dim;++i)
60 {
61 for(int j=0;j<dim;++j)
62 {
63 ss>>stress(i,j);
64 }
65 }
66 for(int d=0;d<dim;++d)
67 {
68 ss>>pkForce(d);
69 }
70 for(int d=0;d<dim;++d)
71 {
73 }
74 for(int d=0;d<dim;++d)
75 {
77 }
78 for(int d=0;d<dim;++d)
79 {
80 ss>>velocity(d);
81 }
84 for(int d=0;d<ClusterDynamicsParameters<dim>::mSize;++d)
85 {
86 ss>>cCD(d);
87 }
88 for(int d=0;d<ClusterDynamicsParameters<dim>::mSize;++d)
89 {
90 ss>>cDD(d);
91 }
92 }
93
94 template<int dim>
95 std::ostream& DislocationQuadraturePointIO<dim>::write(std::ostream& os) const
96 {
97 const auto& ds=*this;
98 os << ds.sourceID<<"\t"
99 /**/<< ds.sinkID<<"\t"
100 /**/<< ds.qID<<"\t"
101 /**/<<std::scientific
102 /**/<<std::setprecision(15)
103 /**/<< ds.r.transpose()<<"\t"
104 /**/<< ds.j<<"\t"
105 /**/<< ds.rl.transpose()<<"\t";
106 for(int d=0;d<dim;++d)
107 {
108 os << ds.stress.row(d)<<" ";
109 }
110 os << ds.pkForce.transpose()<<"\t"
111 /**/<< ds.stackingFaultForce.transpose()<<"\t"
112 /**/<< ds.lineTensionForce.transpose()<<"\t"
113 /**/<< ds.velocity.transpose()<<"\t"
114 /**/<< ds.elasticEnergyPerLength<<"\t"
115 /**/<< ds.coreEnergyPerLength<<"\t"
116 /**/<< ds.cCD<<"\t"
117 /**/<< ds.cDD;
118 return os;
119
120 }
121
122 template struct DislocationQuadraturePointIO<3>;
123}
Eigen::Matrix< double, 1, ClusterDynamicsParameters< dim >::mSize > cDD
std::ostream & write(std::ostream &os) const
Eigen::Matrix< double, dim, dim > MatrixDim
Eigen::Matrix< double, 1, ClusterDynamicsParameters< dim >::mSize > cCD
newsubseg ss[0]
int i