00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef included_BasicDislocationPhysicsModule_h
00011 #define included_BasicDislocationPhysicsModule_h
00012
00023
00024 #include "SAMRAI_config.h"
00025 #include "Patch.h"
00026
00027
00028 #include "LSMDD_config.h"
00029
00030
00031
00032
00033
00034
00035
00036
00037 namespace LSMDD {
00038
00039 class BasicDislocationPhysicsModule
00040 {
00041 public:
00042
00064 static void computePKForce(
00065 double &force_x,
00066 double &force_y,
00067 double &force_z,
00068 double b_x,
00069 double b_y,
00070 double b_z,
00071 double tangent_vector_x,
00072 double tangent_vector_y,
00073 double tangent_vector_z,
00074 double sigma11,
00075 double sigma22,
00076 double sigma33,
00077 double sigma23,
00078 double sigma31,
00079 double sigma12,
00080 const double *X,
00081 bool verbose_mode = false);
00082
00113 static void computeVelocityUsingBasicFormula(
00114 double &velocity_x,
00115 double &velocity_y,
00116 double &velocity_z,
00117 double force_x, double force_y, double force_z,
00118 double b_x, double b_y, double b_z,
00119 double tangent_vector_x,
00120 double tangent_vector_y,
00121 double tangent_vector_z,
00122 double glide_mobility,
00123 double climb_mobility,
00124 double max_angle_for_pure_screw,
00125 const double *X,
00126 bool verbose_mode = false);
00127
00128
00129 private:
00130
00131
00132
00133
00134
00135
00136
00137 BasicDislocationPhysicsModule(){}
00138
00139
00140
00141
00142
00143
00144
00145
00146 BasicDislocationPhysicsModule(const BasicDislocationPhysicsModule& rhs){}
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157 const BasicDislocationPhysicsModule& operator=(
00158 const BasicDislocationPhysicsModule& rhs){ return *this; }
00159
00160 };
00161
00162 }
00163
00164 #endif