Path: blob/devel/elmerice/Solvers/Documentation/AdjointSSA_GradientSolver.md
3206 views
AdjointSSA : Gradient Solver {#ssa_gradient_solver}
Module name: AdjointSSA_GradientSolver.F90 Module subroutines: AdjointSSA_GradientSolver Module authors: Fabien Gillet-Chaulet (IGE-Grenoble) Document authors: Fabien Gillet-Chaulet Document edited: 28/04/2020
Required input variables:
Variable solution of the direct problem (SSA solver)
The adjoint variable computed from the adjoint linear system
output variables: [Optional]
Nodal derivatives with respect to:
SSA Friction Parameter [set in Material]
SSA mean viscosity [set in Material]
SSA mean density [set in Material]
nodal top surface elevation [Zs variable]
nodal bottom surface elevation [Zb variable]
Introduction
This is the adjoint code of the SSA solver.
Computes the derivatives SSA with respect to the input parameters.
The sequence in the .sif is usually as follow:
Compute the velocity using the SSA solver
Compute a cost function that measures the difference between the model and some observations
Compute the solution of the adjoint linear system
Compute the gradient of your cost function with respect to your input parameters
If a change of variable is used for the input friction coefficient or viscosity, the derivative of the friction coefficient or viscosity with respect to your input variable can directly be provided in the Material section.
Keywords
Solver section
Material Properties:
By default the output for DJDBeta and DJDEta is the derivative with respect to the values prescribed in the material properties. If a change of variable is used, you can directly provide the derivative here:
e.g.
Or using ElmerIce built-in user functions:
Tests and Examples
See examples for the SSA inverse methods