Skip to content

Commit 5d97bb5

Browse files
committed
Update README
1 parent 6274aa8 commit 5d97bb5

File tree

1 file changed

+78
-25
lines changed

1 file changed

+78
-25
lines changed

readme.md

Lines changed: 78 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,47 +2,100 @@
22

33
Don't use this unless I told you to
44

5-
### What is this
5+
6+
## What is this
67

78
I'm prototyping a potential new version of icepack.
8-
We've relied heavily on first-order timestepping schemes with operator splitting to handle multiple kinds of physics.
9-
This may be painting us into a sad corner for harder problems like paleo-ice sheet simulation.
10-
What I want to change:
9+
Some of the choices of design and solution strategy have painted us into a corner when it comes to simulating evolving termini and for doing long time integration.
10+
This repo is for testing proposed changes that will fix those problems.
11+
12+
**Current status**: We have achieved almost all of the goals that we set out originally (see below).
13+
The next step is to incorporate this code into the main icepack repository without breaking existing workflows.
14+
15+
16+
## What have we done
17+
18+
### Higher-order timestepping
19+
20+
So far, we've relied exclusively on implicit Euler for timestepping the mass balance equation.
21+
We then use an operator splitting scheme to separate out the solution of the momentum balance equation.
22+
We will want higher-order schemes if we want to do simulations on paleoclimate time scales.
23+
But even if we used a higher-order scheme for the mass balance equation, we would still be stuck with first-order convergence because of the operator splitting.
24+
25+
This package uses the [irksome](https://firedrakeproject.github.io/Irksome/) library to solve the coupled mass and momentum balance equation.
26+
The solution is *fully coupled*: we simultaneously solve the mass and momentum balance equations.
27+
In addition to the implicit Euler scheme, we also tested using the L-stable Radau-IIA family.
28+
These methods are L-stable, which we want for dissipative problems like glacier dynamics.
29+
30+
### Variational inequalities
31+
32+
The ice thickness needs to be positive.
33+
Without special care, it can go negative in the ablation zone.
34+
So far, we have solved this by clamping the thickness from below at every timestep.
35+
36+
Rather than clamp the ice thickness, we can instead formulate the problem as a variational inequality with explicit bounds constraints.
37+
Irksome has added the capacity to do bounds-constrained problems, which we now use.
38+
This guarantees positivity at each timestep.
1139

12-
**Higher-order timestepping.**
13-
We've relied almost exclusively on implicit Euler.
14-
If we want higher-order schemes, and we don't want to implement them ourselves, we could use the [irksome](https://firedrakeproject.github.io/Irksome/) library.
15-
This package includes methods like Radau-IIA or Lobatto-IIIC, which are L-stable -- we want this for dissipative problems like glacier dynamics.
40+
And quite a bit more too.
41+
If we're using higher-order Runge-Kutta methods, we might also want positivity of the solution at each Runge-Kutta stage.
42+
Irksome does even better than that.
43+
The Radau-IIA scheme is a collocation method in time.
44+
It is equivalent to fitting a polynomial through the solution in $t$ and requiring the ODE to be exact at a set of collocation times within each interval.
45+
The relationship between positivity of a polynomial and its coefficients is not direct.
46+
But there's no reason that we need to use the monomial or the Lagrange basis.
47+
We can instead expand this polynomial in the Bernstein basis.
48+
If we require the coefficients of the polynomial in the Bernstein basis to be positive, then the polynomial is positive *everywhere in the interval*.
49+
(The converse is not true, i.e. there are positive polynomials with negative Bernstein coefficients.
50+
But this effect goes away under refinement, i.e. if we expand it on smaller sub-intervals, eventually all the coefficients will be positive.)
51+
52+
We have tested this with both the backward Euler and Radau-IIA schemes.
53+
54+
### Duality
55+
56+
The conventional approach to ice flow modeling is to solve a nonlinear elliptic differential equation, called the shallow stream approximation or SSA, for the ice velocity $u$.
57+
This equation is ill-posed whenever the ice thickness can go to 0.
58+
The orthodox solution is to use implicit interface tracking schemes like the level set method.
59+
60+
Here we instead use the dual or mixed form of SSA, which explicitly introduces the membrane and basal stresses as unknowns.
61+
The dual form remains solvable even when the ice thickness is 0.
62+
We have used this to simulate both iceberg calving from marine-terminating glaciers and the advance and retreat of land-terminating mountain glaciers.
63+
64+
65+
## What is to be done
66+
67+
### Linearly-implicit schemes
1668

17-
**Linearly-implicit schemes.**
1869
Rather than do a full nonlinear solve for all the Runge-Kutta stages in each timestep, you can do a single iteration of Newton's method.
1970
Asymptotically in $\delta t$ this is just as good as the fully implicit scheme while keeping the same good stability properties.
2071
It's also much easier to implement and less prone to undiagnosable convergence failures.
2172
These are also called Rosenbrock methods.
2273

23-
**Approximate linearization.**
74+
I don't know how this should interact with variational inequalities.
75+
In principle you could solve a linear complementarity problem in each timestep instead of a nonlinear complementarity problem.
76+
77+
### Approximate linearization
78+
2479
You don't have to use the exact linearization with a linearly-implicit scheme.
2580
In principle we could just use the diagonal blocks for each variable, which will cost only a little more than doing operator splitting.
2681
This may or may not have the same order in $\delta t$, I have to see.
2782
We might be able to work around some of the degeneracies that occur at zero strain rate or thickness by perturbing the linearization.
2883

29-
**Variational inequalities.**
30-
Rather than clamp the ice thickness from below at every timestep to make sure it stays positive, we can instead formulate the problem as a variational inequality with explicit bounds constraints.
31-
Ed Bueler says that this means using only piecewise linear basis functions.
32-
Rob Kirby would probably say to try Bernstein.
84+
### Nonlinear elimination preconditioning
3385

34-
**Mixed elements.**
35-
I've tried using elements for the velocity and thickness that are stable for mixed Poisson and they seem to work better in the zero-thickness limit than using, say, CG(1) for both.
36-
We might need to explicitly include the flux as an unknown (note to self, ask Colin about this).
86+
This basically uses the operator splitting scheme as a preconditioner for the monolithically-coupled problem.
87+
For thermal problems it's supposed to be a big improvement.
3788

38-
**Duality.**
39-
The dual form of SSA includes the SIA as a special case.
40-
This opens up the possibility of making a simple hybrid model that describes both flow regimes.
89+
### Hybrid models
4190

91+
The dual form of SSA can behave like SIA in a certain limit.
92+
Is it really a hybrid model that can do all stress regimes?
93+
This proposition requires proof...
4294

43-
### Discretization
95+
### Frontal ablation
4496

45-
Using Irksome, try the implicit Euler and Radau-IIA methods.
46-
If we try to use the PETSc variational inequality solver, then we need to use either the semi-smooth Newton (VINEWTONSSLS) or active set (VINEWTONRSLS) solvers.
47-
But if we want to use a linearly implicit method then we want to specify a nonlinear solver type of KSPONLY, which effectively does Rosenbrock for us.
48-
If we use the VI solvers then we have to do a fully implicit problem and it's not obvious how to solve only a linear complementarity problem instead.
97+
The ability to solve the momentum balance equation at zero thickness means we can simulate episodic calving events.
98+
Just make the ice thickness zero over some region.
99+
This approach handles position-based calving laws well.
100+
It will not do rate-based calving laws, where the terminus retreats continuously at some specificed rate.
101+
Rate-based calving laws or frontal ablation are (in principle?) are a sink term + a modification to the flux in the mass balance equation.

0 commit comments

Comments
 (0)