# Elastic wave equation in curvilinear coordinates: how do you perform a coordinate change?

The essence of this question is that I don't know how to convert an equation from Cartesian coordinates into curvilinear coordinates, and would like to know how, preferably using the language of co/contravariance of physical quantities and vector notation.

In Daniel Appelö's A stable finite difference method for the elastic wave equation on complex geometries with free surfaces, he formulates the elastic wave equation in component form, \begin{align}\rho\partial_t^2u&=\partial_x\color{red}{\left((2\mu+\lambda)\partial_xu+\lambda\partial_yv\right)}+\partial_y\color{blue}{\left(\mu(\partial_xv+\partial_yu)\right)}\\ \rho\partial_t^2v&=\partial_x\color{blue}{\left(\mu(\partial_xv+\partial_yu)\right)}+\partial_y\color{green}{\left(\lambda\partial_xu+(2\mu+\lambda)\partial_yv\right)}\end{align} where $(u,v)$ is the material displacement and $(x,y)$ are the physical coordinates.

He then defines curvilinear coordinates $(q(x,y),r(x,y))$, from which we obtain \begin{align}\partial_x&=q_x\partial_q+r_x\partial_r\\ \partial_y&=q_y\partial_q+r_y\partial_r.\end{align}

He then reformulates the wave equation in the curvilinear coordinate system, and I'm having trouble seeing how he gets it. My attempt is as follows: a direct replacement of all $\partial_x$ and $\partial_y$ gives

\begin{align}\rho\partial_t^2u=&(q_x\partial_q+r_x\partial_r)\color{red}{\left((2\mu+\lambda)(q_x\partial_q+r_x\partial_r)u+\lambda(q_y\partial_q+r_y\partial_r)v\right)}+\\ &(q_y\partial_q+r_y\partial_r)\color{blue}{\left(\mu((q_x\partial_q+r_x\partial_r)v+(q_y\partial_q+r_y\partial_r)u)\right)}\\ \rho\partial_t^2v=&(q_x\partial_q+r_x\partial_r)\color{blue}{\left(\mu((q_x\partial_q+r_x\partial_r)v+(q_y\partial_q+r_y\partial_r)u)\right)}+\\ &(q_y\partial_q+r_y\partial_r)\color{green}{\left(\lambda(q_x\partial_q+r_x\partial_r)u+(2\mu+\lambda)(q_y\partial_q+r_y\partial_r)v\right)}\end{align}

but am not sure how to proceed. Appelö ends up getting (c.f. equation 2.6 and 2.7), in condensed notation,

\begin{align}J\rho\partial_t^2u&=\partial_q\left[Jq_x\color{red}{\sigma_{11}}+Jq_y\color{blue}{\sigma_{12}}\right]+\partial_r\left[Jr_x\color{red}{\sigma_{11}}+Jr_y\color{blue}{\sigma_{12}}\right]\\ J\rho\partial_t^2v&=\partial_q\left[Jq_x\color{blue}{\sigma_{21}}+Jq_y\color{green}{\sigma_{22}}\right]+\partial_r\left[Jr_x\color{blue}{\sigma_{21}}+Jr_y\color{green}{\sigma_{22}}\right] \end{align}

where $J=x_qy_r-x_ry_q$ is apparently the determinant of the Jacobian of the transform.

How does one proceed to derive a result like this? Is it simply a matter of applying product and chain rule dozens of times and cleaning up the mess? Or is there a simple mechanized way to do it using tensor calculus? I suspect there may be an easier way, since the original equation (in $x,y$ coordinates) can be written in vector form as

$$\rho\ddot{\mathbf{r}}=\sigma\cdot\nabla$$

where $$\sigma=\pmatrix{\color{red}{\sigma_{11}}&\color{blue}{\sigma_{12}}\\\color{blue}{\sigma_{21}}&\color{green}{\sigma_{22}}}$$

is the (symmetric) material stress tensor. I've heard that the stress tensor transforms double-contravariantly, and $\nabla$ transforms covariantly, but I'm not sure how to put together all the pieces and get Appelö's result.

Can anyone provide help on the matter?

## Edit 1

So I noticed that Equation 2.6 and 2.7 (the transformed equations of motion) can further be condensed to the following:

$$J\rho\ddot{\mathbf{r}}=\left[J\pmatrix{\color{red}{\sigma_{11}}&\color{blue}{\sigma_{12}}\\\color{blue}{\sigma_{21}}&\color{green}{\sigma_{22}}}\pmatrix{q_x&r_x\\q_y&r_y}\right]\cdot\nabla_{(q,r)}.$$

This is tantalizingly close to the original equations of motion $\rho\ddot{\mathbf{r}}=\sigma\cdot\nabla$ with the covariant substitution

$$\nabla=\pmatrix{q_x&r_x\\q_y&r_y}\nabla_{(q,r)}$$

except I'm missing a pair of $J$'s. I feel like I'm missing some conceptual aspect that would put this all together.

• Hmmm...I just looked at their paper and Eq. 2.6 and 2.7 are in terms of the displacements $u, v$, not stresses. Are you defining $\sigma_{ij}$ to represent the transformed components or the untransformed ones? Commented Dec 6, 2014 at 4:48
• @user_of_math: The stresses can be written in terms of the displacements, for example my first pair of equations (the untransformed equations of motion) can be written as $$\rho\ddot{\mathbf{r}}=\sigma\cdot\nabla=\pmatrix{\color{red}{\left((2\mu + \lambda)\partial_xu+\lambda\partial_yv\right)}&\color{blue}{\left(\mu(\partial_xv+\partial_yu)\right)}\\\color{blue}{\left(\mu(\partial_xv+\partial_yu)\right)}& \color{green}{\left(\lambda\partial_xu+(2\mu+\lambda)\partial_yv\right)}} \cdot\nabla$$ (I color-coded the matrix elements to highlight this fact). Does that answer your question? Commented Dec 6, 2014 at 14:47