CGPACK diary, JUL-2013

CGPACK > JUL-2013

previous | UP | next

Download CGPACK Download CGPACK
Download CGPACK
Download CGPACK

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.

Two cleavage cracks in two grains

Here you see the crack fronts, and the fractured grain boundary cells, confusingly of the same colour. (This needs to change!)

The crack fronts from the two cracks + fractured grain boundary cells.

Here are all failed cells: crack flanks, crack fronts and fractured grain boundary.

All failed cells in the model: crack fronts, crack
flanks, 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.

Grain 1 boundary at the end of the solidification.

After 10 boudary smoothing iterations, the boundary is a lot smoother:

Grain 1 boundary, 10 smoothing iterations.

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.

Grain 1 boundary, 20 smoothing iterations.

The same is obviosly true for the other grain in the model, after 10 iteration the smoothing is complete:

After solidification:

Grain 2 boundary at the end of the solidification.

After 10 smoothing iterations:

Grain 2 boundary after 10 smoothing iterations.

After 20 smoothing iterations:

Grain 2 boundary after 20 smoothing iterations.

8-JUL-2013: Grain boundary smoothing, another example.

Just images here.

Grain 1 - original boundary, after solidification:

Grain 1 - original boundary, after solidification

Grain 1 - one smoothing iteration, note the differences"

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 1 - two smoothing iterations

Grain 2 - four smoothing iterations. Very little change from the previous stage:

Grain 1 - four smoothing iterations

Grain 2 - eight smoothing iterations. Almost no change from the previous stage:

Grain 1 - eight smoothing iterations

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!)

Grain 1 - 16 smoothing iterations

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 - original boundary, after solidification

Grain 2 - 1 smoothing iteration:

Grain 2 - 1 smoothing iteration

Grain 2 - 2 smoothing iterations:

Grain 2 - 2 smoothing iterations

Grain 2 - 4 smoothing iterations:

Grain 2 - 4 smoothing iterations

Grain 2 - 8 smoothing iterations:

Grain 2 - 8 smoothing iterations

Grain 2 - 16 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:

Cleavage crossing the grain boundary - just 2 cracks

2 cracks + a grain:

Cleavage crossing the grain boundary - 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.

Cleavage cracks + GB fracture

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:

two cleavage cracks

And here the GB fractured cells are shown in grey too:

Two cleavage cracks + GB fractured cells

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.

Two cleavage cracks + GB fractured cells, alternative view.