Skip to content

cartemic/pypbomb

 
 

Repository files navigation

pypbomb

Black badge Isort badge Travis build badge Codecov badge Documentation badge status DOI


For when you want the detonation to stay on the inside.

Overview

This package was made to help with the design of a closed-end detonation tube, and was written as part of my PhD research in the propulsion lab at Oregon Sate University. It contains some tools that can be used to iteratively determine initial design parameters for a closed-end detonation tube.

The main items of interest are:

  • Bolt: Methods relating to bolt calculations and property lookup.
  • DDT: Methods for estimating the deflagration-to-detonation transition (DDT).
  • Flange: Methods pertaining to flange class and max pressure calculations.
  • Tube: Methods for designing and determining operational limits of a detonation tube.
  • Window: Methods for the design of viewing windows for optical access.

Full documentation can be found here.

Installation

Once cloned to your local machine, pypbomb can be installed via pip from within the project's top-level directory:

pip install .

Further instructions can be found in the full documentation if needed.

Short Example

To get an estimate for the maximum initial pressure that a tube with a given geometry can handle:

import pint
from pypbomb import Tube

ureg = pint.UnitRegistry()
quant = ureg.Quantity

initial_pressure = Tube.calculate_max_initial_pressure(
    tube_id=quant(5.76, "in"),
    tube_od=quant(6.625, "in"),
    initial_temperature=quant(70, "degF"),
    species_dict={"H2":2, "O2":1},
    mechanism="gri30.yaml",
    max_pressure=(2, "kpsi"),
    elastic_modulus=quant(200, "GPa"),
    density=quant(8, "g/cm**3"),
    poisson_ratio=0.27,
)

About

A small package to assist with detonation tube design

Topics

Resources

License

Stars

Watchers

Forks

Languages

  • Python 95.7%
  • TeX 4.3%