# Difference between revisions of "Solution of the Blatter-Pattyn model"

(→Final Matrix Form) |
|||

Line 106: | Line 106: | ||

===Final Matrix Form=== | ===Final Matrix Form=== | ||

+ | |||

+ | The final matrix form of the equations, accounting for the Picard iteration on the viscosity, is given by | ||

+ | |||

+ | |||

+ | <math>\begin{matrix} | ||

+ | \left[ \begin{matrix} | ||

+ | \mathbf{A}_{\mathbf{uu}}^{k-1} & \mathbf{0} \\ | ||

+ | \mathbf{0} & \mathbf{A}_{\mathbf{vv}}^{k-1} \\ | ||

+ | \end{matrix} \right]\left[ \begin{matrix} | ||

+ | \mathbf{u}^{k} \\ | ||

+ | \mathbf{v}^{k} \\ | ||

+ | \end{matrix} \right]=\left[ \begin{matrix} | ||

+ | \mathbf{b}_{\mathbf{u}}-\mathbf{A}_{\mathbf{uv}}^{k-1}\mathbf{v}^{k-1} \\ | ||

+ | \mathbf{b}_{\mathbf{v}}-\mathbf{A}_{\mathbf{vu}}^{k-1}\mathbf{u}^{k-1} \\ | ||

+ | \end{matrix} \right] \\ | ||

+ | \\ | ||

+ | \mathbf{A}_{\mathbf{uu}}^{k-1}\mathbf{u}=\mathbf{b}_{\mathbf{u}}-\mathbf{A}_{\mathbf{uv}}^{k-1}\mathbf{v}^{k-1},\quad \quad \mathbf{A}_{\mathbf{vv}}^{k-1}\mathbf{v}=\mathbf{b}_{\mathbf{v}}-\mathbf{A}_{\mathbf{vu}}^{k-1}\mathbf{u}^{k-1} \\ | ||

+ | \end{matrix}</math> |

## Revision as of 00:58, 12 March 2011

## Contents |

### Governing Equations

The final form of the equations we'd like to solve is:

### Coordinate Transform

As with the 0-order model, we need to change from Cartesian to sigma coordinates. The first normal-stress term first term on the left-hand side becomes

Pattyn introduces a dimensionless vertical coordinate so that variations in ice thickness do not complicate the numerical treatment considerably (Pattyn 2003). This dimensionless vertical coordinate is referred to as by Pattyn. I will refer to it as for consistency with CISM's existing notation. The rescaled coordinate is defined as:

This means that at the surface of the ice sheet , and at the base regardless of the ice thickness (Pattyn 2003). As a result of this transformation, a coordinate is mapped to (Pattyn 2003). This means that function derivatives must be re-written (using as an example) as:

Similarly for and . Pattyn simplifies this by assuming that

and

.

This assumption is valid if the bed and surface gradients are not too large (Pattyn 2003). This simplifies the above to:

Rescaling parameters , , , , and are defined. Presenting the x derivative case, as the y derivative case is analogous,

Using these, expressions for the x derivatives become:

where hatted values refer to the coordinate directions in sigma coordinates. Similarly, the first cross-stress term on the RHS is given by

One term has become five terms and each one of those is pretty scary looking on its own. Luckily, there is also a lot of symmetry here. Notice that if we wanted to design subroutines to discretize the terms on the RHS, we could re-use a lot of them by either applying them to the correct velocity component (either to the *u* OR the *v* discretization) or by passing the appropriate arguments (pass either the grid spacing in the *x* direction OR the *y* direction, where appropriate). There is still a lot of work here ...

### Operating Splitting

Again, note that for the *x* equation we've moved all the terms containing gradients in *v* to the right-hand side (RHS).

We've set it up this way in order to solve the equations using an **operator splitting** approach; for the *x* equation, we treat *v* as known (where we take the values of *v* from the previous iteration) and solve for *u*, and vice versa when we solve they *y* equation for *v*. The "splitting" refers to the fact that we are breaking the multi-dimensional divergence operation into multiple steps. Rather than solving one big matrix equation for *u* and *v* simultaneously we solve two smaller matrix equations in sequence with one of the unknowns treated as a known "source" term.

### General Matrix Form

A general matrix form of the equations, where coefficients on the *u* and *v* velocity components (i.e. viscosity, grid spacing, scalars) are contained in the block matrices **A**, is given by

where the **uu** subscript denotes block matrices containing coefficients for gradients on *u* in the equation for the *x* component of velocity (i.e. *u*). The subscript **uv** denotes block matrices containing coefficients for gradients on *v* in the equation for the *x* component of velocity (and similarly for the **vv** and **vu** subscripts). On the right-hand side, the subscripts denote the geometric source terms for the *x* and *y* components of velocity (subscripts *u* and *v*, respectively).

### Fixed Point Iteration

The non-linearity in the equations - the fact that the coefficients on the velocity components (the viscosity) are dependent on the velocity (or more specifically, the velocity gradients) - is handled through a fixed-point iteration.

Go to Strang for this ..

### Final Matrix Form

The final matrix form of the equations, accounting for the Picard iteration on the viscosity, is given by