00001
00002
00003
00004
00005
00006
00007
00008
00009
00012 #ifndef included_RestrictedSlipPlaneModule_h
00013 #define included_RestrictedSlipPlaneModule_h
00014
00024
00025 #include "SAMRAI_config.h"
00026 #include "IntVector.h"
00027
00028
00029 #include "LSMDD_config.h"
00030
00031
00032 using namespace SAMRAI;
00033 using namespace hier;
00034
00035
00036
00037
00038
00039
00040
00041
00042 namespace LSMDD {
00043
00044 class RestrictedSlipPlaneModule
00045 {
00046 public:
00047
00091 static int findSlipPlaneForDislocationSegment(
00092 double &tangent_dot_slip_plane_normal,
00093 double b_x, double b_y, double b_z,
00094 double tangent_vector_x,
00095 double tangent_vector_y,
00096 double tangent_vector_z,
00097 double **slip_planes,
00098 int num_slip_planes,
00099 double burgers_vector_in_plane_tol);
00100
00165 static void computeVelocityWithSlipPlaneRestrictions(
00166 double &velocity_x,
00167 double &velocity_y,
00168 double &velocity_z,
00169 double force_x, double force_y, double force_z,
00170 double b_x, double b_y, double b_z,
00171 double tangent_vector_x,
00172 double tangent_vector_y,
00173 double tangent_vector_z,
00174 double *tangent_vector_data_x,
00175 double *tangent_vector_data_y,
00176 double *tangent_vector_data_z,
00177 const IntVector<3>& tangent_vector_ghostbox_dims,
00178 int tangent_idx_i,
00179 int tangent_idx_j,
00180 int tangent_idx_k,
00181 double **slip_planes,
00182 int num_slip_planes,
00183 double glide_mobility,
00184 double climb_mobility,
00185 double max_angle_for_pure_screw,
00186 double out_of_slip_plane_tol,
00187 double correction_speed,
00188 const double *X,
00189 const double *dX,
00190 bool verbose_mode = false);
00191
00192
00193 private:
00194
00195
00196
00197
00198
00199
00200
00201 RestrictedSlipPlaneModule(){}
00202
00203
00204
00205
00206
00207
00208
00209
00210 RestrictedSlipPlaneModule(const RestrictedSlipPlaneModule& rhs){}
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221 const RestrictedSlipPlaneModule& operator=(
00222 const RestrictedSlipPlaneModule& rhs){ return *this; }
00223
00224 };
00225
00226 }
00227
00228
00229 #endif