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...

Full description

Bibliographic Details
Main Author: Schmidt, Niko
Format: Other/Unknown Material
Language:unknown
Published: Zenodo 2024
Subjects:
Online Access:https://doi.org/10.5281/zenodo.10470996
id ftzenodo:oai:zenodo.org:10470996
record_format openpolar
spelling ftzenodo:oai:zenodo.org:10470996 2024-09-15T18:12:29+00:00 FEniCS-full-Stokes Schmidt, Niko 2024-01-08 https://doi.org/10.5281/zenodo.10470996 unknown Zenodo https://doi.org/10.5281/zenodo.7805478 https://doi.org/10.5281/zenodo.10470996 oai:zenodo.org:10470996 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.1047099610.5281/zenodo.7805478 2024-07-27T07:33:47Z 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: Added example with different delta values Added a time dependent experiment Added a divergence-Term to the functional. This is needed for initial guesses that are not divergence-free. (For example, in time-dependent simulations.) Added example with different resolutions 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: Added example with different delta values Added a time dependent experiment Added a divergence-Term to the functional. This is needed for initial guesses that are not divergence-free. (For example, in time-dependent simulations.) Added example with different resolutions
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.10470996
genre Ice Sheet
genre_facet Ice Sheet
op_relation https://doi.org/10.5281/zenodo.7805478
https://doi.org/10.5281/zenodo.10470996
oai:zenodo.org:10470996
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.1047099610.5281/zenodo.7805478
_version_ 1810450061203603456