Grain Boundary Motion
Bill has a simple 1D model for grain boundary motion and hillock formation. The governing equation is given by
where
with two jump conditions at .
We can include these conditions in the main equations if we write the equations in the weak form:
and
The fipy script is in source:trunk/boettinger/grainBoundary/gb.py.
Version 1551 (source:trunk/boettinger/grainBoundary/gb.py@1551) compares against an analytical solution given by:
where
where
The solution is good for small M in the vicinity of the groove and .
For values of , and with a box size of 40 and 200 grid points. The analytical and numerical solutions are in good agreement in the location of the groove at t=10.
Another test is with an analytical solution for . This looks like
where
and
The code for this comparison is source:trunk/boettinger/grainBoundary/gb.py@1553.
The image below is for at t=10 using the first 14 terms in the power series.
The analytical solution does a good job in the region of the groove, but doesn't rise above as it does when . Obviously, the power series is not much good if the argument is much above 1. If we use this as a boundary then we get at , which seems to correspond with the domain where the solutions are the same.