1D shocktube caculator to provide analytic solutions
Project description
1D shocktube caculator
This tool provides 1D Shock Tube solutions. You may output analytic solutions, or numeric solutions backed by CESE method, 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.
Getting Started
Prerequisites
- Python
- numpy
- scipy
Usage
Analytic Solution
from shocktube1dcalc import solver_analytic
# by default it will create a the shock tube based on Sod's classic condition.
shocktube = solver_analytic.ShockTube()
import numpy as np
mesh = np.linspace(-0.5, 0.5, 50)
analytic_solution = shocktube.get_analytic_solution(
mesh, t=0.4
)
You may customize the physical status of the shocktube via:
shocktube = solver_analytic.ShockTube(rho_left=1.0, u_left=0.0, p_left=1.0, rho_right=0.125, u_right=0.0, p_right=0.1)
Numeric Solution
from shocktube1dcalc import cese
elapsed_time = 0.4
cese_grid_size_t = 0.004
# multiply 2 for half grids, so total iteration number should be double
# the iteration number is always less than 1 by the grid number
iteration_number = round(elapsed_time / cese_grid_size_t * 2) - 1
shocktube = cese.ShockTube(iteration=iteration_number, grid_size_t=cese_grid_size_t)
shocktube.run_cese_iteration()
numeric_solution = shocktube.data.solution
Contributing
See Contributing
Authors
Taihsiang Ho (tai271828) tai271828@solvcon.net
Created from Lee-W/cookiecutter-python-template version 0.7.1
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
shocktube1dcalc-1.0.2.tar.gz
(13.7 kB
view hashes)
Built Distribution
Close
Hashes for shocktube1dcalc-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3928f77885909377e06fa5e8e120038039e91863d6346ce060a0e1a957adfe04 |
|
MD5 | 40b61b40ee338208f6624f2943cdbd04 |
|
BLAKE2b-256 | 0099d75d6e332525f078a1928873d882bc19fcb89e67706707d0e52e60165d43 |