Posts for the month of June 2012

Grain Boundary Motion 4

Bill has corrected the boundary conditions so let's restate the problem. We have (the first equation is missing due to some bug or other in trac).

$ z_t + v z_x = -\left[ \frac{ \kappa_x }{ \left(1 + z_x^2 \right)^{1/2} } \right]_x $

$ \kappa = \left[ \frac{z_x}{\left(1 + z_x^2 \right)^{1/2}} \right]_x $

with a jump at $x=0$, but both $z$ and $\kappa$ are continuous. The jump condition for the first equation is,

$ 2j = \Delta \left( \frac{ \kappa_z }{ \left(1 + z_x^2 \right)^{1/2} } \right) $

This works perfectly as the equation can now be written

$ \int z_t dx + \int \left[ v z_x \right] dx = \int \left[ \frac{ \kappa_x }{ \left(1 + z_x^2 \right)^{1/2} } \right]_x dx + \int  \left[\delta \left(x\right) 2 j \right] dx $

in the finite volume formulation. The issue is how to provide a boundary condition for the second equation with the correct form for the jump condition. Define $\psi$ to be the rotation of the grain boundary and $\theta$ the displacement angle of the upper surfaces in the frame of reference where the grain boundary is vertical. The following holds,

$\gamma_{gb} = 2 \gamma_s \sin \theta$

$ z_x^- = \tan \left(\theta + \psi\right) $

$ z_x^+ = \tan \left(\theta - \psi\right) $`

Essentially, we have to eliminate the angles for an expression for only the $z_x$ and the surface energies. Easy enough to do, but what we really want is a jump condition that fits with equation 2. Ideally this would be of the form.

$\beta = \Delta \left( \frac{ z_z }{ \left(1 + z_x^2 \right)^{1/2} } \right)$

where $\beta$ is a constant. This isn't possible with the above expression involving the angles and grain boundaries. It is quite obvious that

$\Delta \left( \frac{ z_z }{ \left(1 + z_x^2 \right)^{1/2} } \right)$

is just the jump in $dz / ds$ where $s$ is an arc length. This condition requires the vertical displacement from the horizontal and hence knowledge of the orientation of the grain boundary. In terms of the angles,

$\Delta \left( \frac{ z_z }{ \left(1 + z_x^2 \right)^{1/2} } \right) = \sin \left(\theta - \psi\right) - \sin \left(\theta + \psi\right) $

From a practical point of view, I suppose we can deal with this boundary conditions simply be iterating at each time step. However, there seems to be something deeply unsatisfying about it.

  • Posted: 2012-06-28 12:09 (Updated: 2012-06-28 12:18)
  • Author: wd15
  • Categories: (none)
  • Comments (0)

Grain Boundarly Motion 4

Bill, Has corrected the boundary conditions so let's restate the problem. We have:

$ z_t + v z_x = \left[ \frac{ \kappa_x }{ \left(1 + z_x^2 \right)^{1/2} } \right]_x $

$ \kappa = \[left \frac{z_x}{\left(1 + z_x^2 \right)^{1/2}} \right]_x $

with a jump at $x=0$, but both $z$ and $\kappa$ are continuous. The jump condition for the first equation is,

$ 2j = \Delta \left( \frac{ \kappa_z }{ \left(1 + z_x^2 \right)^{1/2} } \right) $

  • Posted: 2012-06-26 11:50
  • Author: wd15
  • Categories: (none)
  • Comments (0)

Grain Boundary Motion 3

The solution for grain boundary motion with translation is given by,

$ z_- = \frac{2 j}{a^3} - \frac{2 j + a^2 M}{3 a^3} \exp\left(a \xi\right) $

$ z_+ = \exp\left(-a \xi / 2\right) \left[\frac{M}{\sqrt{3} a} \sin\left(a \xi \sqrt{3} / 2\right) + \frac{4 j - a^2 M}{3 a^3} \cos\left(a \xi \sqrt{3} / 2\right)\right] $

with

$ z = \begin{cases} z_- & \text{when} \; x<0 \\ z_+ & \text{when} \; x>0 \end{cases} $

where

$a = (V / B)^{1/3} $

and

$\xi = x - V t$

The comparison with the 1D numerical solution seems to be quite good. The numbers are $L=40$, $N=400$, $B=1$, $M=0.1$, $j=-0.1$ and $V=1$.

source:trunk/boettinger/grainBoundary/translation.png@1561

The code for this is source:trunk/boettinger/grainBoundary/gb.py@1561.

  • Posted: 2012-06-19 15:53 (Updated: 2012-06-28 12:05)
  • Author: wd15
  • Categories: (none)
  • Comments (0)

Grain Boundary Motion 2

In blog:GrainBoundaryMotion the calculation of the analytical solution was broken. The complete analytical solution including the power series is

$ z = z_1 + z_2 $

where

$ z_1 = \frac{M}{2} \left( B t \right)^{1 / 4} P \left( \frac{|x|}{\left( B t \right)^{1 / 4} } \right) $

and

$ z_2 = j \left( B t \right)^{3 / 4} W \left( \frac{|x|}{\left( B t \right)^{1 / 4} } \right) $

The power series are given by,

$ P \left( u \right) = \sum_n a_n u^n $

with

$ a_0 = -\frac{1}{2^{1/2} \Gamma \left(5 / 4\right)}$

$a_1 = 1$

$a_2 = -\frac{1}{2^{3/2} \Gamma \left(3 / 4\right)}$

$a_3 = 0$

$a_{n+4} = a_n \frac{n-1}{4 \left(n + 1\right) \left(n + 2\right) \left(n + 3\right) \left(n + 4\right)} $

and

$ W \left( u \right) = \sum_n b_n u^n $

with

$b_0 = \frac{1}{2^{1/2} \Gamma \left(7 / 4\right)}$

$b_1 = 0$

$b_2 = -\frac{1}{2^{3/2} \Gamma \left(5 / 4\right)}$

$b_3 = \frac{1}{6}$

$b_{n+4} = b_n \frac{n-3}{4 \left(n + 1\right) \left(n + 2\right) \left(n + 3\right) \left(n + 4\right)} $

The following image is generated using revision 1559 (source:trunk/boettinger/grainBoundary/gbStationary.py@1559) for $L=40$, $N=400$, $B=1$, $M=0.1$ and $j=-0.1$.

source:trunk/boettinger/grainBoundary/stationary.png@1559

  • Posted: 2012-06-19 14:48
  • Author: wd15
  • Categories: (none)
  • Comments (0)