Simplified Peach-Koehler calculation based on assumption that the
dislocation co-ordinate system is well-expressed in the slip plane as
the base co-ordinate system.
The Peach-Koehler force is greatly simplified when it is expressed in
the dislocation's local co-ordinate system. This fact has been used to
calculate the force in the local co-ordinate system and then rotate it
to the base co-ordinate system, ie the slip plane. Care must be taken to
express the dislocation Burgers and line vectors in the slip plane co-
[+/-1 0 0], and the line vector as [0 0 +/-1] for edge dislocations.
Replaced access by iterator with access via pointer to dislocation
In the function SlipPlane::calculateVelocities, the dislocations are now
accessed via a pointer to the dislocation instead of via the iterator.
This is done in order to reduce the number of times the iterator is
invoked.
Introduced Defect::calculateRotationMatrix function
This function prompts the calculation of the rotation matrix for the
defect coordinateSystem. This function should be called every time there
is a change of base or a modification in the co-ordinate system.
Calculates rotation matrix for each defect as it is created and the co-
Removed dot product calculation in SlipPlane::calculateVelocities
Added baseCoordinateSystem definition for slip plane.
Added members appliedStress_base and appliedStress_local to SlipPlane
The members Stress appliedStress_local and appliedStress_base are added
to the SlipPlane class. These variables represent the externally applied
stress in the local and base co-ordinate systems, respectively. The
function SlipPlane::calculateSlipPlaneAppliedStress(Stress
appliedStress) receives the externally applied stress, expressed in the
base system, and calculates the equivalent in the local system for use
by all other functions.
Rectified CoordinateSystem::calculateRotationMatrix function
The CoordinateSystem::calculateRotationMatrix function was taking in the
base system axes in order to build the rotation matrix. But this was
wrong because in the base system, the base system axes are always [100],
[010] and [001]. These should be used as the basis of the rotation
matrix.
Modified dates in source and header files.
The source and header files that were modified today have been updated
with the date.
Defined static functions for several standard vectors
Added static functions to matrix33.h for standard matrices
Updated date in vector3d.h
Function SlipPlane::calculateDislocationStresses now browsing all
defects for their stress fields.
Added check in Dislocation::stressFieldLocal to avoid division by zero.
If the distance between the source of the stress field and the point of
calculation is zero, the stress field is infinite because of a division
by zero. In this event a zero stress is returned.
Removed pointer check from SlipPlane::calculateDislocationStresses
The function used to check if the pointers of the two entities are the
same in order to avoid division by zero. Now the division by zero
safeguard is in place within the stressField function, therefore this
extra step here is redundant and has been removed.
Merge pull request #28 from adhishm/version_0.0_simulateSingleSlipPlane_ForcePeachKoehler

Version 0.0 simulate single slip plane force peach koehler