SOLVCON is a collection of conservation-law solvers that use the space-time Conservation Element and Solution Element (CESE) method [Chang95]. The equations to be solved are formulated as:

\[\frac{\partial\mathbf{u}}{\partial t} + \sum_{k=1}^3 \mathrm{A}^{(k)}(\mathbf{u}) \frac{\partial\mathbf{u}}{\partial x_k} = 0\]

where \(\mathbf{u}\) is the unknown vector and \(\mathrm{A}^{(1)}\), \(\mathrm{A}^{(2)}\), and \(\mathrm{A}^{(3)}\) are the Jacobian matrices.


Clone from

$ git clone

SOLVCON needs the following packages: A C/C++ compiler supporting C++11, pybind11 Git master, Python 2.7/3.5, six 1.10.0, Cython 0.16+, Numpy 1.5+, LAPACK, NetCDF 4+, SCOTCH 6.0+, Nose 1.0+, Paramiko 1.14+, boto 2.29.1+, gmsh 2.5+, and VTK 5.6+.

A script at contrib/ is provided to install the dependency with Anaconda.

The following command builds and installs SOLVCON:

$ python install

Additional notes:

  • Unit tests need to be run with local build:

    $ python build_ext --inplace
    $ nosetests --with-doctest
  • Building document requires Sphinx 1.3.1+, pstake 0.3.4+, Sphinxcontrib issue tracker 0.11, and graphviz 2.28+. Once the binary of SOLVCON is built, the following commands can build the document:

    $ make -C doc html

    The document will be available at doc/build/html/.