Skip to main content

1D shocktube caculator to provide analytic solutions

Project description

PRs Welcome Code style: black

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

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 details)

Uploaded Source

Built Distribution

shocktube1dcalc-1.0.2-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file shocktube1dcalc-1.0.2.tar.gz.

File metadata

  • Download URL: shocktube1dcalc-1.0.2.tar.gz
  • Upload date:
  • Size: 13.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.6.9 Linux/5.4.0-86-generic

File hashes

Hashes for shocktube1dcalc-1.0.2.tar.gz
Algorithm Hash digest
SHA256 b8584a478af2749937461fc7d5fbc1fbd361a98ca61147113a7e0229aa6c96ac
MD5 4715df566f4e246abc39dc17c80eee98
BLAKE2b-256 a05c8587a663c36ad87dfe0d72aa8168e50f75d423e09cef8c3e78c02acf043d

See more details on using hashes here.

File details

Details for the file shocktube1dcalc-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: shocktube1dcalc-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.4 CPython/3.6.9 Linux/5.4.0-86-generic

File hashes

Hashes for shocktube1dcalc-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3928f77885909377e06fa5e8e120038039e91863d6346ce060a0e1a957adfe04
MD5 40b61b40ee338208f6624f2943cdbd04
BLAKE2b-256 0099d75d6e332525f078a1928873d882bc19fcb89e67706707d0e52e60165d43

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page