{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# V - 1D computations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The two following links might help you during the computation of 1D flames :
\n", "https://cantera.org/documentation/docs-2.4/sphinx/html/cython/onedim.html
\n", "https://cantera.org/science/flames.html\n", "
\n", "The first one is about the function that can be used for computing a one dimensional flame and the second one explains the equations that are computed.
\n", "The main difference between Cantera and a solver like AVBP is that equations are already one dimensional in Cantera." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. ADIABATIC FLAME - A freely-propagating, premixed flat flame " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

This script will show you the creation of a premixed flame. First the initial solution is created and then, the calculation is performed before plotting the interesting results.

" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import cantera as ct\n", "import numpy as np\n", "from matplotlib.pylab import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.1 Initial solution" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Import solution" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "gas = ct.Solution('gri30.cti') # Import gas phases with mixture transport model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Set the parameters" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# General\n", "p = 1e5 # pressure\n", "tin = 600.0 # unburned gas temperature\n", "phi = 0.8 # equivalence ratio\n", "\n", "fuel = {'CH4': 1} # Methane composition\n", "oxidizer = {'O2': 1, 'N2': 3.76} # Oxygen composition" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Set gas state to that of the unburned gas" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "gas.TP = tin, p\n", "gas.set_equivalence_ratio(phi, fuel, oxidizer)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Create the flame and set inlet conditions" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "f = ct.FreeFlame(gas, width=0.02) # Create the free laminar premixed flame specifying the width of the grid\n", "f.inlet.X = gas.X # Inlet condition on mass fraction\n", "f.inlet.T = gas.T # Inlet condition on temperature" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.2 Program starts here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

The idea here is to solve four flames to make the calculation converge. The first flame will be solved without equation energy whereas the others will continue the computation by enabling the calculation using the equation energy and by adding more point to the flame front.

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### First flame" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 2 timesteps 1.5e-05 1.624\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 5 timesteps 7.594e-05 1.356\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 0.0002162 1.814\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 20 timesteps 0.01184 -1.328\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [9] point grid(s).\n", "\n", "..............................................................................\n", "grid refinement disabled.\n", "Solution saved to file 4-Output/ch4_adiabatic.xml as solution no energy.\n" ] } ], "source": [ "f.energy_enabled = False # No energy for starters\n", "\n", "tol_ss = [1.0e-5, 1.0e-9] # tolerance [rtol atol] for steady-state problem\n", "tol_ts = [1.0e-5, 1.0e-9] # tolerance [rtol atol] for time stepping\n", "\n", "f.flame.set_steady_tolerances(default=tol_ss)\n", "f.flame.set_transient_tolerances(default=tol_ts)\n", "\n", "# Set calculation parameters\n", "f.set_max_jac_age(50, 50) # Maximum number of times the Jacobian will be used before it \n", " # must be re-evaluated\n", "f.set_time_step(1.0e-5, [2, 5, 10, 20, 80]) # Set time steps (in seconds) whenever Newton convergence fails \n", "f.set_refine_criteria(ratio=10.0, slope=1, curve=1) # Refinement criteria\n", "\n", "# Calculation\n", "loglevel = 1 # amount of diagnostic output (0 to 5)\n", "refine_grid = 'disabled' # 'refine' or 'remesh' to enable refinement\n", " # 'disabled' to disable\n", "\n", "f.solve(loglevel, refine_grid) # solve the flame on the grid\n", "f.save('4-Output/ch4_adiabatic.xml', 'no energy','solution with no energy') # save solution" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Second flame" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "%%capture\n", "f.energy_enabled = True # Energy equation enabled\n", "refine_grid = 'refine' # Calculation and save of the results\n", "\n", "f.set_refine_criteria(ratio=5.0, slope=0.5, curve=0.5) # Refinement criteria when energy equation is enabled\n", "\n", "f.solve(loglevel, refine_grid)\n", "f.save('4-Output/ch4_adiabatic.xml', 'energy', 'solution with the energy equation enabled')" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mixture-averaged flamespeed = 1.138558 m/s\n" ] } ], "source": [ "print('mixture-averaged flamespeed = {0:7f} m/s'.format(f.u[0])) # m/s" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Third flame and so on ..." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "%%capture\n", "f.set_refine_criteria(ratio=2.0, slope=0.05, curve=0.05) # Refinement criteria should be changed ...\n", "\n", "f.solve(loglevel, refine_grid) \n", "f.save('4-Output/ch4_adiabatic.xml', 'energy continuation','solution with the energy equation enabled continuation')" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mixture-averaged flamespeed continuation = 1.070030 m/s\n", "mixture-averaged final T = 2201.068248 K\n" ] } ], "source": [ "points = f.flame.n_points\n", "print('mixture-averaged flamespeed continuation = {0:7f} m/s'.format(f.u[0])) # m/s\n", "print('mixture-averaged final T = {0:7f} K'.format(f.T[points - 1])) # K" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Fourth flame and so on ..." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "%%capture\n", "\n", "f.transport_model = 'Multi' # Switch transport model\n", "\n", "f.solve(loglevel, refine_grid)\n", "\n", "f.save('4-Output/ch4_adiabatic.xml', 'energy_multi',\n", " 'solution with the multicomponent transport and energy equation enabled')" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "multicomponent flamespeed = 1.081526 m/s\n", "multicomponent final T = 2201.849447 K\n" ] } ], "source": [ "points = f.flame.n_points\n", "print('multicomponent flamespeed = {0:7f} m/s'.format(f.u[0])) # m/s\n", "print('multicomponent final T = {0:7f} K'.format(f.T[points - 1])) # K" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You may notice that there are small differences on the flamespeed and on the final temperature between the two transport models, as it was predictable." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 1.3 Manipulate the results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Save your results" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Solution saved to '4-Output/ch4_adiabatic.csv'.\n" ] } ], "source": [ "f.write_csv('4-Output/ch4_adiabatic.csv', quiet=False) # Write the velocity, temperature, density, and mole fractions \n", " # to a CSV file" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Plot your results (temperature, density, velocity, ...)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "rcParams['figure.figsize'] = (14, 10)\n", "\n", "# Get the different arrays\n", "z = f.flame.grid\n", "T = f.T\n", "u = f.u\n", "ifuel = gas.species_index('CH4')\n", "\n", "fig=figure(1)\n", "\n", "# create first subplot - adiabatic flame temperature\n", "a=fig.add_subplot(221)\n", "a.plot(z,T)\n", "title(r'$T_{adiabatic}$ vs. Position', fontsize=15)\n", "xlabel(r'Position [m]')\n", "ylabel(\"Adiabatic Flame Temperature [K]\")\n", "a.xaxis.set_major_locator(MaxNLocator(10)) # this controls the number of tick marks on the axis\n", "\n", "# create second subplot - velocity\n", "b=fig.add_subplot(222)\n", "b.plot(z,u)\n", "title(r'Velocity vs. Position', fontsize=15)\n", "xlabel(r'Position [m]')\n", "ylabel(\"velocity [m/s]\")\n", "b.xaxis.set_major_locator(MaxNLocator(10)) \n", "\n", "# create third subplot - rho\n", "c=fig.add_subplot(223)\n", "p = zeros(f.flame.n_points,'d')\n", "for n in range(f.flame.n_points):\n", " f.set_gas_state(n)\n", " p[n]= gas.density_mass\n", "c.plot(z,p)\n", "title(r'Rho vs. Position', fontsize=15)\n", "xlabel(r'Position [m]')\n", "ylabel(\"Rho [$kg/m^3$]\")\n", "c.xaxis.set_major_locator(MaxNLocator(10)) \n", "\n", "\n", "# create fourth subplot - specie CH4\n", "d=fig.add_subplot(224)\n", "ch4 = zeros(f.flame.n_points,'d')\n", "for n in range(f.flame.n_points):\n", " f.set_gas_state(n)\n", " ch4[n]= gas.Y[ifuel]\n", "d.plot(z,ch4)\n", "title(r'CH4 vs. Position', fontsize=15)\n", "xlabel(r'Position [m]')\n", "ylabel(\"CH4 Mole Fraction\")\n", "d.xaxis.set_major_locator(MaxNLocator(10))\n", "\n", "# Set title\n", "fig.text(0.5,0.95,r'Adiabatic $CH_{4}$ + Air Free Flame at Phi = 0.8 Ti = 600K and P = 1atm',fontsize=22,horizontalalignment='center')\n", "\n", "subplots_adjust(left=0.08, right=0.96, wspace=0.25, hspace=0.25)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
The plots here describe the flame front. The evolution of the variables and the different values seem coherent with the simulation.
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. A burner-stabilized rich premixed methane-oxygen flame at low pressure" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

This script will show you the creation of a burner. This is basically the same thing as a premixed flame, except that the flame is stabilized on a burner and not freely proapagating.

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![title](Images/burnervsfree.pdf)\n", "From R.J. Kee, M.E. Coltrin and P. Glarborg *Chemically Reacting Flow*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.1 Initial solution" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
Try to set a solution from :
\n", "- the gri30 mechanism (CH4/air flame)
\n", "- with a pressure of 1 bar, a temperature of 373 K, an equivalence ratio of 1.3\n", "
" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "# Import gas phases with mixture transport model\n", "gas = ct.Solution('gri30.cti')\n", "\n", "# Parameter values :\n", "# General\n", "p = 1e5 # pressure\n", "tin = 373 # unburned gas temperature\n", "phi = 1.3\n", "\n", "fuel = 'CH4: 1'\n", "oxidizer = 'O2:1.0, N2:3.76'\n", "\n", "# Set gas state to that of the unburned gas\n", "gas.TP = tin, p\n", "gas.set_equivalence_ratio(phi, fuel, oxidizer)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
Try to construct a BurnerFlame of width 2 cm and implement the limit conditions (f.burner instead of f.inlet for this case).\n", "
" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "f = ct.BurnerFlame(gas, width=0.2)\n", "\n", "f.burner.T = gas.T\n", "f.burner.X = gas.X # Conditions\n", "\n", "mdot = 0.04\n", "f.burner.mdot = mdot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here, the strategy is, as above, a four step calculation. For the purpose of this training, we have commented lines so that the result is only done in one calculation.
\n", "As you might notice, the calculation works and it converges, but it takes more time than doing it by running four calculations.
\n", "Therefore, the choice is entirely yours and dependent on the fuel you are using (heptane will take more time to converge than methane for instance).

\n", "It is possible that your flame does not converge in some simulations (sometimes, the Newton solver used to compute the flame is crashing if the chemistry is too sharp - meaning that the chemical timesteps are very small - or for other reasons). You have several parameters that you can play on to make it work :\n", "- increase or decrease the tolerances for steady-state and time stepping (whether absolute or relative).\n", "- increase your ratio in the refine criteria.\n", "- take a slower time step with more steps.
\n", "\n", "NB : If you do not want the solver to plot the lines of computing, just uncomment the **%%capture** command.
\n", "NB2 : Note that two functions might be useful for your future developments :\n", "- if you want to **save** a solution in a xml file, you can use the save() function on the freeflame object.\n", "- if you want to **restore** a solution from a xml file, you can use the restore() function. This is very useful if you want to analyse old results or if you want a flame to converge without starting from a linear initialization.\n", "\n", "NB3 : To specify the grid refinement criteria, it is possible to set the function set_refine_criteria with correct values. This enables to have more control on the way the solver refine the curve. The different fields definitions are :
\n", "- **ratio** : additional points will be added if the ratio of the spacing on either side of a grid point exceeds\n", "this value\n", "- **slope** : maximum difference in value between two adjacent points, scaled by the maximum difference in the profile (0.0 < slope < 1.0). Adds points in regions of high slope.\n", "- **curve** : maximum difference in slope between two adjacent intervals, scaled by the maximum difference in the profile (0.0 < curve < 1.0). Adds points in regions of high curvature.\n", "- **prune** : if the slope or curve criteria are satisfied to the level of prune, the grid point is assumed not to be needed and is removed. Set prune significantly smaller than slope and curve. Set to zero to disable pruning the grid.
\n", "For a first computation, it is best to put the ratio value to a sufficiently high value; and to let the\n", "'slope' and 'curve' values to 1. Use 'prune' if you see that Cantera tries to refine your grid too much,\n", "and that the number of points starts to exceed a reasonable value (approximately 200 points is enough)." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 1 timesteps 1.5e-05 5.342\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 2 timesteps 3.375e-05 4.579\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 5 timesteps 0.0002563 3.704\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 0.0001539 5.737\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 20 timesteps 0.004213 4.328\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 20 timesteps 0.82 2.376\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [7] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 0 1 2 3 4 \n", " to resolve C2H C2H2 C2H3 C2H4 C2H5 C2H6 CH CH2 CH2(S) CH2CO CH2O CH2OH CH3 CH3OH CH4 CO CO2 H H2 H2O HCCO HCCOH HCN HCNO HCO HNCO HNO HO2 HOCN N2 N2O NH NH2 NH3 NO O O2 OH T u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 1 timesteps 1.5e-05 5.158\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 2 timesteps 3.375e-05 4.495\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 5 timesteps 0.0002563 3.418\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 0.009853 3.65\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 20 timesteps 2.876 1.464\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [12] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 0 1 2 3 6 10 \n", " to resolve C C2H2 C2H4 C2H6 CH CH2 CH2(S) CH2CO CH2O CH2OH CH3 CH3O CH3OH CH4 CN CO CO2 H H2 H2O H2O2 HCCO HCCOH HCN HCNO HCO HNCO HNO HO2 HOCN N N2 N2O NCO NH NH2 NH3 NO NO2 O O2 OH T point 10 u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 1 timesteps 1e-05 5.829\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 2 timesteps 2.25e-05 5.311\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 5 timesteps 0.0001709 4.713\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 4.561e-05 5.908\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 20 timesteps 0.008427 3.701\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 20 timesteps 2.815e-05 5.759\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 20 timesteps 0.04161 3.064\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 20 timesteps 61.49 -0.9595\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [18] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 0 1 2 3 \n", " to resolve C C2H C2H2 C2H3 C2H4 C2H5 C2H6 C3H8 CH CH2 CH2(S) CH2CO CH2O CH2OH CH3 CH3CHO CH3O CH3OH CH4 CN CO CO2 H H2 H2O H2O2 HCCO HCCOH HCN HCNO HCO HNCO HNO HO2 HOCN N N2 N2O NCO NH NH2 NH3 NO NO2 O O2 OH T u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 1 timesteps 1e-05 5.833\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 2 timesteps 2.25e-05 5.459\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 5 timesteps 0.0001139 5.176\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 6.082e-05 5.505\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 20 timesteps 3.292e-05 6.524\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 20 timesteps 0.004805 4.102\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 20 timesteps 2.104 -0.3803\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [22] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 0 1 2 3 4 12 \n", " to resolve C C2H C2H2 C2H3 C2H4 C2H5 C2H6 C3H8 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3CHO CH3O CH3OH CH4 CO CO2 H H2 H2O H2O2 HCCO HCCOH HCN HCNO HCO HNCO HNO HO2 HOCN N N2 N2O NCO NH NH2 NH3 NO NO2 O O2 OH T u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 1 timesteps 1.5e-05 5.519\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 2 timesteps 3.375e-05 5.143\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 5 timesteps 0.0002563 4.954\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 0.00146 4.593\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 20 timesteps 0.004994 4.151\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 20 timesteps 3.28 1.092\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [28] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 0 1 2 3 4 5 \n", " to resolve C2H C2H2 C2H3 C2H4 C2H5 C2H6 C3H8 CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3CHO CH3O CH3OH CH4 CO CO2 H H2 H2O H2O2 HCCO HCCOH HCN HCNO HCO HNCO HO2 N2 N2O NH3 NO NO2 O O2 OH T u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [34] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 0 1 2 3 4 5 6 7 \n", " to resolve C2H C2H2 C2H3 C2H4 C2H5 C2H6 C3H7 C3H8 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3CHO CH3O CH3OH CH4 CO CO2 H H2 H2O H2O2 HCCO HCCOH HCN HCNO HCO HNCO HO2 N2 NH2 NH3 NO NO2 O O2 OH T u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [42] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 0 1 2 3 4 5 6 7 8 9 10 11 12 \n", " to resolve C2H C2H2 C2H3 C2H4 C2H5 C2H6 C3H8 CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3CHO CH3O CH3OH CH4 CO CO2 H H2 H2O H2O2 HCCO HCCOH HCN HCNO HCO HNCO HO2 N2 NO NO2 O O2 OH T u \n", "##############################################################################\n", "\n", "..............................................................................\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [55] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 \n", " to resolve C2H2 C2H3 C2H4 C2H5 C2H6 C3H8 CH2 CH2CHO CH2CO CH2O CH2OH CH3 CH3CHO CH3O CH3OH CO H H2O2 HCCO HCCOH HCO HO2 N2 NO2 O OH \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [75] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 8 9 10 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 \n", " to resolve C2H3 C2H4 C2H5 C2H6 C3H8 CH2 CH2CHO CH2CO CH2O CH3 CH3CHO H H2O2 HCCO HCO HO2 O OH \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [97] point grid(s).\n", "\n", "..............................................................................\n", "no new points needed in flame\n", "Solution saved to file 4-Output/ch4_burner_flame.xml as solution energy_soret.\n" ] } ], "source": [ "#%%capture\n", "#################\n", "#f.energy_enabled = False\n", "\n", "tol_ss = [1.0e-5, 1.0e-9] # [rtol atol] for steady-state\n", "tol_ts = [1.0e-5, 1.0e-4] # [rtol atol] for time stepping\n", "\n", "f.flame.set_steady_tolerances(default=tol_ss)\n", "f.flame.set_transient_tolerances(default=tol_ts)\n", "\n", "f.set_refine_criteria(ratio=10.0, slope=1, curve=1)\n", "\n", "f.set_max_jac_age(50, 50)\n", "\n", "f.set_time_step(1.0e-5, [1, 2, 5, 10, 20])\n", "\n", "loglevel = 1 # amount of diagnostic output (0 to 5)\n", "\n", "#refine_grid = 'refine' # True to enable refinement, False to\n", "\n", "#f.solve(loglevel, refine_grid)\n", "\n", "#f.save('4-Output/ch4_burner_flame.xml', 'no_energy',\n", "# 'solution with the energy equation disabled')\n", "\n", "#################\n", "f.energy_enabled = True\n", "\n", "f.set_refine_criteria(ratio=3.0, slope=0.1, curve=0.2)\n", "\n", "#f.solve(loglevel, refine_grid='refine')\n", "\n", "#f.save('4-Output/ch4_burner_flame.xml', 'energy',\n", "# 'solution with the energy equation enabled')\n", "\n", "#################\n", "f.transport_model = 'Multi'\n", "\n", "#f.solve(loglevel, refine_grid='refine')\n", "\n", "#f.save('4-Output/ch4_burner_flame.xml', 'energy_multi',\n", "# 'solution with the energy equation enabled and multicomponent transport')\n", "\n", "#################\n", "f.soret_enabled = True\n", "\n", "f.solve(loglevel, refine_grid='refine')\n", "\n", "f.save('4-Output/ch4_burner_flame.xml', 'energy_soret',\n", " 'solution with the energy equation enabled and multicomponent transport')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
Here the plot is for the temperature. Try to change it to plot the laminar flame speed.\n", "
" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Solution saved to '4-Output/ch4_burner_flame.csv'.\n" ] } ], "source": [ "import matplotlib.pyplot as plt\n", "plt.plot(f.grid, f.u)\n", "plt.xlabel('grid (m)',fontsize=15)\n", "plt.ylabel('Laminar flame speed ($m/s$)',fontsize=15)\n", "plt.title('Laminar flame speed vs x-axis for an equivalence ratio of 1.3', fontsize=20)\n", "plt.show()\n", "\n", "f.write_csv('4-Output/ch4_burner_flame.csv', quiet=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "NB : This type of flame is not used in practice as most of the combustion chambers are based on the study of premixed flames configurations.. Nevertheless, it can be useful for some special configurations that you may want to study.
\n", "Next, we will see the **counter-flow diffusion flame** as this is an important configuration to study when studying a combustion chamber. However, if you need to look for other types, some more are available (see above)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. An opposed-flow ethane/air diffusion flame" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A counter-flow diffusion flame is basically a flame where the oxidizer and the fuel meet to burn (they are not mixed before burning, contrary to the two others types that we have seen before)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![title](Images/CDF.png)\n", "From Pfitzner, Michael & Müller, Hagen & Ferraro, Federica. (2013). Implementation of a Steady Laminar Flamelet Model for nonpremixed combustion in LES and RANS simulations. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First of all, the solution object is instanciated as usual. The mass flow rate of the oxidizer and the fuel have been fitted so that the flame is in stoichiometric conditions. In addition to the composition, the temperature and the pressure, the density and the mass flow rate are given. By dividing the second by the first, the velocity of each gases is given which leads to the calculation of the strain rate, an important parameter to counter-flow diffusion flame." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Velocity of the fuel : 0.19953599999999996\n", "Velocity of the oxidizer : 0.6192496551724137\n", "Strain rate of the diffusion flame : 40.93928275862068\n" ] } ], "source": [ "gas = ct.Solution('gri30.xml', 'gri30_mix')\n", "\n", "p = 1e5 # pressure\n", "\n", "comp_f = 'C2H6:1' # fuel composition\n", "tin_f = 300.0 # fuel inlet temperature\n", "\n", "rho_f = p / (8.314 / 0.030 * tin_f) # fuel inlet density\n", "mdot_f = 0.24 # fuel inlet mass flow rate (kg/m^2/s)\n", "vel_f = mdot_f / rho_f # fuel inlet velocity\n", "print('Velocity of the fuel : ' + str(vel_f))\n", "\n", "comp_o = 'O2:0.21, N2:0.78, AR:0.01' # oxidizer composition\n", "tin_o = 300.0 # oxidizer inlet temperature\n", "\n", "rho_o = p / (8.314 / 0.029 * tin_o) # oxidizer inlet density\n", "mdot_o = 0.72 # oxidizer inlet mass flow rate (kg/m^2/s)\n", "vel_o = mdot_o / rho_o # oxidizer inlet velocity\n", "print('Velocity of the oxidizer : ' + str(vel_o))\n", "\n", "gas.TP = tin_o, p\n", "\n", "width = 0.02\n", "a = (vel_o + vel_f) / width # calculation of the strain rate (s^-1)\n", "print('Strain rate of the diffusion flame : ' + str(a))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This will instanciate the counterflow diffusion flame. As you might notice, and this is valid for all the other cases, you can instanciate the initial grid yourself. This allows you to refine the grid when you want. This can be a good trick when your simulation is crashing and you want to compute it again.

\n", "As far as the inlets are concerned, the composition, temperature and mass flow rate needs to be specified." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "initial_grid = np.linspace(0, width, 6)\n", "f = ct.CounterflowDiffusionFlame(gas, initial_grid)\n", "\n", "# Set the state of the two inlets\n", "f.fuel_inlet.mdot = mdot_f\n", "f.fuel_inlet.X = comp_f\n", "f.fuel_inlet.T = tin_f\n", "\n", "f.oxidizer_inlet.mdot = mdot_o\n", "f.oxidizer_inlet.X = comp_o\n", "f.oxidizer_inlet.T = tin_o" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This starts the calculation of the counterflow diffusion flame. By experience, you will see that, out of this wonderful tutorial case, diffusion flames are hard to converge. You can either play with the size of the domain and every parameter said all along the tutorial (indeed, sometimes it converges better if the domain is smaller), or you can try a method that is developed here in CERFACS that resolves **the diffusion flame in the z-space**.
\n", "If you want some more information about that, come and ask the chemistry team of cerfacs." ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 2.848e-05 4.327\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 0.0007298 3.785\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 0.01247 1.5\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [6] point grid(s).\n", "\n", "..............................................................................\n", "grid refinement disabled.\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 0.0002563 5.361\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 0.001297 4.781\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [6] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 0 1 2 3 \n", " to resolve AR C2H C2H2 C2H3 C2H4 C2H5 C2H6 C3H7 C3H8 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3CHO CH3O CH3OH CH4 CO CO2 H H2 H2CN H2O H2O2 HCCO HCCOH HCN HCNO HCO HNCO HO2 N2 NH2 NH3 NO NO2 O O2 OH T u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 1.602e-05 6.866\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 6.082e-05 5.774\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 0.0006928 5.162\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 0.005261 3.914\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [10] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 1 2 3 4 5 \n", " to resolve C2H2 C2H3 C2H4 C2H5 C2H6 C3H7 C3H8 CH2 CH2CHO CH2CO CH2O CH2OH CH3 CH3CHO CH3O CH3OH CH4 CO CO2 H H2 H2O H2O2 HCCO HCCOH HCN HCNO HCO HNCO HO2 N2O NH3 NO NO2 O O2 OH T u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 0.0001139 5.45\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 0.001297 4.582\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [15] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 2 3 4 5 6 7 8 \n", " to resolve C C2H C2H2 C2H3 C2H5 C3H7 C3H8 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3OH CH4 CN CO H H2 H2O2 HCCO HCCOH HCN HCNO HCO HNCO HO2 N N2O NCO NH NH2 NH3 NO NO2 O O2 OH T \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 0.0001709 4.947\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [22] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 3 4 6 7 8 9 10 11 12 \n", " to resolve C C2H C2H3 C2H4 C2H5 C3H7 C3H8 CH CH2 CH2(S) CH2O CH2OH CH3 CH3O CN CO2 H H2O2 HCCO HCCOH HCN HCNO HCO HNCO HNO HO2 HOCN N N2O NCO NH NH2 NO O OH \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [31] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 12 13 14 15 19 20 \n", " to resolve C C2H CH CH2 CH2(S) CH2O CH2OH CN H H2O2 HCCO HCCOH HCO HNO HOCN N NCO NH NH2 NO \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [37] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 15 16 \n", " to resolve C CH CN HCO N \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [39] point grid(s).\n", "\n", "..............................................................................\n", "no new points needed in flame\n", "Solution saved to file c2h6_diffusion.xml as solution energy.\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [39] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 33 \n", " to resolve AR C C2H C2H2 C2H3 C2H4 C2H5 C2H6 C3H7 C3H8 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3CHO CH3OH CH4 CN CO CO2 H H2 H2O2 HCCO HCCOH HCN HCNO HCO HNCO HNO HO2 HOCN N N2 N2O NCO NH NH2 NH3 NO NO2 O O2 OH V point 2 point 22 point 33 point 7 \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 0.0003844 4.223\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 0.009853 3.041\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [71] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 5 8 10 11 12 13 14 15 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 34 38 44 45 46 47 48 49 50 51 52 53 54 \n", " to resolve C C2H C2H2 C2H3 C2H4 C2H5 C3H7 C3H8 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3OH CH4 H2O2 HCCO HCCOH HCN HCNO HCO HO2 N N2O NCO NH2 NO2 O OH point 15 point 44 point 5 \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [108] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 11 17 36 37 38 41 48 49 50 79 80 81 82 \n", " to resolve C C2H C2H3 C3H7 CH2 H2O2 HCCO HO2 \n", "##############################################################################\n", "\n", "..............................................................................\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [121] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 15 16 21 22 \n", " to resolve C3H7 \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [125] point grid(s).\n", "\n", "..............................................................................\n", "no new points needed in flame\n", "Solution saved to file 4-Output/c2h6_diffusion.xml as solution energy continuation.\n", "Solution saved to '4-Output/c2h6_diffusion.csv'.\n" ] } ], "source": [ "#%%capture\n", "# First flame:\n", "# disable the energy equation\n", "f.energy_enabled = False\n", "\n", "# Set error tolerances\n", "tol_ss = [1.0e-5, 1.0e-11] # [rtol, atol] for steady-state problem\n", "tol_ts = [1.0e-5, 1.0e-11] # [rtol, atol] for time stepping\n", "f.flame.set_steady_tolerances(default=tol_ss)\n", "f.flame.set_transient_tolerances(default=tol_ts)\n", "\n", "# and solve the problem without refining the grid\n", "f.solve(loglevel=1, refine_grid='disabled')\n", "\n", "#################\n", "# Second flame:\n", "# specify grid refinement criteria, turn on the energy equation,\n", "f.energy_enabled = True\n", "\n", "f.set_refine_criteria(ratio=3, slope=0.8, curve=0.8)\n", "\n", "# and solve the problem again\n", "f.solve(loglevel=1, refine_grid='refine')\n", "\n", "# save your results\n", "f.save('4-Output/c2h6_diffusion.xml', 'energy')\n", "\n", "#################\n", "# Third flame:\n", "# specify grid refinement criteria, turn on the energy equation,\n", "f.energy_enabled = True\n", "\n", "f.set_refine_criteria(ratio=2, slope=0.2, curve=0.2, prune=0.04)\n", "\n", "# and solve the problem again\n", "f.solve(loglevel=1, refine_grid='refine')\n", "\n", "# save your results\n", "f.save('4-Output/c2h6_diffusion.xml', 'energy continuation')\n", "\n", "#################################################################\n", "# Save your results if needed\n", "#################################################################\n", "# write the velocity, temperature, and mole fractions to a CSV file\n", "f.write_csv('4-Output/c2h6_diffusion.csv', quiet=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These are interesting quantities to plot, such as the different mass fractions and the temperature of the flame. This is all done in the following graph (with the values being adimensionalised)." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "# Get interesting values\n", "z = f.flame.grid\n", "T = f.T\n", "u = f.u\n", "\n", "# Get interesting indices for computation of species\n", "fuel_species = 'C2H6'\n", "ifuel = gas.species_index(fuel_species)\n", "io2 = gas.species_index('O2')\n", "in2 = gas.species_index('N2')\n", "\n", "# Initiate interesting vectors\n", "c2h6 = np.zeros(f.flame.n_points,'d')\n", "o2 = np.zeros(f.flame.n_points,'d')\n", "hr = np.zeros(f.flame.n_points,'d')\n", "\n", "# Computes interesting quantities for analyzing a counter-flow flame\n", "for n in range(f.flame.n_points):\n", " f.set_gas_state(n)\n", " c2h6[n]= gas.Y[ifuel]\n", " o2[n]= gas.Y[io2]\n", " hr[n] = - np.dot(gas.net_production_rates, gas.partial_molar_enthalpies)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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3W4hH8X7XN8FnsQLDEV4zQN+greW6sbwKFqycM69F3gO8G289uBFeK2u78Gr+XnOufmtr2P+WZ1zR/HWB92J10ChEm8NWRPL+KXqCj+PiEhSsOjWI4uIiD8d7wTwr865P5537G68HyyL8Fp4PwF82Dn30XnnfQ5v75pnOed+FfH6z4Ba59z2aO/jnJv2X/sh8EIg3zk3GXFuJd56oB84596wgut+DG+qYJlzbmje+efq9b8P7+t0q3PuI0v9OYqIiCQzjSCJiEQv3Lr4KSNNZvYO4PnAAT9cnMKb2va8eeddh9dVDi7cryhyrU+094l8L5zvDBb2cbxpWOGQttzrbgQG5oejBeoFrxveHPCC+Sea2fxpfCIiIklLa5BERKL3G2AQuNXMioBRvBDUgBeIHgVwzo2a2beAW8zsO3iNErYB78CbZjQUGTr8dsyVnA8cUd3Hf281sAFvatuXzeyTQD/eupTfAt7unDu43Ov6TgDlZvZ3eCNig35nu/n14pwbNLMvAG8zs5/jbVI6B+wEduDtxyMiIpL0FJBERKLkh4CX43Xhug3oAr4BfARv/U9kM4N3AlN4bbOf7x+7BfgPLlx/FB4BenwF9wm/91bgcuBP8dYCPQLc7Jw7t5nqMq8L8Pd4we7tQDleN7Tvz683wh8CB4G34o1eTQGHgH9DREQkRWgNkoiIiIiIiE9rkERERERERHxrYopdVVWVa25uDroMERERERFJUo888shZ51z1xc5bEwGpubmZvXsX2v5DREREREQEzOxUNOdpip2IiIiIiIhPAUlERERERMSngCQiIiIiIuJTQBIREREREfEpIImIiIiIiPgUkERERERERHwKSCIiIiIiIj4FJBEREREREZ8CkoiIiIiIiE8BSURERERExKeAJCIiIiIi4lNAEhERERER8SkgiYiIiIiI+BSQREREREREfApIIiIiIiIiPgUkERERERERnwKSiIiIiIiITwFJRERERETEp4AkIiIiIiLiU0ASERERERHxJTQgmdl/mdkZM3tikeNmZp8ys2Nmtt/MdiWyPhERERERSW+JHkG6HXjhEsdfBGzxv94B/FsCahIREREREQEgK5E3c8790syalzjl5cCXnHMOeMDMysxsg3OuKyEFrlbfcfj66xc5aAu8tMBr8TjPDCzD/4p8HvEFC7++2HtZ5Dq2yHUwyMiE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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig=figure(1)\n", "\n", "a=fig.add_subplot(111)\n", "a.plot(z,T/np.max(T),z,c2h6/np.max(c2h6),z,o2/np.max(o2))\n", "plt.title(r'$T_{adiabatic}$ vs. Position',fontsize=25)\n", "plt.xlabel(r'Position [m]', fontsize=15)\n", "plt.ylabel('Normalized values of different quantities',fontsize=15)\n", "plt.legend(['Temperature','$Y_{C_2H_6}$', '$Y_{O_2}$'],fontsize=15)\n", "show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. Compute your own premixed flame" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Please go on the website :
\n", "https://chemistry.cerfacs.fr/fr/" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You will find the reference website of cerfacs as far as chemistry is concerned. If you go to **Chemical Database** and **Data table**, you will notice that several mechanisms can be used for your computation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
The task now will be to :
\n", "- compute two premixed flames : one including the gri30 and the other the Lu.cti (under methane/skeletal on the website).
\n", "- the flames will be fuel/air at an equivalence ratio of 1.1, a cold gases temperature of 400K and a pressure of 2 bars.
\n", "- Try to post-process your data by plotting the flame speed of both flames.
\n", "The solution you are supposed to get is shown below.
\n", "NB : the transport used should be a mix one.
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![title](Images/Comparison.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Here is where you should code your premixed flame" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 2 timesteps 1.5e-05 1.861\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 5 timesteps 7.594e-05 1.662\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 0.001946 0.8802\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [9] point grid(s).\n", "\n", "..............................................................................\n", "grid refinement disabled.\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 2 timesteps 2.25e-05 5.733\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 5 timesteps 1.424e-05 6.463\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 2.027e-05 6.468\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [9] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 1 2 3 4 \n", " to resolve C C2H2 C2H3 C2H4 C2H5 C2H6 C3H8 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3CHO CH3O CH3OH CH4 CN CO CO2 H H2 H2O H2O2 HCCO HCN HCNO HCO HNCO HNO HO2 HOCN N N2 N2O NCO NH NH2 NH3 NO NO2 O O2 OH T u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 2 timesteps 1.5e-05 5.64\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 5 timesteps 5.695e-05 5.853\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 2.281e-05 5.884\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [13] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 3 4 5 6 7 \n", " to resolve C C2H C2H2 C2H3 C2H4 C2H5 C2H6 C3H7 C3H8 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3CHO CH3O CH3OH CH4 CN CO CO2 H H2 H2O H2O2 HCCO HCCOH HCN HCNO HCO HNCO HNO HO2 HOCN N N2 N2O NCO NH NH2 NH3 NO NO2 O O2 OH T u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 2 timesteps 2.25e-05 5.654\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 5 timesteps 0.0001139 5.372\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 2.027e-05 5.448\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [18] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 5 6 7 8 9 \n", " to resolve C C2H C2H2 C2H3 C2H4 C2H5 C2H6 C3H7 C3H8 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3CHO CH3O CH3OH CH4 CN CO CO2 H H2 H2O H2O2 HCCO HCCOH HCN HCNN HCNO HCO HNCO HNO HO2 HOCN N N2 N2O NCO NH NH2 NH3 NO NO2 O O2 OH T u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [23] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 7 8 9 10 11 12 \n", " to resolve C C2H C2H2 C2H3 C2H4 C2H5 C2H6 C3H7 C3H8 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3CHO CH3O CH3OH CH4 CN CO CO2 H H2 H2O H2O2 HCCO HCCOH HCN HCNO HCO HNCO HNO HO2 HOCN N N2 N2O NCO NH NH2 NH3 NO2 O O2 OH T u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [29] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 9 10 11 12 13 14 15 \n", " to resolve C C2H C2H2 C2H3 C2H4 C2H5 C2H6 C3H7 C3H8 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3CHO CH3O CH3OH CH4 CO H H2 H2O H2O2 HCCO HCCOH HCN HCNO HCO HNCO HO2 N N2 NCO NH NH2 NO2 O O2 OH u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [36] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 11 12 14 15 16 17 18 19 \n", " to resolve C C2H C2H2 C2H3 C2H4 C2H5 C3H7 C3H8 CH CH2 CH2(S) CH2CHO CH2CO CH2OH CH3 CH3CHO CH3O HCCO HCCOH HCN HCNO HCO N \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [44] point grid(s).\n", "\n", "..............................................................................\n", "no new points needed in flame\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [44] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 0 2 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 \n", " to resolve C C2H C2H2 C2H3 C2H4 C2H5 C2H6 C3H7 C3H8 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3CHO CH3O CH3OH CH4 CO CO2 H H2 H2O H2O2 HCCO HCCOH HCN HCNO HCO HNCO HO2 N N2 NCO NH2 NH3 NO NO2 O O2 OH T point 0 point 15 point 2 point 40 u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [83] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 2 6 10 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 65 66 69 70 71 72 75 77 79 80 \n", " to resolve C C2H C2H2 C2H3 C2H4 C2H5 C2H6 C3H7 C3H8 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3CHO CH3O CH3OH CH4 CO CO2 H H2 H2O H2O2 HCCO HCCOH HCN HCNO HCO HNCO HO2 N N2 NCO NO NO2 O O2 OH T point 2 point 6 point 77 u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [144] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 1 19 23 24 25 26 27 28 29 30 31 32 33 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 142 \n", " to resolve C C2H C2H2 C2H3 C2H4 C2H5 C2H6 C3H7 C3H8 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3CHO CH3O CH3OH CH4 CO H H2 H2O2 HCCO HCCOH HCN HCO HNCO HO2 N2 NO NO2 O OH point 1 point 142 point 27 point 47 point 96 \n", "##############################################################################\n", "\n", "..............................................................................\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [224] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 47 66 \n", " to resolve point 47 point 66 \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [226] point grid(s).\n", "\n", "..............................................................................\n", "no new points needed in flame\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 2 timesteps 1.5e-05 1.869\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 5 timesteps 7.594e-05 1.664\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 0.001946 0.786\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [9] point grid(s).\n", "\n", "..............................................................................\n", "grid refinement disabled.\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 2 timesteps 2.25e-05 5.773\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 5 timesteps 2.848e-05 6.299\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 7.602e-06 6.788\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [9] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 1 2 3 4 \n", " to resolve C C2H2 C2H3 C2H4 C2H5 C2H6 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3O CH3OH CH4 CO CO2 H H2 H2O H2O2 HCCO HCO HO2 N2 O O2 OH T u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 2 timesteps 1.5e-05 5.693\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 5 timesteps 5.695e-05 6.019\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 3.041e-05 5.591\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [13] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 3 4 5 6 7 \n", " to resolve C C2H2 C2H3 C2H4 C2H5 C2H6 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3O CH3OH CH4 CO CO2 H H2 H2O H2O2 HCCO HCO HO2 N2 O O2 OH T u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 2 timesteps 1.5e-05 5.656\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 5 timesteps 7.594e-05 5.36\n", "Attempt Newton solution of steady-state problem... failure. \n", "Take 10 timesteps 2.027e-05 5.887\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [18] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 5 6 7 8 9 \n", " to resolve C C2H2 C2H3 C2H4 C2H5 C2H6 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3O CH3OH CH4 CO CO2 H H2 H2O H2O2 HCCO HCO HO2 N2 O O2 OH T u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [23] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 8 9 10 11 12 \n", " to resolve C C2H2 C2H3 C2H4 C2H5 C2H6 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3O CH3OH CH4 CO CO2 H H2 H2O H2O2 HCCO HCO HO2 N2 O O2 OH T u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [28] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 8 9 10 11 12 13 14 \n", " to resolve C C2H2 C2H3 C2H4 C2H5 C2H6 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3O CH3OH CH4 CO H H2 H2O H2O2 HCCO HCO HO2 N2 O O2 OH T u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [35] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 10 11 14 15 16 17 18 \n", " to resolve C C2H2 C2H3 C2H4 C2H5 CH CH2 CH2(S) CH2CHO CH2CO CH2OH CH3 CH3O HCCO HCO \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [42] point grid(s).\n", "\n", "..............................................................................\n", "no new points needed in flame\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [42] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 0 2 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 \n", " to resolve C C2H2 C2H3 C2H4 C2H5 C2H6 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3O CH3OH CH4 CO CO2 H H2 H2O H2O2 HCCO HCO HO2 N2 O O2 OH T point 0 point 14 point 2 point 38 point 7 u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [79] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 2 6 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 61 62 65 66 67 68 71 73 \n", " to resolve C C2H2 C2H3 C2H4 C2H5 C2H6 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3O CH3OH CH4 CO CO2 H H2 H2O H2O2 HCCO HCO HO2 N2 O O2 OH T point 12 point 2 point 6 point 73 u \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [136] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 1 16 17 18 21 22 23 24 25 26 27 28 29 30 31 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 \n", " to resolve C C2H2 C2H3 C2H4 C2H5 C2H6 CH CH2 CH2(S) CH2CHO CH2CO CH2O CH2OH CH3 CH3O CH3OH CH4 CO H H2 H2O H2O2 HCCO HCO HO2 N2 O OH point 1 point 17 point 25 point 49 point 90 \n", "##############################################################################\n", "\n", "..............................................................................\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [213] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 20 47 66 73 74 75 76 77 78 79 80 81 82 116 117 118 \n", " to resolve C2H3 C2H5 C2H6 CH2O CH3O H2O2 point 20 point 47 point 66 \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [229] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 21 75 93 135 \n", " to resolve point 135 point 21 point 75 point 93 \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [233] point grid(s).\n", "\n", "..............................................................................\n", "##############################################################################\n", "Refining grid in flame.\n", " New points inserted after grid points 75 \n", " to resolve point 75 \n", "##############################################################################\n", "\n", "..............................................................................\n", "Attempt Newton solution of steady-state problem... success.\n", "\n", "Problem solved on [234] point grid(s).\n", "\n", "..............................................................................\n", "no new points needed in flame\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/Users/wirtz/anaconda3/lib/python3.7/site-packages/matplotlib/figure.py:98: MatplotlibDeprecationWarning: \n", "Adding an axes using the same arguments as a previous axes currently reuses the earlier instance. In a future version, a new instance will always be created and returned. Meanwhile, this warning can be suppressed, and the future behavior ensured, by passing a unique label to each axes instance.\n", " \"Adding an axes using the same arguments as a previous axes \"\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import cantera as ct\n", "import numpy as np\n", "from matplotlib.pylab import *\n", "\n", "names = ['gri30.cti', 'Mechanisms/Lu.cti']\n", "fuels = ['CH4','CH4']\n", "fig=figure(1)\n", "for i,n in enumerate(names):\n", " gas = ct.Solution(n) # Import gas phases with mixture transport model\n", "\n", " p = 2e5 # pressure\n", " tin = 400.0 # unburned gas temperature\n", " phi = 1.1 # equivalence ratio\n", "\n", " fuel = {fuels[i]: 1} # Fuel composition\n", " oxidizer = {'O2': 1, 'N2': 3.76} # Oxygen composition\n", " \n", " gas.TP = tin, p\n", " gas.set_equivalence_ratio(phi, fuel, oxidizer)\n", " \n", " f = ct.FreeFlame(gas, width=0.02) # Create the free laminar premixed flame specifying the width of the grid\n", " f.inlet.X = gas.X # Inlet condition on mass fraction\n", " f.inlet.T = gas.T # Inlet condition on temperature\n", " \n", " f.energy_enabled = False # No energy for starters\n", "\n", " tol_ss = [1.0e-5, 1.0e-9] # tolerance [rtol atol] for steady-state problem\n", " tol_ts = [1.0e-5, 1.0e-9] # tolerance [rtol atol] for time stepping\n", "\n", " f.flame.set_steady_tolerances(default=tol_ss)\n", " f.flame.set_transient_tolerances(default=tol_ts)\n", "\n", " # Set calculation parameters\n", " f.set_max_jac_age(50, 50) # Maximum number of times the Jacobian will be used before it \n", " # must be re-evaluated\n", " f.set_time_step(1.0e-5, [2, 5, 10, 20, 80]) # Set time steps (in seconds) whenever Newton convergence fails \n", " f.set_refine_criteria(ratio=10.0, slope=1, curve=1) # Refinement criteria\n", "\n", " # Calculation\n", " loglevel = 1 # amount of diagnostic output (0 to 5)\n", " refine_grid = 'disabled' # 'refine' or 'remesh' to enable refinement\n", " # 'disabled' to disable\n", "\n", " f.solve(loglevel, refine_grid) # solve the flame on the grid\n", "\n", " f.energy_enabled = True # Energy equation enabled\n", " refine_grid = 'refine' # Calculation and save of the results\n", "\n", " f.set_refine_criteria(ratio=5.0, slope=0.5, curve=0.5) # Refinement criteria when energy equation is enabled\n", "\n", " f.solve(loglevel, refine_grid)\n", "\n", " f.set_refine_criteria(ratio=2.0, slope=0.05, curve=0.05) # Refinement criteria should be changed ...\n", " f.solve(loglevel, refine_grid) \n", "\n", "\n", " rcParams['figure.figsize'] = (14, 10)\n", "\n", " # Get the different arrays\n", " z = f.flame.grid\n", " u = f.u\n", " ifuel = gas.species_index(fuels[i])\n", "\n", " # create second subplot - velocity\n", " b=fig.add_subplot(111)\n", " b.plot(z,u)\n", " title(r'Velocity vs. Position', fontsize=25)\n", " xlabel(r'Position [m]', fontsize=15)\n", " ylabel(\"velocity [m/s]\", fontsize=15)\n", " b.xaxis.set_major_locator(MaxNLocator(10)) \n", "plt.show()\n", "fig.savefig('4-Output/Comparison.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This introduces the notion of types of mechanisms. To represent your chemistry, you will have :\n", "- **detailed mechanisms** such as the gri30 which are very complete but also containing a lot of species (so hard to integrate into solvers such as AVBP).\n", "- **global mechanisms** that are very simple (usually 6 species and 2 equations) but that may be inaccurate.\n", "- **ARC mechanisms** that are an inbetween solution (among others) and that is chosen to be used at CERFACS. The Lu mechanism used here is an intermediate step to access to an ARC mechanism and thus shows some differences with the detailed, as you might see on the graph.
\n", "\n", "Nevertheless, be always careful when you use this or this detailed mechanism as a reference for your computations. Indeed, it might be accurate with a certain error bar or developed for special conditions that are not yours." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.1" } }, "nbformat": 4, "nbformat_minor": 2 }