Separated limiting distance and reaction radius calculations; Declared
function SlipPlane::checkLocalReactions
In the file simulateSingleSlipPlane.cpp, the limitingDistance variable
was being calculated in every iteration, but this was unnecessary as
this value remains unchanged throughout the simulation. So the
calculation has been moved outside the iteration loop.
The function SlipPlane checkLocalReactions has been declared. It should
be defined now.
New file slipPlaneLocalReactions.cpp added
This file will contain the source code for functions dealing with local
reactions.
Merge branch 'version_0.0_simulateSingleSlipPlane_localInteractions' of github.com:adhishm/dd2d_Matryoshka into version_0.0_simulateSingleSlipPlane_localInteractions
Completed: Distance based checking for local reactions; Pending:
Identify local reactions.
In the function checkLocalReactions each defect checks for the distance
from its next neighbour. If they are closer to each other than the
reaction radius (given by the argument reactionRadius), we identify the
kind of local reaction and carry it out.
Added documentation to slipPlane.h and completed definition of
absorbDislocation function.
The SlipPlane::absorbDislocation function is defined. It simply removes
the dislocation from the SlipPlane::defects vector. Later a function
will be defined which will clean up the SlipPlane::dislocations vector.
This clean up function will be called once every hundred iterations or
so.
Local reaction functions return iterator.
The local reaction functions now return iterators to indicate where to
comtinue scanning the list.
Problem: In the case of a reaction between two Dislocations, the pointer
of type Defect* is unable to access the Burgers vectors of the
dislocation to verify if it is an annihilation even ot something else.
Added function SlipPlane::findDislocation; Using function
findDislocation for annihilation.
A new function SlipPlane::findDislocation has been defined. This
function takes an iterator indicating a position in the vector
SlipPlane::defects and finds the corresponding dislocation in the vector
SlipPlane::dislocations.
Separate function calls for defect types.
Each defect type has its own specific treatment of interactions. This is
done by simplifying the functions and breaking up the interactions into
small tasks distributed across functions.
Added function SlipPlane::findDislocationIterator; Modified functions
SlipPlane::identifyLocalReaction and SlipPlane::absorbDislocation.
slipPlane: The function SlipPlane::findDislocationIterator has been
defined to obtain the iterator to the dislocation corresponding to the
defect.
slipPlaneLocalReactions: The function SlipPlane::identifyLocalReaction
has been modified to call separate functions depending on the type of
defect.
Corrected spelling error; Pending dislocationInteractions
Corrected spelling error in documentation.
Pending: Function to manage dislocation interactions.
Added functions dislocationInteractions and
dislocation_dislocationInteraction.
dislocationInteractions: To detect the interactions of a dislocation
with other defects.
dislocation_dislocationInteraction: To carry out the interaction between
two dislocations.
Inserted call to SlipPlane::checkLocalReactions in
singleSlipPlane_iterate.
The singleSlipPlane_iterate function now calls checkLocalReactions to
identify local reactions and carry them out.
Merge branch 'version_0.0_simulateSingleSlipPlane' into version_0.0_simulateSingleSlipPlane_localInteractions
Replaced dit + 1 by dnext.
All pointer arithmetic is done by a second variable of the appropriate
type.
Updated end iterator checking in checkLocalReactions loop.
The stopping criterion for the loop in checkLocalReactions was the
vector::end() function for SlipPlane::defects. The trouble with this was
that the function would try to access elements beyond the end of the
vector defects in order to identify the local reaction. This has now
been corrected by updating the stopping condition to the penultimate
element of the vector.
Corrected differing descriptions for function
SlipPlane::freeSurfaceInteractions.
Added delete statements to free memory occupied by objects that are
deleted.
Additional comments to explain what is done when deleting an object.
Removed function SlipPlane::annihilateDislocations
The tasks carried out by this function are now part of the function
SlipPlane::dislocation_dislocationInteraction. Therefore this function
has been removed.
Merge branch 'version_0.0_simulateSingleSlipPlane_localInteractions' of github.com:adhishm/dd2d_Matryoshka into version_0.0_simulateSingleSlipPlane_localInteractions