<jupyter_start><jupyter_text>Exhaust modeling with PyPlume  <NAME>                  Background & Motivation+ **Jacobian Preconditioning**+ **Atmospheric Chemistry**  Design+ **mechanisms**+ **model**+ **output**+ **figures**+ **statistics**<img style="float: left; padding: 1px;  width: 80%;  height: auto" src="https://docs.google.com/drawings/d/e/2PACX-1vR3WNdtqP-XrTlt2AzNjb0qXGGVhuw_hbf4pLCnDHrq7-beNKYHCRTqri56t5TiE5LrBjiyP0PtiJQ-/pub?w=738&h=178">  Theory+ **Cantera Reactor Network**+ **Exhaust Models**+ **Less Well Mixed**  Installation```pythonconda install -c anthony-walker pyplume``````pythonpip install pyplume``` TestingThe plan is to have a test function of each module. I have currently implemented some of them.<jupyter_code>!rm simple.hdf5 #remove hdf5 file
!pyplume.mech -t #commandline test mechanisms

!pyplume.model simple -t #commandline test model
import sys
import pyplume
import numpy as np

#Install package
!conda install --yes --prefix {sys.prefix} -c anthony-walker pyplume

# Mechanism management
cti = 'test.cti'
pyplume.mech.mechFileAdd(cti) #Add mechanism file
pyplume.mech.mechFileList() #list mechanism files
#pyplume.tests.testMechs.runTests() #Run tests for mech management


!rm simple.hdf5 #remove hdf5 file
#Create model
plumeModel = pyplume.model.PlumeModel.simpleModel()
print(pyplume.model.PlumeModel.linearExpansionModel.__doc__)
#Build Network
plumeModel.buildNetwork()
print(plumeModel)
#Integrate model over time
for t in np.arange(0,1,0.1):
    plumeModel(t)
#Advance model to steady state
ss = plumeModel.steadyState()
plumeModel.ptype = False #Set for dense printing
print(plumeModel)
fgk = pyplume.figures.figureGenerationKit("simple.hdf5",save=False,show=True)
# fgk.plotProperty(['CO2','mass'])
fgk.plotProperty(['CO2',],reactors=[0,])
fgk.plotProperty(['mass',])<jupyter_output><empty_output><jupyter_text>Command-line interface```shellpyplume.mech -a test.ctipyplume.model simplepyplume.figures simple.hdf5```<jupyter_code>!rm simple.hdf5
!pyplume.mech -a test.cti
!pyplume.model simple --verbose
!pyplume.figures simple.hdf5 -d -w -p 'CO2' 'mass'
!ls<jupyter_output>Checking test.cti exists and is a file...

Adding test.cti to mechanisms...

done.

Creating simple model and building network.
Advancing to time: 0.000.
Advancing to time: 0.100.
Advancing to time: 0.200.
Advancing to time: 0.300.
Advancing to time: 0.400.
Advancing to time: 0.500.
Advancing to time: 0.600.
Advancing to time: 0.700.
Advancing to time: 0.800.
Advancing to time: 0.900.
Advancing to time: 1.000.
Figure(640x480)
Figure(640x480)
 CO2.pdf			   pyplume-presentation.ipynb
 mass.pdf			   pyplume-presentation.slides.html
'ME 599 presentation rubric.pdf'   simple.hdf5
 nohup.out			   test.cti
{'fraction_non_alphanumeric': 0.12564102564102564, 'fraction_numerical': 0.035897435897435895, 'mean_word_length': 5.380841121495327, 'pattern_counts': {'":': 0, '<': 10, '<?xml version=': 0, '>': 10, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '2', 'dir': 'jupyter-structured-clean-dedup', 'id': '474578', 'license': 'BSD-3-Clause', 'n_tokens_mistral': 1079, 'n_tokens_neox': 990, 'n_words': 247, 'path': 'examples/presentation/pyplume-presentation.ipynb', 'repo_name': 'anthony-walker/pyplume', 'size': '2738'}