CGPACK > JUL-2013
3-JUL-2013: Grain boundary fracture.
This is very simple. If a cell is on the grain boundary, and if it has a fractured neighbour, then it will become cgca_gb_state_fractured. The results below are from a (50,50,50)[2,2,2] coarray model with two grains. The model does 70 iterations of cleavage and then a single grain boundary fracture iteration.
These are two cleavage cracks in two grains, with crack fronts shown in blue and the crack flanks in red.
Here you see the crack fronts, and the fractured grain boundary cells, confusingly of the same colour. (This needs to change!)
Here are all failed cells: crack flanks, crack fronts and fractured grain boundary.
5-JUL-2013: Grain boundary smoothing
It seems there is a problem in the model in that the crack can cross the grain boundary, but will not propagate in it. It seems the cause of the problem is a very irregular grain boundary, so that in some cases the first cell in the new grain wil have only neighbours which are not on the cleavage plane. No neighbouring cell can therefore joint the first cleaved cell, and the clevage cannot propagate.
One possible soluion is to smooth grain boundaries. The local smoothing is as follows: for every grain boundary cell the cell state is replaced by the grain number with the highest number of neighbours to that cell. The results are below.
The model space was (10,10,10)[2,2,2], with two randomly scattered grain nuclei.
This is grain 1 at the end of the solidication. Note how irregular the boundary is.
After 10 boudary smoothing iterations, the boundary is a lot smoother:
Because the grain boundary smoothing is a local process, it seems to converge quickly. 10 iterations seems enough, because after 20 iterations the grain boundary is idendical to that after 10 iterations.
The same is obviosly true for the other grain in the model, after 10 iteration the smoothing is complete:
After solidification:
After 10 smoothing iterations:
After 20 smoothing iterations:
8-JUL-2013: Grain boundary smoothing, another example.
Just images here.
Grain 1 - original boundary, after solidification:
Grain 1 - one smoothing iteration, note the differences"
Grain 2 - two smoothing iterations. The level of smoothing between 1 and 2 is less than between 0 and 1:
Grain 2 - four smoothing iterations. Very little change from the previous stage:
Grain 2 - eight smoothing iterations. Almost no change from the previous stage:
Grain 2 - 16 smoothing iterations. Only 2 or 3 cells changed state (it's hard to say exactly just from the images because the Paraview rendering is not one cube per cell!)
Very similar conclusions can be made looking at the changes of the boundary of the other grain - the first iteration changes the boundary a lot, the second much less, and further iterations barely change the boundary at all. This is good news, because we might get away with just a single iteration, and save time on repeated syncs and halo exchange calls.
Grain 2 - original boundary, after solidification:
Grain 2 - 1 smoothing iteration:
Grain 2 - 2 smoothing iterations:
Grain 2 - 4 smoothing iterations:
Grain 2 - 8 smoothing iterations:
Grain 2 - 16 smoothing iterations:
Indeed, it seems the GB smoothing, even a single iteration, helps resolve the problem described in the 5-JUL-2013 entry. I've tried the cleavage model about 10 times and did not get a non-propagating cross-boundary cleavage once. Here's a typical example:
Just 2 cracks:
2 cracks + a grain:
9-JUL-2013: Grain boundary fracture, single iteration
After fixing the cross boundary cleavage propagation problem, here's a repeat of the grain boundary fracture model. After 70 cleavage iterations, there was a single GB fracture iteration. The cleavage cracks are red and the failed grain boundary is grey.
Note in the above image a modelling artifact, that there is a grain boundary between the cells adjacent the halo and the halo cells, which are typically cgca_liquid_state. Hence you see this "grain boundary" fracturing. This would not be a problem with periodic BC, but is a problem with fixed BC. So I left cgca_gbf1 only for periodic BC cases, and for fixed BC I made cgca_gbf1f. Below you can see how GB fracture works with fixed BC with cgca_gbf1f.
Here are just two clevage cracks:
And here the GB fractured cells are shown in grey too:
This view clearly shows how GB fracture grows. It expands along the GB from the two cleavage crack intersections with GB. This might not be physically valid! I need to think more about the physics of GB fracture.