Skip to content

sb926/underworld2

 
 

Repository files navigation

Underworld 2 / python underworld

Underworld 2 is a python-friendly version of the Underworld code which provides a programmable and flexible front end to all the functionality of the code running in a parallel HPC environment. This gives signficant advantages to the user, with access to the power of python libraries for setup of complex problems, analysis at runtime, problem steering, and coupling of multiple problems. The python toolkit was funded by the NeCTAR eresearch_tools program.

Jenkins | ![Build Status] (http://128.250.120.238:9080/buildStatus/icon?job=uw2)

Dependencies

  • PETSc
  • MPI
  • hdf5 (optional, but recommended)
  • numpy
  • libpng
  • swig
  • build tools (gcc etc)

Note: Headers will be required for above libraries (-dev packages). Required libraries regularly included in system distributions are not listed.

Getting the code

  • Install Git
  • In a terminal, run:
git clone https://github.com/underworldcode/underworld2.git

Compilation

We periodically post build recipes for particular platforms on the underworld blog but the build strategy looks like this

    $ cd libUnderworld
    $ ./configure.py
    $ ./scons.py
    $ cd libUnderworldPy ; ./swigall.py ; cd ../
    $ ./scons.py

Check available configuration options using ./configure.py --help.
Library testing options may be found by running ./scons.py --help.

Usage

You will first need to make the project directory available to import within python:

    $ export PYTHONPATH=$PYTHONPATH:/top/directory/of/project

(note that if you are not using the bash shell, the required command will be different.)

Various example files are provided in InputFiles and may be run as follows:

    $ cd InputFiles
    $ python LidDriven.py

Privacy

Note that basic usage metrics are dispatched when you use Underworld. To opt out, set the UW_NO_USAGE_METRICS environment variable. See PRIVACY.md for full details.

Bedtime reading

Moresi, L., Dufour, F., and Muhlhaus, H.B., 2002, Mantle convection modeling with viscoelastic/brittle lithosphere: Numerical methodology and plate tectonic modeling: Pure And Applied Geophysics, v. 159, no. 10, p. 2335–2356, doi: 10.1007/s00024-002-8738-3.

Moresi, L., Dufour, F., and Muhlhaus, H.B., 2003, A Lagrangian integration point finite element method for large deformation modeling of viscoelastic geomaterials: Journal of Computational Physics, v. 184, no. 2, p. 476–497.

Moresi, L., Quenette, S., Lemiale, V., Mériaux, C., Appelbe, W., Mühlhaus, 2007, Computational approaches to studying non-linear dynamics of the crust and mantle: Phys. Earth Planet. Inter, v. 163, p. 69–82, doi: 10.1016/j.pepi.2007.06.009.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 68.8%
  • Python 23.9%
  • C++ 3.6%
  • PostScript 2.3%
  • TeX 0.5%
  • Perl 0.3%
  • Other 0.6%