Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

RestrictedSlipPlaneModule.h

Go to the documentation of this file.
00001 /*
00002  * File:        RestrictedSlipPlaneModule.h
00003  * Copyright:   (c) 2005-2007 Princeton University
00004  * Author(s):   S.S. Jerry Quek, Kevin T. Chu
00005  * Revision:    $Revision: 317 $
00006  * Modified:    $Date: 2007-07-06 23:22:25 -0400 (Fri, 06 Jul 2007) $
00007  * Description: Header file for the RestrictedSlipPlaneModule class
00008  */
00009 
00012 #ifndef included_RestrictedSlipPlaneModule_h
00013 #define included_RestrictedSlipPlaneModule_h
00014 
00024 // SAMRAI Headers
00025 #include "SAMRAI_config.h"
00026 #include "IntVector.h"
00027 
00028 // LSMDD Headers
00029 #include "LSMDD_config.h"
00030 
00031 // namespaces
00032 using namespace SAMRAI;
00033 using namespace hier;
00034 
00035 
00036 /******************************************************************
00037  *
00038  * RestrictedSlipPlaneModule Class Definition
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    * Private default constructor to prevent use.
00197    *
00198    * Arguments:  none
00199    *
00200    */
00201   RestrictedSlipPlaneModule(){}
00202 
00203   /*
00204    * Private copy constructor to prevent use.
00205    *
00206    * Arguments:
00207    *  - rhs (in):  RestrictedSlipPlaneModule object to copy
00208    *
00209    */
00210   RestrictedSlipPlaneModule(const RestrictedSlipPlaneModule& rhs){}
00211 
00212   /*
00213    * Private assignment operator to prevent use.
00214    *
00215    * Arguments:
00216    *  - rhs (in):   RestrictedSlipPlaneModule object to copy
00217    *
00218    * Return value:  *this
00219    *
00220    */
00221   const RestrictedSlipPlaneModule& operator=(
00222     const RestrictedSlipPlaneModule& rhs){ return *this; }
00223 
00224 };
00225 
00226 } // end LSMDD namespace
00227 
00228 
00229 #endif

Generated on Tue Aug 7 15:43:41 2007 for LSMDD by doxygen 1.3.4