Cross-slip in ParaDiS

From Micro and Nano Mechanics Group
Revision as of 18:24, 10 November 2010 by Saubry (talk | contribs) (New page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Explanation of BCC and FCC Cross-slip currently implemented in ParaDiS

Sylvie Aubry

Wednesday November 10 2010

Thexe explanations are from Tom Arsenlis at LLNL who wrote the CrossSlipBCC.c routine.

Cross slip is treated as a topological operation because it modifies the connectivity data.

It does not introduce new nodes and change any topology, but it can potentially change the glide plane information in the connections.

This may affect mobility depending on the mobility used and ruin an implicit time integration step so it is done in between time steps.

The cross slip routine considers the cross slip of discretization nodes that are close to screw.

Closeness to screw is determined by a critical angle, and this value is currently 1 degree. Both of the segments connected to the node being considered must be within this critical angle as well as the virtual line connecting the its two neighbor segments.

If the segments connected to a node are considered close to screw then the node is considered for a possible cross slip operation.

A test is conducted to determine which glide direction of the screw in its three glide planes sees the greatest projection of force.

If the greatest projection is a glide plane different than the current glide plane a cross slip event is attempted. Currently there is no threshold or any preference to remain on the primary plane.

I say attempted because we may not be able to execute the event depending on the current geometry of three nodes in question.

We must consider several possibilities:

a) both segments are on same plane (classic case)

b) the segments are on two different planes with one plane being the intended cross slip plane (we call this a zipper)

c) the segments are on two different planes with neither plane being the cross slip plane. (most general case)

Along with these situations there are also other things that cross slip operation must take into account

1) The processor must own the segments whose data will be modified

2) The processor must own the nodes whose positions may be modified

3) The positions of the neighboring node may have to be modified slightly so that line up with the intersection of two glide planes

All of these checks are performed and if they all pass then the following operations are performed:

For case a) either one or both neighboring nodes are moved into perfect screw alignment, the segments are flipped to the cross slip plane and the cross slip node is slightly moved into the cross slip plane and a small areal nucleus is created

For case b) the node on the primary plane is moved into screw alignment with the cross slipping node, the segment is flipped into the cross slip plane and the node is moved into the cross slip plane

For case c) both neighboring nodes are moved into screw alignment with the cross slipping node and then the rest is the same as in case a.


Now recently we have modified the code to invesgate whether the cross slip event survives so a new force calculation is conducted to see if the cross slip nucleus continues to move outward into the cross slip plane or whether it tends to move back and cause a cross slip flicker. If a flicker is detected then the cross slip event is never inititated. I don’t believe that you have this version of the cross slip function.