Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
DislocationMobilityPy.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_DislocationMobilityPy_h_
9#define _model_DislocationMobilityPy_h_
10
11#include <DislocationMobility.h>
12
13#ifdef _MODEL_PYBIND11_
14 #undef slots
15 #include <pybind11/embed.h>
16 #include <pybind11/eigen.h>
17 #include <pybind11/stl.h>
18 #define slots Q_SLOTS
19#endif
20
21//#ifdef _MODEL_PYBIND11_
22// #ifdef slots
23// #define SAVED_SLOTS slots
24// #undef slots
25// #endif
26// #include <pybind11/embed.h>
27// #include <pybind11/eigen.h>
28// #include <pybind11/stl.h>
29// #ifdef SAVED_SLOTS
30// #define slots SAVED_SLOTS
31// #undef SAVED_SLOTS
32// #else
33// #define slots Q_SLOTS
34// #endif
35//#endif
36
37
38namespace model
39{
40
42 {
43
44 typedef Eigen::Matrix<double,3,3> MatrixDim;
45 typedef Eigen::Matrix<double,3,1> VectorDim;
46
47 static constexpr double kB_SI=1.38064852e-23; // [J/K]
48 const double kB;
49 const double mu_SI;
50 const double Tm;
51 const double cs;
52 const std::string pyModuleName;
53
54#ifdef _MODEL_PYBIND11_
55 pybind11::module pyModule;
56#endif
57
58 DislocationMobilityPy(const PolycrystallineMaterialBase& material,const std::string& pyModuleName_in);
59
60 double velocity(const MatrixDim& S,
61 const VectorDim& b,
62 const VectorDim& xi,
63 const VectorDim& n,
64 const double& T,
65 const double& dL,
66 const double& dt,
67 const std::shared_ptr<StochasticForceGenerator>& sfg) const override;
68
69 };
70
71}
72#endif
the tangent vector S
b
Definition int_R.m:16
DislocationMobility(const std::string &name_in)
Eigen::Matrix< double, 3, 3 > MatrixDim
double velocity(const MatrixDim &S, const VectorDim &b, const VectorDim &xi, const VectorDim &n, const double &T, const double &dL, const double &dt, const std::shared_ptr< StochasticForceGenerator > &sfg) const override
DislocationMobilityPy(const PolycrystallineMaterialBase &material, const std::string &pyModuleName_in)
Eigen::Matrix< double, 3, 1 > VectorDim
REAL * xi