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

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://github.com/solvcon/solvcon:

```
$ git clone https://github.com/solvcon/solvcon
```

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

is provided to install the dependency with
Anaconda.

The following command builds and installs SOLVCON:

```
$ python setup.py install
```

After installed you can run the unit tests:

```
$ python -c 'import solvcon as sc; sc.test()'
```

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/`

.When building SOLVCON locally:

$ python setup.py build_ext --inplace

You can run unit tests 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¶

- Issue tracker: https://github.com/solvcon/solvcon/issues
- Users’ mailing list: solvcon@googlegroups.com (or http://groups.google.com/group/solvcon)
*Python Style Guide**Jenkins Slave Setup**Hidden Infrastructure*contain incomplete documents about additional infrastructural features.*Hidden Applications*contain documents of the parcels that are not actively maintained at the time being.

## 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

- Sin-Chung Chang, “The Method of Space-Time Conservation Element and
Solution Element – A New Approach for Solving the Navier-Stokes and
Euler Equations”,

*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

- Yung-Yu Chen <yyc@solvcon.net>
- Sheng-Tao John Yu <yu.274@osu.edu>
- David Bilyeu <bilyeu.4@osu.edu>
- Tzu-Wei Lin <evolutionlin@gmail.com>
- Po-Hsien Lin <lin.880@buckeyemail.osu.edu>
- Taihsiang Ho <tai271828@gmail.com>