Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
solvers:ssa [2013/12/10 08:54] gag [SIF contents] |
solvers:ssa [2017/05/19 05:20] (current) tzwinger [General Description] |
| |
==== General Informations ==== | ==== General Informations ==== |
:!: **Important changes have been made in ''SSABasalSolver''. This doc applies from Rev. 6472.** | :!: **Important changes have been made in ''SSABasalSolver''. This doc applies from Rev. 6480.** |
| |
* **Solver Fortran File:** ''SSASolver.f90'' | * **Solver Fortran File:** ''SSASolver.f90'' |
==== General Description ==== | ==== General Description ==== |
| |
| |
| === Ice flow === |
| |
The ''SSABasalSolver'' solve the classical SSA equation, it has been modified in Rev. 6440 to be executed either on a grid of dimension lower than the problem dimension itself (i.e. the top or bottom grid of a 2D or 3D mesh for a SSA 1D or 2D problem), or on a grid of the same dimension of the problem (i.e. 2D mesh for a 2D plane view SSA solution). \\ | The ''SSABasalSolver'' solve the classical SSA equation, it has been modified in Rev. 6440 to be executed either on a grid of dimension lower than the problem dimension itself (i.e. the top or bottom grid of a 2D or 3D mesh for a SSA 1D or 2D problem), or on a grid of the same dimension of the problem (i.e. 2D mesh for a 2D plane view SSA solution). \\ |
The ''Mean Density'' and ''Mean Viscosity'', if not uniform along the vertical direction, can be computed using the ''GetMeanValueSolver'' routine or the ''StucturedProjectToPlan'' solver (preferred solution). | The ''Mean Density'' and ''Mean Viscosity'', if not uniform along the vertical direction, can be computed using the ''GetMeanValueSolver'' routine or the ''StucturedProjectToPlan'' solver (preferred solution). |
| |
Contrary to the NS solver, the gravity must be orientated along the z-axis and it taken form the value of | Contrary to the NS solver, the gravity must be orientated along the z-axis and is taken from the value of |
''Flow BodyForce 2'' for a SSA-1D problem or ''Flow BodyForce 3'' for a SSA-2D problem. | ''Flow BodyForce 2'' for a SSA-1D problem or ''Flow BodyForce 3'' for a SSA-2D problem. |
| |
Note that in the absence of explicit boundary condition (no dirichlet condition or ''Calving front = Logical True'' not found) the natural boundary condition is force equilibrium (//rho_ice * h^2 = rho_water * h_im^2//). | Note that in the absence of explicit boundary condition (no dirichlet condition or ''Calving front = Logical True'' not found) the natural boundary condition is force equilibrium (//rho_ice * h^2 = rho_water * h_im^2//). |
| |
Since version 6472, there are three friction laws implemented in the SSA solver: a linear friction law, a Weertman type friction law and a Coulomb type friction law. The two latests are non-linear and a Newton linearisation can be used. The friction law is chosen using the keyword ''SSA Friction Law'', which takes the value ''Linear'', ''Weertman'' or ''Coulomb''. Other required keywords are described in the sif examples below. | The SSA velocities and pressure can be used, for example, as initial conditions for the Stokes Solver. |
| |
The SSA velocities and pressure can be use, for example, as initial conditions for the Stokes Solver. | |
| |
| |
* exported on the whole mesh using the ''StructuredProjectToPlane'' solver (preffered solution) or the ''SSASolver'' routine \\ | * exported on the whole mesh using the ''StructuredProjectToPlane'' solver (preffered solution) or the ''SSASolver'' routine \\ |
* used as a Dirichlet condition for the SIA velocity (see the [[solvers:sia|SIA Solver]]). | * used as a Dirichlet condition for the SIA velocity (see the [[solvers:sia|SIA Solver]]). |
| |
| === Basal friction === |
| |
| Since version 6480, there are three friction laws implemented in the SSA solver: |
| |
| * a linear friction law |
| <m> tau_b = beta . u </m>\\ |
| * a Weertman type friction law |
| <m> tau_b = beta.{u_b}^{m - 1} . u </m>\\ |
| * a Coulomb type friction law |
| <m> tau_b = 1/{A_s}^{1/n} {[{ 1/ {(1 + alpha . chi^q)} }]}^{1/n} . {u_b}^{1/n-1}. u </m>\\ |
| where |
| <m> alpha = {(q - 1)^{q-1}}/{q^q} </m> |
| and |
| <m> chi = {u_b}/{C^n N^n A_s} </m>\\ |
| |
| The two latests are non-linear and a Newton linearisation can be used. The friction law is chosen using the keyword ''SSA Friction Law'', which takes the value ''Linear'', ''Weertman'' or ''Coulomb''. The other keywords are:\\ |
| * a linear friction law |
| * ''SSA Friction Parameter'' -> <m>beta</m> |
| * a Weertman type friction law |
| * ''SSA Friction Parameter'' -> <m>beta</m> |
| * ''SSA Friction Exponent'' -> <m>m</m> |
| * ''SSA Friction Linear Velocity'' -> <m>u_{t0}</m> |
| * a Coulomb type friction law |
| * ''SSA Friction Parameter'' -> <m>beta= {A_s}^{-m}</m> |
| * ''SSA Friction Exponent'' -> <m>m = 1/n</m> |
| * ''SSA Friction Linear Velocity'' -> <m>u_{t0}</m> |
| * ''SSA Friction Post-Peak'' -> <m>q >= 1</m> |
| * ''SSA Friction Maximum Value'' -> <m>C</m> ~ max bed slope |
| * ''Effective Pressure'' (variable) -> <m>N</m> |
| * '' SSA Min Effective Pressure'' -> <m>N_{min}</m>, such that <m>N >= N_{min}</m> |
| |
| When <m>u_b = (u^2+v^2)^{1/2}< u_{t0}</m>, <m>u_b</m> in the previous equations is replaced by <m>u_{t0}</m>. |
| |
| |
| |
==== Examples ==== | ==== Examples ==== |
For examples look in your elmer source distribution under ''[ELMER_TRUNK]/elmerice/examples/Test_SSA''. | For examples look in your elmer source distribution under ''[ELMER_TRUNK]/elmerice/Tests/SSA'' and under ''[ELMER_TRUNK]/elmerice/examples/Test_SSA''. |