FEniCS-full-Stokes
This Python 3 source code solves the full-Stokes equations with different solvers and step size controls. We solve the full-Stokes equations with different algorithms and test these with the experiment ISMIP-HOM B, see (Pattyn et al.; Benchmark experiments for higher-order and full-Stokes ice sheet...
Main Author: | |
---|---|
Other Authors: | |
Format: | Other/Unknown Material |
Language: | unknown |
Published: |
Zenodo
2024
|
Subjects: | |
Online Access: | https://doi.org/10.5281/zenodo.10979366 |
id |
ftzenodo:oai:zenodo.org:10979366 |
---|---|
record_format |
openpolar |
spelling |
ftzenodo:oai:zenodo.org:10979366 2024-09-15T18:12:32+00:00 FEniCS-full-Stokes Schmidt, Niko Slawig, Thomas 2024-04-16 https://doi.org/10.5281/zenodo.10979366 unknown Zenodo https://doi.org/10.5281/zenodo.7805478 https://doi.org/10.5281/zenodo.10979366 oai:zenodo.org:10979366 info:eu-repo/semantics/openAccess Creative Commons Attribution 4.0 International https://creativecommons.org/licenses/by/4.0/legalcode info:eu-repo/semantics/other 2024 ftzenodo https://doi.org/10.5281/zenodo.1097936610.5281/zenodo.7805478 2024-07-27T07:32:40Z This Python 3 source code solves the full-Stokes equations with different solvers and step size controls. We solve the full-Stokes equations with different algorithms and test these with the experiment ISMIP-HOM B, see (Pattyn et al.; Benchmark experiments for higher-order and full-Stokes ice sheet models (ISMIP-HOM; 2008; The Cryosphere). The program allows one to choose between Armijo step sizes, exact step sizes, and constant step sizes; the Picard iteration and the Newton iteration; the functional and the residual norm as a minimization term; and an experiment in two and three dimensions. A combination of exact step sizes with the residual norm as the minimization term is not possible as the exact step sizes rely on a convex function as the minimization term. An executable example with comments is in examples/run_fullStokes.py. In this example are written comments on how to switch between algorithms. This source code relies on FEniCS https://fenicsproject.org/download/archive/ version 2019.1.0. FEniCS allows us to formulate the problem in the variational formulation. The use of Finite Elements is implemented by FEniCS. We only consider an iterative solver to solve the nonlinear full-Stokes equations. New in this version: For the time-dependent Arola E1 problem, we fixed the mistake of using the exact step size method on the interval (0.5,4) for the Picard iteration. Now, we use the interval (0,4). The results are qualitatively the same as in version 1.3.1. Note that the commented out lines 17, 56-58 in picard.py and 16, 50-52 in newton.py are used for the stopping criteria that the residual norm reduced enough compared to the initial guess. They are not used for the experiments in which the number of iterations is fixed. Other/Unknown Material Ice Sheet Zenodo |
institution |
Open Polar |
collection |
Zenodo |
op_collection_id |
ftzenodo |
language |
unknown |
description |
This Python 3 source code solves the full-Stokes equations with different solvers and step size controls. We solve the full-Stokes equations with different algorithms and test these with the experiment ISMIP-HOM B, see (Pattyn et al.; Benchmark experiments for higher-order and full-Stokes ice sheet models (ISMIP-HOM; 2008; The Cryosphere). The program allows one to choose between Armijo step sizes, exact step sizes, and constant step sizes; the Picard iteration and the Newton iteration; the functional and the residual norm as a minimization term; and an experiment in two and three dimensions. A combination of exact step sizes with the residual norm as the minimization term is not possible as the exact step sizes rely on a convex function as the minimization term. An executable example with comments is in examples/run_fullStokes.py. In this example are written comments on how to switch between algorithms. This source code relies on FEniCS https://fenicsproject.org/download/archive/ version 2019.1.0. FEniCS allows us to formulate the problem in the variational formulation. The use of Finite Elements is implemented by FEniCS. We only consider an iterative solver to solve the nonlinear full-Stokes equations. New in this version: For the time-dependent Arola E1 problem, we fixed the mistake of using the exact step size method on the interval (0.5,4) for the Picard iteration. Now, we use the interval (0,4). The results are qualitatively the same as in version 1.3.1. Note that the commented out lines 17, 56-58 in picard.py and 16, 50-52 in newton.py are used for the stopping criteria that the residual norm reduced enough compared to the initial guess. They are not used for the experiments in which the number of iterations is fixed. |
author2 |
Slawig, Thomas |
format |
Other/Unknown Material |
author |
Schmidt, Niko |
spellingShingle |
Schmidt, Niko FEniCS-full-Stokes |
author_facet |
Schmidt, Niko |
author_sort |
Schmidt, Niko |
title |
FEniCS-full-Stokes |
title_short |
FEniCS-full-Stokes |
title_full |
FEniCS-full-Stokes |
title_fullStr |
FEniCS-full-Stokes |
title_full_unstemmed |
FEniCS-full-Stokes |
title_sort |
fenics-full-stokes |
publisher |
Zenodo |
publishDate |
2024 |
url |
https://doi.org/10.5281/zenodo.10979366 |
genre |
Ice Sheet |
genre_facet |
Ice Sheet |
op_relation |
https://doi.org/10.5281/zenodo.7805478 https://doi.org/10.5281/zenodo.10979366 oai:zenodo.org:10979366 |
op_rights |
info:eu-repo/semantics/openAccess Creative Commons Attribution 4.0 International https://creativecommons.org/licenses/by/4.0/legalcode |
op_doi |
https://doi.org/10.5281/zenodo.1097936610.5281/zenodo.7805478 |
_version_ |
1810450125660618752 |