- Crane
- bolsigminusNOTE the latest version tested was
03/2016
.
pip install -r requirements.txt
Modify the Temperature parameterizations in config.yaml
. N
is the number
of crane simulations that will be run.
python build_bolsig_scripts.py
this will create one directory for every temperature in the simulation (configure inconfig.yaml
)- Set path to
bolsigminus
binary inrun_bolsigminus.sh
- Run
./run_bolsigminus.sh
This runs the Bolztmann solver to create rates for every electron impact reaction - Run
python parse_bolsig_output.py
This parses the single output file from the Boltzmann solver and places the rate coefficients for each electron impact reaction in side each temperature folder inelectron_impact_reactions
e.g.300K/electron_impact_reactions/
- Run
python build_crane_input_files.py
This places a Crane input file in each temperature directory, configuring it with the appropriate initial CO2 density according to the temperature.
- Set path to
crane-opt
executable inrun_crane_simulations.sh
- Run
./run_crane_simulations.sh
This runs crane for each temperature. Output is saved to each temperature directory in a file namedco2_splitting_out.csv
To plot the rate of CO2 dissociation vs Gas Temp, run python plot_co2_splitting_densities.py
To view residuals of a single crane simulation, run:
- Run
<CRANE_OPT> --color off -i <TEMP_DIR>/co2_splitting.i &>crane_output.txt
, where<CRANE_OPT>
is the path to the already-installed crane executable and<TEMP_DIR>
is the directory created by the above process. - Run
python plot_residuals.py crane_output.txt
build_bolsig_scripts.py
This creates one directory for every gas temperature for the simulations. Temperatures are configured inconfig.yaml
. It formats a template bolsig script and places it in each temperature directorybuild_crane_input_files.py
creates one directory for every gas temperature for the simulations. Temperatures are configures inconfig.yaml
. It formats a template CRANE input file and places it in each temperature directory.CO2_PLASMA.b.template
Bolsig script templateco2_splitting.i.template
CRANE input file templateco2_splitting_cross_sections.dat
electron impact cross sections from LxCatconfig.yaml
Config for defining min/max gas temp and number of stepslogging.sh
contains helper Bash functions for better loggingparse_bolsig_output.py
Parses output of Bolsig+ into separate files, one for each electron impact reaction. For each temperature directory, it creates a subdirectoryelectron_impact_reactions
into which each file containing rate coefficients is placedplot_co2_splitting_rates.py
iterates across all temperature directories and compares starting and ending CO2 densiteis. Post-processing, meant for after all CRANE simulations are complete.plot_residuals.py
takes a text file containing output from a single CRANE simulation and plots the CO2 residuals for each time steprequirements.txt
dependencies for piprun_bolsigminus.sh
Runs Bolsig+ (bolsigminus) for every temperature directory. Bolsig scripts must already existrun_crane_simulations.sh
Runs CRANE for every temperature directory. CRANE input files must already existutil.py
helper functions for Python scripts