SOLVCON

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.

Install

Clone from https://bitbucket.org/solvcon/solvcon:

$ hg clone https://bitbucket.org/solvcon/solvcon

SOLVCON needs the following packages: gcc 4.3+ (clang on OSX works as well), SCons 2+, Python 2.7, 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+.

In the contrib/ directory, you can find the scripts for installing these dependencies:

The binary part of SOLVCON should be built with SCons:

$ scons scmods

Then add the installation path to the environment variables $PATH and $PYTHONPATH.

Additional build and tests:

  • 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:

    $ cd doc
    $ make html
    

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

  • Unit tests should be run with Nose:

    $ nosetests
    
  • Another set of tests are collected in ftests/ directory, and can be run with:

    $ nosetests ftests/*
    

    Some tests in ftests/ involve remote procedure call (RPC) that uses ssh. You need to set up the public key authentication to properly run them.

Development

References

  • Bibliography
  • History
  • Papers and presentations:
    • Published Applications of SOLVCON
    • Yung-Yu Chen, A Multi-Physics Software Framework on Hybrid Parallel Computing for High-Fidelity Solutions of Conservation Laws, Ph.D. Thesis, The Ohio State University, United States, Aug. 2011. (OhioLINK)
    • PyCon US 2011 talk: slides and video
    • Yung-Yu Chen, David Bilyeu, Lixiang Yang, and Sheng-Tao John Yu, “SOLVCON: A Python-Based CFD Software Framework for Hybrid Parallelization”, 49th AIAA Aerospace Sciences Meeting, January 4-7 2011, Orlando, Florida. AIAA Paper 2011-1065
  • The CESE method:
    • The CE/SE working group: http://www.grc.nasa.gov/WWW/microbus/
    • The CESE research group at OSU: http://cfd.solvcon.net/research.html
    • Selected papers:
      • Sin-Chung Chang, “The Method of Space-Time Conservation Element and Solution Element – A New Approach for Solving the Navier-Stokes and Euler Equations”, Journal of Computational Physics, Volume 119, Issue 2, July 1995, Pages 295-324. doi: 10.1006/jcph.1995.1137
      • Xiao-Yen Wang, Sin-Chung Chang, “A 2D Non-Splitting Unstructured Triangular Mesh Euler Solver Based on the Space-Time Conservation Element and Solution Element Method”, Computational Fluid Dynamics Journal, Volume 8, Issue 2, 1999, Pages 309-325.
      • Zeng-Chan Zhang, S. T. John Yu, Sin-Chung Chang, “A Space-Time Conservation Element and Solution Element Method for Solving the Two- and Three-Dimensional Unsteady Euler Equations Using Quadrilateral and Hexahedral Meshes”, Journal of Computational Physics, Volume 175, Issue 1, Jan. 2002, Pages 168-199. doi: 10.1006/jcph.2001.6934
  • Related Links
  • Other Software for Solving PDEs

Copyright (c) 2008, Yung-Yu Chen <yyc@solvcon.net>

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Contributors