SOLVCON is a collection of Python-based conservation-law solvers that use the space-time Conservation Element and Solution Element (CESE) method [Chang95]. SOLVCON targets at solving problems that can be formulated as a system of first-order, linear or non-linear partial differential equations (PDEs) [Lax73]:
where is the unknown vector, , , and the Jacobian matrices, and the source term. SOLVCON is designed to be a software framework to house various solvers. The design of SOLVCON is discussed in [Chen11].
hg clone https://bitbucket.org/solvcon/solvcon
SOLVCON has the following dependencies: gcc 4.3+, 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+. You can install them by running the scripts aptget.*.sh (Debian/Ubuntu) or conda.sh (Miniconda/Anaconda) provided in the contrib/ directory.
The binary part of SOLVCON should be built with SCons:
After worth, it can be built with distutils:
python setup.py build_ext --inplace
SOLVCON needs not explicit installation. Setting the environment variables $PATH and $PYTHONPATH is sufficient.
cd doc make html
The built document will be available at doc/build/html/.
Tests should be run with Nose:
Another set of tests are collected in ftests/ directory, and can be run with:
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.
A hard way to install the dependencies is to build everything from source with the scripts provided in the ground/ directory:
cd ground ../contrib/get make all cd .. source opt/etc/scvars.sh
A directory opt/ will be created for the binaries. The last line will enable the runtime environment. It also export an environment variable SCROOT that points to opt/.
If we don’t even have a compatible gcc, scripts in the soil/ directory can be used:
cd soil ../contrib/get make cd .. source opt/etc/scgccvars.sh
$SCROOT/etc/scvars.sh and $SCROOT/etc/scgccvars.sh must be separately sourced. The two sets of packages reside in different directories.
Copyright (c) 2008, Yung-Yu Chen <email@example.com>
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
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.
|[Chang95]||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|
|[Chen11]||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)|
|[Chen12]||Yung-Yu Chen, Lixiang Yang, and Sheng-Tao John Yu, “Hyperbolicity of Velocity-Stress Equations for Waves in Anisotropic Elastic Solids”, Journal of Elasticity, Volume 106, Issue 2, Feb. 2012, Page 149-164. doi: 10.1007/s10659-011-9315-8|
|[Lax73]||Peter D. Lax, “Hyperbolic Systems of Conservation Laws and the Mathematical Theory of Shock Waves”, Society for Industrial Mathematics, 1973. ISBN 0898711770.|
|[Mavriplis97]||D. J. Mavriplis, Unstructured grid techniques, Annual Review of Fluid Mechanics 29. (1997)|
|[Warming75]||R. F. Warming, Richard M. Beam, and B. J. Hyett, “Diagonalization and Simultaneous Symmetrization of the Gas-Dynamic Matrices”, Mathematics of Computation, Volume 29, Issue 132, Oct. 1975, Page 1037-1045. http://www.jstor.org/stable/2005742|
|[Yang13]||Lixiang Yang, Yung-Yu Chen, Sheng-Tao John Yu, “Viscoelasticity determined by measured wave absorption coefficient for modeling waves in soft tissues”, Wave Motion, Volume 50, Issue 2, March 2013, Page 334-346. doi: 10.1016/j.wavemoti.2012.09.002.|