Used increasingly widely in research for simulations, data analysis, machine learning and general research data processing
Underworld is an open-source, particle-in-cell finite element code tuned for large-scale geodynamics simulations. The numerical algorithms allow the tracking of history information through the high-strain deformation associated with fluid flow.
The finite element mesh can be static or dynamic, but it is not constrained to move in lock-step with the evolving geometry of the fluid.
This hybrid approach is very well suited to complex fluids which is how the solid Earth behaves on a geological timescale.
Underworld2 is a python-friendly rework of the Underworld code base which provides a programmable and flexible front end to all the functionality of the code running in a parallel HPC environment.
Underworld2 is integrated with the literate programming environment of the jupyter notebook system for tutorials and as a teaching tool for solid Earth geoscience.*
Problems addressed:
https://github.com/okaluza/lavavu
What it does well:
What it does well (cont.):
Github:
https://github.com/okaluza/lavavu
Instructions for building on Mac/Linux, including with IPython in the wiki:
https://github.com/okaluza/lavavu/wiki
Windows build: out of date due to lack of demand
Docker: (CPU and GPU versions to come) https://hub.docker.com/r/lavavu/latest/
Docker run on Linux with GPU access (open-source drivers only):
xhost +
docker run -v $HOME:/workspace/home -p 8888:8888 --volume=/tmp/.X11-unix:/tmp/.X11-unix --device=/dev/dri:/dev/dri --env="DISPLAY" lavavu/latest:v1.1
Tutorials/Examples:
Other examples from CAVE2 projects:
Underworld simulation models:
Underworld model visualisation: