Solvers of Conservation Laws
Project description
SOLVCON is a collection of Python-based conservation-law solvers that use the space-time Conservation Element and Solution Element (CESE) method. SOLVCON targets at solving problems that can be formulated as a system of first-order, linear or non-linear partial differential equations (PDEs)
Install
Please use the development version in the Mercurial repository:
hg clone https://bitbucket.org/solvcon/solvcon
Released source tarballs can be downloaded from https://bitbucket.org/solvcon/solvcon/downloads, but the development version is recommended.
Prerequisites
SOLVCON itself depends on the following packages:
gcc 4.3+
SCons 2+
Python 2.7
Cython 0.16+
Numpy 1.5+
NetCDF 4+
SCOTCH 5.1+
Nose 1.0+
gmsh 2.5+
VTK 5.6+
Building document of SOLVCON requires the following packages:
pygraphviz 1.1+
Sphinx 1.1.2+
You will also need Mercurial (hg) to clone the development codebase.
The following command will install the dependencies on Debian jessie:
sudo apt-get install build-essential gcc gfortran scons \ liblapack-pic liblapack-dev libnetcdf-dev libnetcdfc7 netcdf-bin \ libscotch-dev libscotchmetis-dev libscotch-5.1 \ python2.7 python2.7-dev cython python-numpy python-nose gmsh python-vtk \ python-pygraphviz python-sphinx python-sphinxcontrib.issuetracker \ mercurial
On Ubuntu 12.04LTS please use:
sudo apt-get install build-essential gcc gfortran scons \ liblapack-pic liblapack-dev libnetcdf-dev libnetcdf6 netcdf-bin \ libscotch-dev libscotchmetis-dev libscotch-5.1 \ python2.7 python2.7-dev cython python-numpy python-nose gmsh python-vtk \ python-pygraphviz python-sphinx python-sphinxcontrib.issuetracker \ mercurial
Note: For Debian 6.x (squeeze), you need also apt-get install python-profiler for the Python built-in profiler.
Build
The binary part of SOLVCON should be built with SCons:
cd $SCSRC scons
where $SCSRC indicates the root directory of unpacked source tree.
The source tarball supports distutils and can built alternatively:
python setup.py build_ext --inplace
SOLVCON is designed to work without explicit installation. You can simply set the environment variable $PYTHONPATH to point to the source code, i.e., $SCSRC. Note that the binary code is needed to be compiled.
Run Tests
Tests should be run with Nose:
nosetests
in the project root directory $SCSRC. Another set of tests are collected in $SCSRC/ftests/ directory, and can be run with:
nosetests ftests/*
Some tests in $SCSRC/ftests/ involve remote procedure call (RPC) that uses ssh, so you need to set up the public key authentication of ssh.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.