Path: blob/devel/elmerice/Solvers/Documentation/AdjointThickness_GradientSolver.md
3206 views
AdjointThickness : Gradient Solver {#thickness_gradient_solver}
Module name: AdjointThickness_GradientSolver.F90 Module subroutines: AdjointThickness_GradientSolver Module authors: Fabien Gillet-Chaulet (IGE-Grenoble) Document authors: Fabien Gillet-Chaulet Document edited: 10/12/2020
Required input variables:
Variable solution of the direct problem (Thickness solver)
The adjoint variable computed from the adjoint linear system
output variables: [Optional]
Nodal derivatives with respect to:
convection velocity : [DJDuv]
the top surface accumulation : [DJDsmbTop]
the bottom surface accumulation : [DJDsmbBot]
Introduction
This is the adjoint code of the Thickness solver.
Computes the derivatives of a cost function that involves the thickness , solution of the direct solver, with respect to the input parameters (the convection velocity and the mass balance forcing).
The sequence in the .sif is usually as follow:
Compute the setady-state thickness using the thickness solver
Compute a cost function that measures the difference between the model and some observations, usually the observations are discrete along flow lines and the Adjoint_CostDiscSolver will be used.
Impose some constraint on the spacial variations of . This can be done by penalising first spatial derivatives of with the Adjoint_CostRegSolver (This has to be done before the next step as it involves the variable .)
Compute the solution of the adjoint linear system
Compute the gradient of your cost function with respect to your input parameters
Note that the step 3 is usually crucial as it will impose spatial correlation in the retrieved ice thickness field and thus drives the results far from the observations.
Keywords
Solver Section:
Body Forces:
Tests and Examples
See examples for the Mass Conservation methods