Difference between revisions of "COMSOL activities"

From Interactive System for Ice sheet Simulation
Jump to: navigation, search
(Field equations)
m (Dynamic)
Line 89: Line 89:
:<math> ~\forall  \partial \Omega_d \in \partial \Omega.</math>
:<math> ~\forall  \partial \Omega_d \in \partial \Omega.</math>
Note that in case you will need to know how to tell Comsol the normal vectors. These are '''nx''', and '''ny''''.
Note that in case you will need to know how to tell Comsol the normal vectors. These are '''nx''', and '''ny'''.

Revision as of 16:18, 7 August 2009



Now, let's see if COMSOL can be used to solve problems of glaciological relevance. We'll look at shallow ice approximation flow, and shallow shelf approximation flows.

Isothermal Shallow Ice Approximation

Begin with the often used shallow ice form for ice thickness evolution, which casts evolution as a non-linear diffusion problem

\frac{\partial H}{\partial t} = - \nabla D \nabla H + M


D = \frac{2A(\rho g)^n}{n+2} H^{n+2} \left[\nabla H \cdot \nabla H \right]^{(n-1)/2}

with boundary condition H=0 on the edge of the computational domain.

Comsol Modeling

We will use the PDE, General Form transient mode to solve this equation. For convenience, make the dependent variable H.


You should not find it difficult to create a unit square. Once it's made, you can double click it to change it's size and do other transformations. Read below to find the appropriate domain.

Field equations

This equation mode solves equations of the form

e_a\frac{\partial^2 H}{\partial t^2} + d_a \frac{\partial H}{\partial t} + \nabla \cdot \Gamma = F

Which is just what we want if we recognize that in our system e_a=0, d_a=1, F=M, and

\Gamma_x = -\frac{2A(\rho g)^n}{n+2} H^{n+2} \left[\nabla H \cdot \nabla H \right]^{(n-1)/2} \frac{\partial H}{\partial x}
\Gamma_y = -\frac{2A(\rho g)^n}{n+2} H^{n+2} \left[\nabla H \cdot \nabla H \right]^{(n-1)/2} \frac{\partial H}{\partial y}

Now the problem has been reduced to one of typing. It will make the COMSOL model easier to read if you create a scalar expression for D . Then your \Gamma_x = -D \frac{\partial H}{\partial x} and \Gamma_y =- D\frac{\partial H}{\partial y} are very clear.

Boundary conditions

This type of problem requires a Dirchlet boundary condition. Set H = 0 on all four sides.


You'll also be needing to know how to tell COMSOL to use a derivative. That is Hx, Hy, and Ht for \frac{\partial H}{\partial x}, \frac{\partial H}{\partial y}, and \frac{\partial H}{\partial t} respectively.


  1. Complete the model, and do the isothermal fixed margin experiment Huybrechts (1996)[1]. You'll find all values of constants there as well. Verify that your model is providing results consistent with those reported in the paper.
  2. Now alter your model (the accumulation field) to do the isothermal moving margin, again verify that it's at least just as wrong as the other models. You're going to have to come up with something to deal with the negative values of thickness that you'll get...

Shallow shelf approximation

Field equations

Now, consider the equations describing a flow that is vertically integrated. The equations are

\frac{\partial}{\partial x}\left ( 2 \eta H 
\left(2\frac{\partial u}{\partial x}+\frac{\partial v}{\partial y}\right)\right)
+\frac{\partial}{\partial y}\left(\eta H\left(
\frac{\partial u}{\partial y}+\frac{\partial v}{\partial x}\right)\right)
=\rho_w gH \frac{\partial s}{\partial x}

\frac{\partial}{\partial y}\left ( 2 \eta H 
\left(2\frac{\partial v}{\partial y}+\frac{\partial u}{\partial x}\right)\right)
+\frac{\partial}{\partial x}\left(\eta H\left(
\frac{\partial u}{\partial y}+\frac{\partial v}{\partial x}\right)\right)
=\rho_w gH \frac{\partial s}{\partial y}

 \eta is the non-linear, vertically averaged viscosity, H is the ice shelf thickness and s is the surface elevation.  \eta will need to be entered as a scalar expression, and is written

\eta = \frac{B}{2}\left[ \left(\frac{\partial u}{\partial x}\right)^2 + \left(\frac{\partial v}{\partial y}\right)^2 + \frac{1}{4} \left(\frac{\partial u}{\partial x} + \frac{\partial v}{\partial y}\right)^2 + \frac{\partial u}{\partial x}\frac{\partial v}{\partial y}\right]^{-1/n}

Boundary conditions

There are two flavors of boundary conditions applied in the typical ice sheet model.


First, the Dirichlet, or kinematic boundary condition specify the velocity

 \mathbf{u} = \mathbf{u_b},~\forall  \partial \Omega_k \in \partial \Omega.

This is the boundary condition where the ice moving across the grounding line. In order to model an ice shelf, one determines (or estimates), and specifies that velocity.


This is the Neumann, or dynamic boundary condition that is applied along the ice front,

- 2 \eta H \left(2\frac{\partial u}{\partial x}+\frac{\partial v}{\partial y}\right)\mathbf{n_x}

-\eta H\left(
\frac{\partial u}{\partial y}+\frac{\partial v}{\partial x}\right)\mathbf{n_y}
-\rho_w g H^2\left(1-\frac{\rho_i}{\rho_w}\right) \mathbf{n_x}


-  \eta H \left(\frac{\partial u}{\partial y}+\frac{\partial v}{\partial x}\right)\mathbf{n_x}

-2\eta H\left(
\frac{\partial u}{\partial x}+2\frac{\partial v}{\partial y}\right)\mathbf{n_y}
-\rho_w g H^2\left(1-\frac{\rho_i}{\rho_w}\right) \mathbf{n_y}

 ~\forall  \partial \Omega_d \in \partial \Omega.

Note that in case you will need to know how to tell Comsol the normal vectors. These are nx, and ny.


  1. As a first exercise in solving these equations, try the experiments described in the EISMINT ice shelf models, but never published [1]. Get the self-descr.pdf, or the first hyperlink on the page. Let's do experiments 3-4 on page 6 of the document (Note that we will see and work with the solution to these experiments again when we do some exercises with the higher-order dynamics routines in Glimmer/CISM).
  2. The above is neat, but ultimately not that useful because it just isn't a realistic geometry. Try out this model, that has the geometry and boundary conditions for the Ross Ice shelf, but otherwise the same equations solved in the previous exercise. This model is based on MacAyeal et. al. (1996) [2]. An ice-shelf model test based on the Ross ice shelf. Annals of Glaciology 23, 46-51 See the utility of this? Is the solution dependent on the mesh? Can you do anything with the solver to improve the time required for a solution.

Full Stoke's

It is possible (even easy!) to represent the full Stoke's equations in Comsol, by starting from the fluid mechanics application mode. Here is a geometry for the Arolla glacier. See if you can work out the eta_nonlinear field, the appropriate boundary conditions, and the appropriate subdomain settings for full Stoke's flow. A useful reference on higher order modeling is Pattyn, F (2003) [3].


  1. Huybrechts et al. The EISMINT Benchmarks for Testing Ice--Sheet Models. Ann. Glaciol. (1996) vol. 23 pp. 1-12 pdf
  2. MacAyeal, D.R., V. Rommelaere, Ph. Huybrechts, C.L. Hulbe, J. Determann, and C. Ritz (1996) pdf
  3. J. Geophys. Res., 108, B8, 2382, doi:10.1029/2002JB002329