Skip to content

finite element codes to calculate glacier crevasse stress intensity factors

License

Notifications You must be signed in to change notification settings

bradlipovsky/crevasserator

Repository files navigation

DOI

monster truck jumping over a crevasse logo made by Steph Olinger

crevasserator

finite element method (FEM) codes to calculate glacier crevasse stress intensity factors

Most of the important stuff is in crevasse.py

The notebooks contain:

  • An example single-parameter run crevasse-model-single-parameter-set.ipynb
  • An example parameter space study, crevasse-model-parameter-space.ipynb
  • An effort to debug the non-smooth results, test-swell-phase-picker.ipynb

Install and Run

  1. Clone this repository.
  2. Run a Docker container with FEniCS (the FEM backend).
  3. Install a few things in the container.

Jupyter Notebooks

The easiest option to get started is to use Jupyter. The following docker command will launch a Jupyter Notebook server where you can run the notebooks. For the following docker run commands, run these from the directory that contains the cloned repo.

docker run --name crevasserator -w /home/fenics -v (pwd):/home/fenics/shared -d -p 127.0.0.1:8888:8888 quay.io/fenicsproject/stable 'jupyter-notebook --ip=0.0.0.0'

Interactive Terminal

We have run parameter studies with up to 1e4 individual runs. Scaling in this way can't be achieved using Jupyter since the overhead is too high and the sessions don't persist. Instead, for this application, we want to create a container with an interactive terminal:

docker run --name crevasserator_it -it -w /home/fenics -v (pwd):/home/fenics/shared quay.io/fenicsproject/stable

After creating the container, one useful workflow is to start screen (to ensure persistence) and then start and attach the container,

screen
docker start crevasserator_it
docker attach crevasserator_it

Finally, you'll need to install some things in the container:

sudo apt-get update -y
sudo apt-get install -y python-gmsh
pip install --user gmsh h5py meshio

About

finite element codes to calculate glacier crevasse stress intensity factors

Resources

License

Stars

Watchers

Forks

Packages

No packages published