Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Moving boundary diffusion equation (transformation of coordinates)

  1. Jan 19, 2014 #1
    I'm trying to implement a numerical code for the diffusion equation with moving boundaries. I have no problems with the numerical implementation, but with the transformation of coordinates. In spherical coordinates, the diffusion equation is
    [itex]\frac{\partial c}{\partial t} = D \left(\frac{2}{r}\frac{\partial c}{\partial r} + \frac{\partial^2 c}{\partial r^2} \right)[/itex].

    After scaling these equations with [itex] \phi = c/C_0, \tau = Dt/R_0^2, x = (r-R_0)/R_0 [/itex] I get

    [itex] \frac{\partial\phi}{\partial \tau} = \frac{2}{1+x} \frac{\partial\phi}{\partial x} + \frac{\partial^2 \phi}{\partial x^2} [/itex]

    Now transform the [itex]x[/itex] coordinate to the Landau (not that Landau) coordinate [itex]\eta(x,\tau)[/itex] defined as

    [itex]\eta(x,\tau) = \frac{x - X(\tau)}{X_\infty - X(\tau)}[/itex].

    The idea of the transformation is to move the boundary [itex]X(\tau)[/itex], which is variable only in time [itex]\tau[/itex] and keep the length scale [itex]X_\infty[/itex] fixed. This is particularly useful, for instance, in problems involving a gas bubble losing volume by diffusion, where the bubble's radius is variable in time.

    There's a paper out there (Fischer, Zinovik and Poulikakos 2009) which suggests that the final result should be

    [itex]\frac{\partial \phi}{\partial \tau} = \left[ \frac{2}{(X_\infty - X(\tau))(1+\eta (X_\infty - X(\tau))+ X)} + \frac{1-\eta}{X_\infty - X(\tau)}\frac{dX}{d\tau} \right] \frac{\partial\phi}{\partial\eta} + \frac{1}{(X_\infty - X(\tau))^2} \frac{\partial^2 \phi}{\partial \eta^2}.

    However, I have some trouble reproducing this result. Can someone guide me through the change of coordinates? I have problems particularly with the second partial derivative.
  2. jcsd
  3. Jan 19, 2014 #2


    User Avatar
    Homework Helper

    It helps, to avoid confusion, to change to two new independent variables, so let's take [itex](x,\tau) \to (\eta, \sigma)[/itex] with [itex]\sigma(x,\tau) = \tau[/itex].

    The chain rule gives
    \frac{\partial \phi}{\partial x} = \frac{\partial \phi}{\partial \eta} \frac{\partial \eta}{\partial x} + \frac{\partial \phi}{\partial \sigma} \frac{\partial \sigma}{\partial x}
    = \frac{1}{X_\infty - X(\sigma)} \frac{\partial \phi}{\partial \eta} \\
    \frac{\partial \phi}{\partial \tau} = \frac{\partial \phi}{\partial \eta} \frac{\partial \eta}{\partial \tau} + \frac{\partial \phi}{\partial \sigma} \frac{\partial \sigma}{\partial \tau}
    = -\frac{(1- \eta) X'(\sigma)}{X_\infty - X(\sigma)} \frac{\partial \phi}{\partial \eta} + \frac{\partial \phi}{\partial \sigma}
    \frac{\partial \eta}{\partial \tau} = \frac{\partial}{\partial \tau} \left(\frac{x - X(\tau)}{X_\infty - X(\tau)}\right) =
    \frac{1}{(X_\infty - X)^2} ((X_\infty - X)(-X') - (x - X)(-X')) \\
    = \frac{-X'(\sigma)}{X_\infty - X(\sigma)} \frac{X_\infty - x}{X_\infty - X(\sigma)}
    = \frac{-X'(\sigma)}{X_\infty - X(\sigma)}(1-\eta)

    For the second derivative,
    \frac{\partial^2 \phi}{\partial x^2} = \frac{\partial}{\partial x} \frac{\partial \phi}{\partial x}
    = \frac{\partial}{\partial x} \left( \frac{1}{X_\infty - X(\sigma)} \frac{\partial \phi}{\partial \eta} \right) \\
    = \frac{\partial \eta}{\partial x} \frac{\partial}{\partial \eta} \left( \frac{1}{X_\infty - X(\sigma)} \frac{\partial \phi}{\partial \eta} \right)
    + \frac{\partial \sigma}{\partial x} \frac{\partial}{\partial \sigma} \left( \frac{1}{X_\infty - X(\sigma)} \frac{\partial \phi}{\partial \eta} \right) \\
    = \frac{1}{(X_\infty - X(\sigma))^2} \frac{\partial^2 \phi}{\partial \eta^2}

    Substitution into the original equation and rearrangement will yield the given result.
    Last edited: Jan 19, 2014
  4. Jan 19, 2014 #3
    Hi Pasmith, thanks, I understand it now!
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook