Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
DislocationNodeIO.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_DislocationNodeIO_H_
9#define model_DislocationNodeIO_H_
10
11#include <tuple>
12#include <sstream>
13#include <ostream>
14#include <Eigen/Dense>
15#include <iomanip>
16#include <Eigen/Dense>
17
19
20namespace model
21{
22 template<int dim> class DislocationNode;
23
24 template<short unsigned int dim>
26 {
27
28 typedef Eigen::Matrix<double,dim,1> VectorDim;
29 typedef Eigen::Array<double,1,ClusterDynamicsParameters<dim>::mSize> ClimbVelocityScalarType;
30
31 size_t sID; // sID
32 VectorDim P; // position
33 VectorDim V; // velocity
35 double velocityReduction; // velocity reduction factor
36 int meshLocation; // mesh location
37// size_t masterID; // sID
38
39
40 /**********************************************************************/
42
43 /**********************************************************************/
44 DislocationNodeIO(const size_t& sID_in, // sID
45 const VectorDim& P_in, // position
46 const VectorDim& V_in, // velocity
47 const ClimbVelocityScalarType& climbVelocityScalar_in,
48 const double& velocityReduction_in, // velocity reduction factor
49// const size_t& snID_in, // component ID
50 const int& meshLocation_in);
51
52 /**********************************************************************/
54
55 /**********************************************************************/
56 DislocationNodeIO(std::stringstream& ss);
57
58
59 /**********************************************************************/
60 template <class T>
61 friend T& operator << (T& os, const DislocationNodeIO<dim>& ds)
62 {
63 ds.write(os);
64 return os;
65 }
66
67 std::ostream& write(std::ostream& os) const;
68
69 };
70
71}
72#endif
73
friend T & operator<<(T &os, const DislocationNodeIO< dim > &ds)
ClimbVelocityScalarType climbVelocityScalar
DislocationNodeIO(const DislocationNode< dim > &dn)
Eigen::Matrix< double, dim, 1 > VectorDim
std::ostream & write(std::ostream &os) const
Eigen::Array< double, 1, ClusterDynamicsParameters< dim >::mSize > ClimbVelocityScalarType
newsubseg ss[0]