#include <DislocationReactionModule.h>
Static Public Member Functions | |
void | setupReactionData (int &rxn_status_handle, int &rxn_line_number_handle) |
void | allocateReactionData (PatchHierarchy< 3 > &hierarchy, int &rxn_status_handle, int &rxn_line_number_handle) |
void | deallocateReactionData (PatchHierarchy< 3 > &hierarchy, int &rxn_status_handle, int &rxn_line_number_handle) |
int | computeForceOnDislocationLineWithReactions (double &force_x, double &force_y, double &force_z, int &rxn_line_num, double **phi_data, double **psi_data, double *tangent_vectors_x, double *tangent_vectors_y, double *tangent_vectors_z, Array< BurgersVector > &burgers_vectors, double sigma11, double sigma22, double sigma33, double sigma23, double sigma31, double sigma12, int *level_set_fcn_box_dims, int *level_set_fcn_ghostcell_width, int idx_x, int idx_y, int idx_z, const double *X, const double *dX, const int line_handle, const LSMDD_Parameters &lsmdd_params, double interaction_force_strength) |
Static Protected Member Functions | |
int | checkForReaction (int &rxn_line_num, double &relative_position_x, double &relative_position_y, double &relative_position_z, double **phi_data, double **psi_data, double *tangent_vectors_x, double *tangent_vectors_y, double *tangent_vectors_z, Array< BurgersVector > &burgers_vectors, int *level_set_fcn_box_dims, int *level_set_fcn_ghostcell_width, int idx_x, int idx_y, int idx_z, const double *X, const double *dX, const int line_handle, const LSMDD_Parameters &lsmdd_params) |
|
allocateReactionData() allocates the data required to support simulation of dislocation reactions. This method should be called in the preprocessAdvanceDislocations() method of the user-defined subclass of LSMDD_PhysicsStrategy. Arguments:
Return value: none |
|
checkForReaction() determines whether there is a dislocation reaction involving the dislocation associated with line_handle. It returns 0 if there is no reaction and 1 or 2 if there has been a reaction. checkForReaction() also returns the dislocation line that reacts with the dislocation line associated with line_handle and the relative position of the reacting segment via arguments that are passed by reference. Arguments:
Return value: reaction status (minus sign indicates 180deg opposite tangent vectors): 0 -> no reaction 1 or -1 -> reaction (b=b1+b2) 2 or -2 -> interpolate force between react and no react |
|
computeForceOnDislocationLineWithReactions() computes the force on the dislocation line associated with line_handle taking into account reactions with other dislocation lines. Arguments:
Return value: reaction status (minus sign indicates 180deg opposite tangent vectors): 0 -> no reaction 1 or -1 -> reaction (b=b1+b2) 2 or -2 -> interpolate force between rxn and no rxn cases NOTES:
|
|
deallocateReactionData() deallocates the data required to support simulation of dislocation reactions. This method should be called in the postprocessAdvanceDislocations() method of the user-defined subclass of LSMDD_PhysicsStrategy. Arguments:
Return value: none |
|
setupReactionData() creates the SAMRAI PatchData required to support detection of reactions and computation of forces and velocities in the presence of dislocation reactions. This method should be called in the constructor of the user-defined subclass of LSMDD_PhysicsStrategy. Arguments:
Return value: none |