This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
solvers:ssa [2013/11/25 12:20] fgillet [General Informations] |
solvers:ssa [2017/05/19 05:20] (current) tzwinger [General Description] |
||
---|---|---|---|
Line 3: | Line 3: | ||
==== General Informations ==== | ==== General Informations ==== | ||
- | :!: **important | + | :!: **Important |
* **Solver Fortran File:** '' | * **Solver Fortran File:** '' | ||
Line 12: | Line 12: | ||
* (3) '' | * (3) '' | ||
* **Required Input Variable(s): | * **Required Input Variable(s): | ||
- | * (1) '' | + | * (1) '' |
- | * (2) '' | + | * (2) '' |
* (3) '' | * (3) '' | ||
* **Optional Output Variable(s): | * **Optional Output Variable(s): | ||
Line 20: | Line 20: | ||
==== General Description ==== | ==== General Description ==== | ||
- | As the [[solvers: | ||
- | For a flow line problem, the mesh is a plane surface, and a volume for a 3D problem. Regarding this aspect, this solver is certainly not as efficient as a classical SSA solver. But, on the other hand, it works for unstructured grid and non-constant viscosity. The SSA velocities and pressure can be use, for example, as initial conditions for the Stokes Solver. Contrary to the NS solver, the gravity must be orientated along the z-axis. | ||
- | The SSA solver uses the same input parameters | + | |
+ | === Ice flow === | ||
+ | |||
+ | The '' | ||
+ | |||
+ | It will work on a 3D mesh only if the mesh as been extruded along the vertical direction and if the base line boundary conditions have been preserved | ||
+ | |||
+ | The mandatory input variables are the bottom surface elevation and top surface elevation variables called | ||
+ | |||
+ | For the Flow law the SSA solver use a " | ||
+ | Newton linearisation of the viscosity can be used using the keywords '' | ||
+ | '' | ||
+ | |||
+ | The '' | ||
+ | |||
+ | Contrary to the NS solver, the gravity must be orientated along the z-axis and is taken from the value of | ||
+ | '' | ||
+ | |||
+ | A Neumann condition on the lateral boundaries can be applied with the keyword '' | ||
+ | where\\ | ||
+ | * //g// is the absolute value of the gravity taken from '' | ||
+ | * //rho_ice// is the ice '' | ||
+ | * // | ||
+ | * //h// is the front thickness computed as '' | ||
+ | * //h_im// is the thickness below sea level computed as '' | ||
+ | Note that in the absence of explicit boundary condition (no dirichlet condition or '' | ||
+ | |||
+ | The SSA velocities and pressure can be used, for example, as initial conditions for the Stokes Solver. | ||
+ | |||
+ | |||
+ | When the SSA solution is computed on a boundary of a mesh of dimension larger than the SSA problem (e.g. a 3D mesh for a SSA-2D problem), the SSA solution computed on the boundary can be | ||
+ | * exported on the whole mesh using the '' | ||
+ | * used as a Dirichlet condition for the SIA velocity (see the [[solvers: | ||
+ | |||
+ | === Basal friction === | ||
+ | |||
+ | Since version 6480, there are three friction laws implemented in the SSA solver: | ||
+ | |||
+ | * a linear friction law | ||
+ | < | ||
+ | * a Weertman type friction law | ||
+ | < | ||
+ | * a Coulomb type friction law | ||
+ | < | ||
+ | where | ||
+ | < | ||
+ | and | ||
+ | < | ||
+ | |||
+ | The two latests are non-linear and a Newton linearisation can be used. The friction law is chosen using the keyword '' | ||
+ | * a linear friction law | ||
+ | * '' | ||
+ | * a Weertman type friction law | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * a Coulomb type friction law | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | When < | ||
- | The SSA solution requires to run first the [[solvers: | ||
- | * (1) Run the '' | ||
- | * (2) Compute the SSA solution on the bedrock boundary using the '' | ||
- | * (3) Export vertically the solution previously computed on the bedrock | ||
==== SIF contents ==== | ==== SIF contents ==== | ||
- | The required keywords in the SIF file for this solver are: | + | **Solver section: |
+ | < | ||
+ | Solver 1 | ||
+ | Equation = " | ||
+ | Procedure = File " | ||
+ | Variable = String " | ||
+ | Variable DOFs = 2 ! 1 in SSA 1-D or 2 in SSA-2D | ||
+ | |||
+ | Linear System Solver = Direct | ||
+ | Linear System Direct Method = umfpack | ||
+ | |||
+ | Nonlinear System Max Iterations = 100 | ||
+ | Nonlinear System Convergence Tolerance | ||
+ | Nonlinear System Newton After Iterations = 5 | ||
+ | Nonlinear System Newton After Tolerance = 1.0e-05 | ||
+ | |||
+ | Nonlinear System Relaxation Factor = 1.00 | ||
+ | |||
+ | Steady State Convergence Tolerance = Real 1.0e-3 | ||
+ | End | ||
+ | </ | ||
+ | |||
+ | |||
+ | **Material Properties: | ||
+ | < | ||
+ | Material 1 | ||
+ | |||
+ | ! Material properties | ||
+ | Viscosity Exponent = Real $1.0/n | ||
+ | Critical Shear Rate = Real 1.0e-10 | ||
+ | |||
+ | SSA Mean Viscosity = Real $eta | ||
+ | SSA Mean Density = Real $rhoi | ||
+ | |||
+ | ! Needed for Linear, Weertman and Coulomb | ||
+ | ! Which law are we using (linear, weertman or coulomb) | ||
+ | SSA Friction Law = String " | ||
+ | ! beta parameter (beta = 1/As^m) | ||
+ | SSA Friction Parameter = Variable coordinate 1 , Coordinate 2 | ||
+ | | ||
+ | |||
+ | ! Needed for Weertman and Coulomb | ||
+ | ! Exponent m | ||
+ | SSA Friction Exponent = Real $1.0/n | ||
+ | |||
+ | ! Min velocity for linearisation where ub=0 | ||
+ | SSA Friction Linear Velocity = Real 0.0001 | ||
+ | |||
+ | ! Needed for Coulomb only | ||
+ | ! post peak exponent in the Coulomb law (q, in Gagliardini et al., 2007) | ||
+ | SSA Friction Post-Peak = Real 1.0 | ||
+ | ! Iken's bound tau_b/N < C (see Gagliardini et al., 2007) | ||
+ | SSA Friction Maximum Value = Real 0.5 | ||
+ | End | ||
+ | </ | ||
+ | |||
+ | |||
+ | **Body Forces:** | ||
+ | < | ||
+ | Body Force 1 | ||
+ | Flow BodyForce 1 = Real 0.0 | ||
+ | Flow BodyForce 2 = Real 0.0 | ||
+ | Flow BodyForce 3 = Real $gravity | ||
+ | End | ||
+ | </ | ||
+ | |||
+ | |||
+ | **Constants: | ||
+ | < | ||
+ | Constants | ||
+ | ! Used for Neumann condition | ||
+ | Water Density = Real .... | ||
+ | Sea Level = Real ... | ||
+ | End | ||
+ | </ | ||
+ | |||
+ | |||
+ | **Boundary Conditions: | ||
+ | < | ||
+ | Boundary Condition 1 | ||
+ | ! Dirichlet condition | ||
+ | SSAVelocity 1 = Real ... | ||
+ | SSAVelocity 2 = Real ... | ||
+ | End | ||
+ | Boundary Condition 1 | ||
+ | ! Neumann Condition | ||
+ | Calving Front = Logical True | ||
+ | End | ||
+ | </ | ||
+ | |||
+ | |||
+ | **For the " | ||
< | < | ||
- | Solver | + | Solver |
Equation = " | Equation = " | ||
Procedure = File " | Procedure = File " | ||
Line 41: | Line 191: | ||
Variable DOFs = 1 | Variable DOFs = 1 | ||
- | Exported Variable 1 = String "Integrated | + | Exported Variable 1 = String "Mean Viscosity" |
Exported Variable 1 DOFs = 1 | Exported Variable 1 DOFs = 1 | ||
Exported Variable 2 = String "Mean Density" | Exported Variable 2 = String "Mean Density" | ||
Line 51: | Line 201: | ||
Steady State Convergence Tolerance = Real 1.0e-3 | Steady State Convergence Tolerance = Real 1.0e-3 | ||
End | End | ||
- | ! | ||
- | Solver 3 | ||
- | Equation = " | ||
- | Procedure = File " | ||
- | Variable = String " | ||
- | Variable DOFs = 2 ! 2 in 3D | ||
- | Linear System Solver = Direct | + | !!! Upper free surface |
- | | + | Boundary Condition |
- | + | ||
- | Nonlinear System Max Iterations = 100 | + | |
- | Nonlinear System Convergence Tolerance | + | |
- | Nonlinear System Relaxation Factor = 1.00 | + | |
- | | + | |
+ | Mean Viscosity = Real 0.0 | ||
+ | Mean Density = real 0.0 | ||
End | End | ||
+ | </ | ||
+ | **For the " | ||
+ | < | ||
Solver 4 | Solver 4 | ||
Equation = "SSA Velocity" | Equation = "SSA Velocity" | ||
Line 81: | Line 226: | ||
Steady State Convergence Tolerance = Real 1.0e-3 | Steady State Convergence Tolerance = Real 1.0e-3 | ||
- | End | ||
- | |||
- | ! SSA equation only solved on the bedrock boundary | ||
- | Equation 2 | ||
- | Active Solvers(1) = 3 | ||
End | End | ||
!!! bedrock | !!! bedrock | ||
- | Boundary Condition | + | Boundary Condition 1 |
- | Target Boundaries = 5 | + | |
- | Body Id = Integer 2 | + | |
- | + | ||
- | SSAFlow | + | |
- | SSAFlow 2 = Equals SSABasalFlow 2 | + | |
- | SSAFlow 3 = Real 0.0e0 | + | |
| | ||
- | | + | |
- | Real MATC " | + | |
- | | + | |
- | Real MATC " | + | |
End | End | ||
!!! Upper free surface | !!! Upper free surface | ||
- | Boundary Condition | + | Boundary Condition |
- | | + | |
Depth = Real 0.0 | Depth = Real 0.0 | ||
- | Integrated Viscosity = Real 0.0 | + | |
- | Mean Density = real 0.0 | + | SSAFlow 4 = Real 0.0 ! p=0 at the surface |
- | SSAFlow 4 = Real 0.0 ! p=0 at the bottom | + | |
End | End | ||
</ | </ | ||
Line 131: | Line 263: | ||
!!! bedrock | !!! bedrock | ||
- | Boundary Condition | + | Boundary Condition |
- | | + | |
- | Body Id = Integer 2 | + | ... |
- | + | SIAFlow 1 = Equals | |
- | SIAFlow 1 = Equals | + | SIAFlow 2 = Equals |
- | SIAFlow 2 = Equals | + | |
SIAFlow 3 = Real 0.0e0 | SIAFlow 3 = Real 0.0e0 | ||
... | ... | ||
Line 142: | Line 273: | ||
!!! Upper free surface | !!! Upper free surface | ||
- | Boundary Condition | + | Boundary Condition |
- | | + | |
- | ... | + | |
SIAFlow 4 = Real 0.0 ! p=0 at the bottom | SIAFlow 4 = Real 0.0 ! p=0 at the bottom | ||
End | End | ||
</ | </ | ||
- | If the front is in contact with the ocean, this boundary condition reads: | ||
- | < | ||
- | $rhow = 1000.0/ | ||
- | Constants | ||
- | Water Density = Real $rhow | ||
- | End | ||
- | |||
- | !!! BC Lateral Ice-Shelf (air or sea contact) | ||
- | Boundary Condition 2 | ||
- | Target Boundaries = 2 | ||
- | Calving Front = Logical True | ||
- | End | ||
- | </ | ||
==== Examples ==== | ==== Examples ==== | ||
- | Download {{: | + | For examples look in your elmer source distribution under '' |