This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
solvers:glads [2017/06/22 06:52] gag |
solvers:glads [2019/09/06 13:17] (current) gagliar [Known bugs] |
||
---|---|---|---|
Line 3: | Line 3: | ||
==== General Informations ==== | ==== General Informations ==== | ||
- | * **Solver Fortran | + | * **Solver Fortran |
- | * **Solver | + | * **Solver |
* **Required Output Variable(s): | * **Required Output Variable(s): | ||
* **Required Input Variable(s): | * **Required Input Variable(s): | ||
- | * **Optional Output Variable(s): | + | * **Optional Output Variable(s): |
* **Optional Input Variable(s): | * **Optional Input Variable(s): | ||
+ | |||
+ | ==== Known bugs ==== | ||
+ | If in parallel a moulin belongs to two partitions, the flux from the moulin is taken into account twice. This is may be not a bug, but the partitioning should avoid to have moulins at the boundary of partitions. The python tool '' | ||
+ | |||
+ | If running the solver on a 3d internally extruded mesh, one should specify '' | ||
+ | |||
+ | If running on a " | ||
+ | |||
Line 17: | Line 25: | ||
The GlaDS model is composed of three solvers:\\ | The GlaDS model is composed of three solvers:\\ | ||
- | '' | + | |
- | '' | + | |
- | ' | + | |
+ | |||
+ | Since version Version 8.3 (Rev: b213b0c8), '' | ||
==== SIF contents ==== | ==== SIF contents ==== | ||
- | The required keywords in the SIF file for the Porous Solver | + | The SIF examples given here are from the tests [[https:// |
< | < | ||
- | ! Define some useful parameters using MATC | + | Constants |
- | $yearinsec | + | |
+ | Gravity Norm = Real $gravity | ||
+ | Water Density = Real $rhow | ||
+ | Ice Density = Real $rhoi | ||
+ | Sheet Thickness Variable Name = String "Sheet Thickness" | ||
+ | Hydraulic Potential Variable Name = String " | ||
+ | Channel Area Variable Name = String " | ||
+ | Bedrock Variable Name = String " | ||
+ | End | ||
+ | </ | ||
+ | The GlaDS solvers depend on a lot of physical parameters. | ||
+ | < | ||
+ | ! For the sheet | ||
+ | Sheet Conductivity = Real $Ks | ||
+ | Sheet flow exponent alpha = Real $alphas | ||
+ | Sheet flow exponent beta = Real $betas | ||
+ | Englacial Void Ratio = Real $ev | ||
+ | Bedrock Bump Length = Real $lr | ||
+ | Bedrock Bump High = Real $hr | ||
+ | Sheet Closure Coefficient = Real $Ar | ||
+ | | ||
+ | ! For the Channels | ||
+ | Channel Conductivity = Real $Kc | ||
+ | Channel flow exponent alpha = Real $alphac | ||
+ | Channel flow exponent beta = Real $betac | ||
+ | Channel Closure Coefficient = Real $Ac | ||
+ | Sheet Width Over Channel = Real $lc | ||
+ | Pressure Melting Coefficient = Real $Ct | ||
+ | Water Heat Capacity = Real $Cw | ||
+ | ! Coupling with ice flow and glacier geometry | ||
+ | Sliding Velocity = Real $ub | ||
+ | Ice Normal Stress = Variable Coordinate 1 | ||
+ | Real MATC " | ||
</ | </ | ||
+ | |||
+ | In the '' | ||
+ | < | ||
+ | Body Force 1 | ||
+ | Hydraulic Potential Volume Source = Real $Source | ||
+ | End | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | < | ||
+ | Solver 1 | ||
+ | Equation = "GlaDS Coupled sheet" | ||
+ | Procedure = " | ||
+ | Variable = -dofs 1 " | ||
+ | |||
+ | ! activate or not the development of channels | ||
+ | Activate Channels = Logical True | ||
+ | | ||
+ | ! activate or not the growth of channels by melt | ||
+ | Activate Melt from Channels = Logical True | ||
+ | | ||
+ | ! compute the hydraulic potential at the top of the water sheet ('' | ||
+ | Neglect sheet Thickness in Potential = Logical True | ||
+ | |||
+ | ! choices are EXPLICT, CRANK-NICOLSON, | ||
+ | Channels Integration method = String " | ||
+ | Sheet Integration method = String " | ||
+ | |||
+ | ! define exported variables for visualization | ||
+ | Exported Variable 1 = -dofs 1 " | ||
+ | Exported Variable 2 = -dofs 1 " | ||
+ | Exported Variable 3 = -dofs 1 "Water Pressure" | ||
+ | Exported Variable 4 = -dofs 1 " | ||
+ | Exported Variable 5 = -dofs 2 "Sheet Discharge" | ||
+ | Exported Variable 6 = -dofs 1 "Sheet Storage" | ||
+ | Exported Variable 8 = -dofs 1 " | ||
+ | Exported Variable 9 = -dofs 1 " | ||
+ | Exported Variable 10 = -dofs 1 "Flux from Moulins" | ||
+ | |||
+ | Linear System Solver = Direct | ||
+ | Linear System Direct Method = umfpack | ||
+ | |||
+ | Nonlinear System Max Iterations = 30 | ||
+ | Nonlinear System Convergence Tolerance | ||
+ | Nonlinear System Relaxation Factor = 1.00 | ||
+ | |||
+ | Coupled Max Iterations = Integer 10 | ||
+ | Coupled Convergence Tolerance = Real 1.0e-3 | ||
+ | |||
+ | Steady State Convergence Tolerance = 1.0e-03 | ||
+ | End | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | < | ||
+ | Solver 2 | ||
+ | Equation = "GlaDS Thickness sheet" | ||
+ | Procedure = " | ||
+ | Variable = -dofs 1 "Sheet Thickness" | ||
+ | End | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | < | ||
+ | Solver 3 | ||
+ | Exec Solver = After Saving | ||
+ | Equation = "GlaDS Channel OutPut" | ||
+ | Procedure = " | ||
+ | Variable = -dofs 1 " | ||
+ | ! the variable is define on the edges only | ||
+ | Element = "n:0 e:1" | ||
+ | |||
+ | Exported Variable 1 = -dofs 1 " | ||
+ | |||
+ | VTU OutPutFile = Logical False ! set to TRUE to have VTU output | ||
+ | VTU BinaryFile = Logical False | ||
+ | |||
+ | Channels OutPut Directory Name = String " | ||
+ | Channels OutPut File Name = String " | ||
+ | End | ||
+ | </ | ||
+ | |||
+ | The possible boundary conditions are: \\ | ||
+ | * channels not allowed to growth (recommanded on all the domain boundary) | ||
+ | < | ||
+ | Boundary Condition 1 | ||
+ | Target Boundaries(2) = 1 3 | ||
+ | No Channel BC = Logical True | ||
+ | End | ||
+ | </ | ||
+ | * fixed value of the '' | ||
+ | < | ||
+ | Boundary Condition 2 | ||
+ | Name = "point front" | ||
+ | Target Coordinates(1, | ||
+ | Hydraulic Potential = Variable Zb | ||
+ | Real MATC " | ||
+ | End | ||
+ | </ | ||
+ | * the possibility to impose water flux at some nodes in the domain (moulins type inflow). The nodes have to be declared as node element (101) in the mesh ('' | ||
+ | < | ||
+ | Boundary Condition 4 | ||
+ | Name = " | ||
+ | Target Boundaries(20) = 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ||
+ | Moulin Storage = Logical True | ||
+ | Moulin Area = Real $Am | ||
+ | Moulin Flux = Real $4.5*yearinsec | ||
+ | End | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Making a mesh with Moulins ==== | ||
+ | Moulins are 101 boundary elements. ElmerGrid does not export correctly 101 boundary elements from gmsh or when partitioning a mesh. To add 101 boundary elements to an existing mesh, thanks to Mondher Chekki (IGE), one can use the python tool '' | ||
+ | |||
+ | Usage: | ||
+ | < | ||
+ | python makemoulin.py --meshdir mesh_dir --moulin moulin_file --partition number_of_partition | ||
+ | </ | ||
+ | where '' | ||
==== Examples ==== | ==== Examples ==== | ||
- | An example | + | Examples |
- | ==== Reference | + | ==== References |
The description of the GlaDS model is in:\\ | The description of the GlaDS model is in:\\ | ||
- | Werder M.A., I.J. Hewitt, C.G. Schoof and G.E. Flowers, 2013. Modeling channelized and distributed subglacial drainage in two dimensions. Journal of Geophysical Research: Earth Surface, 118(4), 2140-2158. | + | * Werder M.A., I.J. Hewitt, C.G. Schoof and G.E. Flowers, 2013. Modeling channelized and distributed subglacial drainage in two dimensions. Journal of Geophysical Research: Earth Surface, 118(4), 2140-2158.\\ |
+ | The implementation of the GlaDS model in Elmer/Ice is described here:\\ | ||
+ | * Gagliardini O. and M. Werder, 2018. Influence of increasing surface melt over decadal timescales on land-terminating Greenland-type outlet glaciers, Journal of Glaciology, 64(247), 700-710, doi: | ||
+ | Results of the SHMIP experiments using Elmer/Ice are discussed in the SHMIP paper:\\ | ||
+ | * De Fleurian, B., M. Werder, S. Beyer, D. Brinkerhoff, | ||