This shows you the differences between two versions of the page.

Both sides previous revision Previous revision Next revision | Previous revision | ||

problems:groundingline [2012/11/21 23:06] gag [Grounding Line Dynamics] |
problems:groundingline [2014/11/13 10:07] (current) gag [Example] |
||
---|---|---|---|

Line 6: | Line 6: | ||

Here is a flowchart of the SIF file required to solve for the GL dynamics. | Here is a flowchart of the SIF file required to solve for the GL dynamics. | ||

- | * 1/ [[solvers:grounded|GroundedSolverInit]]: initialise the ''GroundedMask'' variable (+ 1 if grounded, - 1 if floating, 0 if on the grounding line (also grounded but allow to localise the GL)) | + | * 1/ Initialise the ''GroundedMask'' variable using [[solvers:grounded|GroundedSolverInit]]: (+ 1 if grounded, - 1 if floating, 0 if on the grounding line (also grounded but allow to localise the GL)) |

- | * 2/ Compute the [[solvers:normal|Normal vector]] only where the ice is grounded. This is done by setting ''Compute Normal'' to ''False'' for all boundaries, excepted at the bedrock where: (**TODO : VERIFY THIS CONDITION**) | + | |

+ | * 2/ Compute the [[solvers:normal|Normal vector]] only where the ice is grounded. This is done by setting ''Compute Normal'' to ''False'' for all boundaries, excepted at the bedrock where: | ||

<code> | <code> | ||

ComputeNormal Condition = Variable GroundedMask | ComputeNormal Condition = Variable GroundedMask | ||

Real MATC "tx + 0.5" | Real MATC "tx + 0.5" | ||

</code> | </code> | ||

+ | | ||

* 3/ Compute the nodal force induced by the water pressure at the base of the ice-shelf using [[solvers:gethydrostaticloads|GetHydrostaticLoads]] (executed only on the bedrock bc). | * 3/ Compute the nodal force induced by the water pressure at the base of the ice-shelf using [[solvers:gethydrostaticloads|GetHydrostaticLoads]] (executed only on the bedrock bc). | ||

- | * 4/ Execute the Stokes solver. The contact is tested and updated during the non-linear iteration loop from the [[userfunctions:contact|USF_Contact]] user function. | + | |

- | * 5/ Solve for the upper free surface evolution using the FreeSurfaceSolver (See information [[tips:freesurface|here]], and you will also need the [[userfunctions:zs|USF_Zs]] user function). | + | * 4/ Execute the //Stokes// solver. The contact is tested and updated during the non-linear iteration loop from the [[userfunctions:contact|USF_Contact]] user function in the bedrock bc: |

+ | <code> | ||

+ | Slip Coefficient 2 = Variable Coordinate 1 | ||

+ | Real Procedure "ElmerIceUSF" "SlidCoef_Contact" | ||

+ | </code> | ||

+ | | ||

+ | * 5/ Solve for the upper free surface evolution using the //FreeSurfaceSolver// (See information [[tips:freesurface|here]], and you might also need the [[userfunctions:zs|USF_Zs]] user function). | ||

+ | | ||

+ | * 6/ Solve for the lower free surface evolution. | ||

+ | | ||

+ | * 7/ Update the Mesh using //MeshUpdate//. | ||

+ | | ||

+ | * 8/ Update the ''GroundedMask'' using [[solvers:grounded|GroundedSolver]]. | ||

Line 24: | Line 38: | ||

Durand G., O. Gagliardini, T. Zwinger, E. Le Meur and R.C.A. Hindmarsh, 2009. Full-Stokes modeling of marine ice-sheets: influence of the grid size., Annals of Glaciology, 50(52), p. 109-114. | Durand G., O. Gagliardini, T. Zwinger, E. Le Meur and R.C.A. Hindmarsh, 2009. Full-Stokes modeling of marine ice-sheets: influence of the grid size., Annals of Glaciology, 50(52), p. 109-114. | ||

+ | |||

+ | Gagliardini, O., D. Cohen, P. Råback and T. Zwinger (2007) Finite-element modeling of subglacial cavities and related friction law , J. Geophys. Res., 112, F0227, doi:10.1029/2006JF000576. | ||

+ | |||

+ | |||

+ | ==== Example ==== | ||

+ | An example, not solving for the grounding line, but for a basal cavity opening at the interface between ice and a rigid bedrock, can be found in ''[ELMER_TRUNK]/elmerice/Tests/Contact''. This test is similar to what was done in Gagliardini et al. (2007), but it includes the recent developments induced by solving for the grounding line dynamics. | ||

+ | A second example using the MISMIP setup and two free surfaces can be found in ''[ELMER_TRUNK]/elmerice/Tests/GL_MISMIP''. | ||

+ |