{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# IV - 0D computations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Knowledge of 0D computations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following link may help you to find the answers or the documentation you need :\n", "https://cantera.org/documentation/docs-2.4/sphinx/html/cython/zerodim.html\n", "https://cantera.org/science/reactors.html\n", "
\n", "The first one is about the function that can be used for computing a reactor and the second one explains the equations that are computed.
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### ReactorBase class" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "0D Reactors are often used in combustion to model auto-ignition time and the chemistry associated to it. For reactors and reservoirs, the classe used *ReactorBase* is the following :
\n", "ReactorBase(ThermoPhase contents, name=None, arguments)\n", "

\n", "Here are the different types of reactors you can have for a 0D computation :\n", "1. **Reservoir**
\n", "Reactors with a constant state. The temperature, pressure, and chemical composition in a reservoir never change from their initial values.\n", "\n", "2. **Reactor**\n", "3. **IdealGasReactor**
\n", "Constant volume, zero-dimensional reactor for ideal gas mixtures.\n", "4. **ConstPressureReactor**
\n", "Homogeneous, constant pressure, zero-dimensional reactor. The volume of the reactor changes as a function of time in order to keep the pressure constant.\n", "5. **IdealGasConstPressureReactor**
\n", "Homogeneous, constant pressure, zero-dimensional reactor for ideal gas mixtures. The volume of the reactor changes as a function of time in order to keep the pressure constant.\n", "6. **FlowReactor**
\n", "A steady-state plug flow reactor with constant cross sectional area. Time integration follows a fluid element along the length of the reactor. The reactor is assumed to be frictionless and adiabatic." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### FlowDevice class" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Reactors can be added inlets and outlets, to be able to loop or chain several reactors, control mass flow rates, volume or pressure. Here are the properties of the common baseclass *FlowDevice* for flow controllers between reactors and reservoirs :
\n", "FlowDevice(upstream, downstream, name=None, arguments)\n", "

\n", "The FlowDevice controls the fluids passage between an upstream and a downstream object, which should be specified. The arguments depend upon the different types of flow controllers available in Cantera :\n", "1. **MassFlowController**
\n", "Mass flow controllers maintain a specified mass flow rate independent of upstream and downstream conditions. Unlike a real mass flow controller, a MassFlowController object will maintain the flow even if the downstream pressure is greater than the upstream pressure.\n", "2. **Valve**
\n", "Valves are flow devices with mass flow rate that is a function of the pressure drop across them. Valve objects are often used between an upstream reactor and a downstream reactor or reservoir to maintain them both at nearly the same pressure. By setting the constant Kv to a sufficiently large value, very small pressure differences will result in flow between the reactors that counteracts the pressure difference.\n", "3. **PressureController**
\n", "A pressure controller is designed to be used in conjunction, typically, with a MassFlowController. The master flow controller is installed on the inlet of the reactor, and the corresponding PressureController is installed on the outlet of the reactor. The PressureController mass flow rate is equal to the master mass flow rate, plus a small correction dependent on the pressure difference." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Walls" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Reactors can also add heat transfer and heterogeneous reactions at the walls, through a special\n", "object \"wall\". Walls separate two reactors, or a reactor and a reservoir. A wall has a finite area, may\n", "conduct or radiate heat between the two reactors on either side, and may move like a piston. They are\n", "stateless objects in Cantera, meaning that no differential equation is integrated to determine any wall\n", "property. A heterogeneous reaction mechanism may be specified for one or both of the wall surfaces." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### ReactorNet" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, the evolution of a reactor, or a network of reactors -which are 0-D objects- with time, is performed\n", "through an integrator object *ReactorNet* :
\n", "

\n", "... (define gases) ...\n", "r1 = Reactor(gas1)\n", "r2 = Reactor(gas2)\n", "... (install walls, inlets, outlets, etc)...\n", "reactor_network = ReactorNet([r1, r2])\n", "time = 1 #s\n", "reactor_network.advance(time)\n", "


\n", "\n", "There are two possibilities to advance a reactor simulation in time :\n", "- the ***advance(self, double t)*** option (shown in the example above)
\n", "This will advance the state of the reactor network in time from the current time to the specified 't' time, taking as many integrator timesteps as necessary.\n", "- the ***step(self, double t)*** option.
\n", "This will take a single internal time step toward the specified time 't' [s]... \n", "The use of 'advance' is recommended, unless you need to elucidate a bug." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Simple closed vessel" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Import statements" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import sys\n", "import numpy as np\n", "import cantera as ct\n", "import matplotlib.pyplot as plt\n", "from matplotlib import *" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set the mechanism properties" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "gas = ct.Solution('gri30.cti')\n", "gas.TPX = 1000.0, ct.one_atm, 'CH4:0.5,O2:1,N2:3.76'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Create the reactor and the ReactorNet associated to it" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Create Reactor and fill with gas\n", "r = ct.Reactor(gas)\n", "\n", "# Prepare the simulation with a ReactorNet object\n", "sim = ct.ReactorNet([r])\n", "time = 4.e-1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Compute the reactor" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " t [s] T [K] vol [m3] u [J/kg]\n", " 4.050e-01 1001.116 2.970 2.870654e+05\n", " 4.100e-01 1001.143 2.970 2.870654e+05\n", " 4.150e-01 1001.172 2.970 2.870654e+05\n", " 4.200e-01 1001.201 2.970 2.870654e+05\n", " 4.250e-01 1001.230 2.970 2.870654e+05\n", " 4.300e-01 1001.260 2.970 2.870654e+05\n", " 4.350e-01 1001.291 2.970 2.870654e+05\n", " 4.400e-01 1001.322 2.970 2.870654e+05\n", " 4.450e-01 1001.354 2.970 2.870654e+05\n", " 4.500e-01 1001.386 2.970 2.870654e+05\n", " 4.550e-01 1001.419 2.970 2.870654e+05\n", " 4.600e-01 1001.453 2.970 2.870654e+05\n", " 4.650e-01 1001.487 2.970 2.870654e+05\n", " 4.700e-01 1001.522 2.970 2.870654e+05\n", " 4.750e-01 1001.558 2.970 2.870654e+05\n", " 4.800e-01 1001.594 2.970 2.870654e+05\n", " 4.850e-01 1001.631 2.970 2.870654e+05\n", " 4.900e-01 1001.669 2.970 2.870654e+05\n", " 4.950e-01 1001.708 2.970 2.870654e+05\n", " 5.000e-01 1001.747 2.970 2.870654e+05\n", " 5.050e-01 1001.787 2.970 2.870654e+05\n", " 5.100e-01 1001.828 2.970 2.870654e+05\n", " 5.150e-01 1001.870 2.970 2.870654e+05\n", " 5.200e-01 1001.912 2.970 2.870654e+05\n", " 5.250e-01 1001.956 2.970 2.870654e+05\n", " 5.300e-01 1002.000 2.970 2.870654e+05\n", " 5.350e-01 1002.046 2.970 2.870654e+05\n", " 5.400e-01 1002.092 2.970 2.870654e+05\n", " 5.450e-01 1002.139 2.970 2.870654e+05\n", " 5.500e-01 1002.187 2.970 2.870654e+05\n", " 5.550e-01 1002.236 2.970 2.870654e+05\n", " 5.600e-01 1002.287 2.970 2.870654e+05\n", " 5.650e-01 1002.338 2.970 2.870654e+05\n", " 5.700e-01 1002.390 2.970 2.870654e+05\n", " 5.750e-01 1002.444 2.970 2.870654e+05\n", " 5.800e-01 1002.498 2.970 2.870654e+05\n", " 5.850e-01 1002.554 2.970 2.870654e+05\n", " 5.900e-01 1002.611 2.970 2.870654e+05\n", " 5.950e-01 1002.669 2.970 2.870654e+05\n", " 6.000e-01 1002.729 2.970 2.870654e+05\n", " 6.050e-01 1002.790 2.970 2.870654e+05\n", " 6.100e-01 1002.852 2.970 2.870654e+05\n", " 6.150e-01 1002.915 2.970 2.870654e+05\n", " 6.200e-01 1002.980 2.970 2.870654e+05\n", " 6.250e-01 1003.046 2.970 2.870654e+05\n", " 6.300e-01 1003.114 2.970 2.870654e+05\n", " 6.350e-01 1003.184 2.970 2.870654e+05\n", " 6.400e-01 1003.255 2.970 2.870654e+05\n", " 6.450e-01 1003.327 2.970 2.870654e+05\n", " 6.500e-01 1003.402 2.970 2.870654e+05\n", " 6.550e-01 1003.478 2.970 2.870654e+05\n", " 6.600e-01 1003.556 2.970 2.870654e+05\n", " 6.650e-01 1003.635 2.970 2.870654e+05\n", " 6.700e-01 1003.717 2.970 2.870654e+05\n", " 6.750e-01 1003.800 2.970 2.870654e+05\n", " 6.800e-01 1003.886 2.970 2.870654e+05\n", " 6.850e-01 1003.974 2.970 2.870654e+05\n", " 6.900e-01 1004.064 2.970 2.870654e+05\n", " 6.950e-01 1004.156 2.970 2.870654e+05\n", " 7.000e-01 1004.250 2.970 2.870654e+05\n", " 7.050e-01 1004.347 2.970 2.870654e+05\n", " 7.100e-01 1004.446 2.970 2.870654e+05\n", " 7.150e-01 1004.548 2.970 2.870654e+05\n", " 7.200e-01 1004.652 2.970 2.870654e+05\n", " 7.250e-01 1004.759 2.970 2.870654e+05\n", " 7.300e-01 1004.869 2.970 2.870654e+05\n", " 7.350e-01 1004.982 2.970 2.870654e+05\n", " 7.400e-01 1005.098 2.970 2.870654e+05\n", " 7.450e-01 1005.218 2.970 2.870654e+05\n", " 7.500e-01 1005.340 2.970 2.870654e+05\n", " 7.550e-01 1005.466 2.970 2.870654e+05\n", " 7.600e-01 1005.595 2.970 2.870654e+05\n", " 7.650e-01 1005.729 2.970 2.870654e+05\n", " 7.700e-01 1005.866 2.970 2.870654e+05\n", " 7.750e-01 1006.007 2.970 2.870654e+05\n", " 7.800e-01 1006.152 2.970 2.870654e+05\n", " 7.850e-01 1006.301 2.970 2.870654e+05\n", " 7.900e-01 1006.455 2.970 2.870654e+05\n", " 7.950e-01 1006.614 2.970 2.870654e+05\n", " 8.000e-01 1006.778 2.970 2.870654e+05\n", " 8.050e-01 1006.947 2.970 2.870654e+05\n", " 8.100e-01 1007.122 2.970 2.870654e+05\n", " 8.150e-01 1007.302 2.970 2.870654e+05\n", " 8.200e-01 1007.488 2.970 2.870654e+05\n", " 8.250e-01 1007.680 2.970 2.870654e+05\n", " 8.300e-01 1007.879 2.970 2.870654e+05\n", " 8.350e-01 1008.085 2.970 2.870654e+05\n", " 8.400e-01 1008.298 2.970 2.870654e+05\n", " 8.450e-01 1008.519 2.970 2.870654e+05\n", " 8.500e-01 1008.748 2.970 2.870654e+05\n", " 8.550e-01 1008.985 2.970 2.870654e+05\n", " 8.600e-01 1009.232 2.970 2.870654e+05\n", " 8.650e-01 1009.488 2.970 2.870654e+05\n", " 8.700e-01 1009.754 2.970 2.870654e+05\n", " 8.750e-01 1010.031 2.970 2.870654e+05\n", " 8.800e-01 1010.319 2.970 2.870654e+05\n", " 8.850e-01 1010.620 2.970 2.870654e+05\n", " 8.900e-01 1010.933 2.970 2.870654e+05\n", " 8.950e-01 1011.260 2.970 2.870654e+05\n", " 9.000e-01 1011.603 2.970 2.870654e+05\n", " 9.050e-01 1011.961 2.970 2.870654e+05\n", " 9.100e-01 1012.336 2.970 2.870654e+05\n", " 9.150e-01 1012.730 2.970 2.870654e+05\n", " 9.200e-01 1013.143 2.970 2.870654e+05\n", " 9.250e-01 1013.578 2.970 2.870654e+05\n", " 9.300e-01 1014.037 2.970 2.870654e+05\n", " 9.350e-01 1014.520 2.970 2.870654e+05\n", " 9.400e-01 1015.032 2.970 2.870654e+05\n", " 9.450e-01 1015.574 2.970 2.870654e+05\n", " 9.500e-01 1016.149 2.970 2.870654e+05\n", " 9.550e-01 1016.761 2.970 2.870654e+05\n", " 9.600e-01 1017.415 2.970 2.870654e+05\n", " 9.650e-01 1018.113 2.970 2.870654e+05\n", " 9.700e-01 1018.863 2.970 2.870654e+05\n", " 9.750e-01 1019.669 2.970 2.870654e+05\n", " 9.800e-01 1020.541 2.970 2.870654e+05\n", " 9.850e-01 1021.487 2.970 2.870654e+05\n", " 9.900e-01 1022.518 2.970 2.870654e+05\n", " 9.950e-01 1023.647 2.970 2.870654e+05\n", " 1.000e+00 1024.893 2.970 2.870654e+05\n", " 1.005e+00 1026.275 2.970 2.870654e+05\n", " 1.010e+00 1027.822 2.970 2.870654e+05\n", " 1.015e+00 1029.569 2.970 2.870654e+05\n", " 1.020e+00 1031.565 2.970 2.870654e+05\n", " 1.025e+00 1033.879 2.970 2.870654e+05\n", " 1.030e+00 1036.606 2.970 2.870654e+05\n", " 1.035e+00 1039.892 2.970 2.870654e+05\n", " 1.040e+00 1043.969 2.970 2.870654e+05\n", " 1.045e+00 1049.236 2.970 2.870654e+05\n", " 1.050e+00 1056.459 2.970 2.870654e+05\n", " 1.055e+00 1067.372 2.970 2.870654e+05\n", " 1.060e+00 1087.261 2.970 2.870654e+05\n", " 1.065e+00 1151.182 2.970 2.870654e+05\n", " 1.070e+00 2768.353 2.970 2.870654e+05\n", " 1.075e+00 2768.160 2.970 2.870654e+05\n", " 1.080e+00 2768.160 2.970 2.870654e+05\n", " 1.085e+00 2768.160 2.970 2.870654e+05\n", " 1.090e+00 2768.160 2.970 2.870654e+05\n", " 1.095e+00 2768.160 2.970 2.870654e+05\n", " 1.100e+00 2768.160 2.970 2.870654e+05\n", " 1.105e+00 2768.160 2.970 2.870654e+05\n", " 1.110e+00 2768.160 2.970 2.870654e+05\n", " 1.115e+00 2768.160 2.970 2.870654e+05\n", " 1.120e+00 2768.160 2.970 2.870654e+05\n", " 1.125e+00 2768.160 2.970 2.870654e+05\n", " 1.130e+00 2768.160 2.970 2.870654e+05\n", " 1.135e+00 2768.160 2.970 2.870654e+05\n", " 1.140e+00 2768.160 2.970 2.870654e+05\n", " 1.145e+00 2768.160 2.970 2.870654e+05\n", " 1.150e+00 2768.160 2.970 2.870654e+05\n", " 1.155e+00 2768.160 2.970 2.870654e+05\n", " 1.160e+00 2768.160 2.970 2.870654e+05\n", " 1.165e+00 2768.160 2.970 2.870654e+05\n", " 1.170e+00 2768.160 2.970 2.870654e+05\n", " 1.175e+00 2768.160 2.970 2.870654e+05\n", " 1.180e+00 2768.160 2.970 2.870654e+05\n", " 1.185e+00 2768.160 2.970 2.870654e+05\n", " 1.190e+00 2768.160 2.970 2.870654e+05\n", " 1.195e+00 2768.160 2.970 2.870654e+05\n", " 1.200e+00 2768.160 2.970 2.870654e+05\n", " 1.205e+00 2768.160 2.970 2.870654e+05\n", " 1.210e+00 2768.160 2.970 2.870654e+05\n", " 1.215e+00 2768.160 2.970 2.870654e+05\n", " 1.220e+00 2768.160 2.970 2.870654e+05\n", " 1.225e+00 2768.160 2.970 2.870654e+05\n", " 1.230e+00 2768.160 2.970 2.870654e+05\n", " 1.235e+00 2768.160 2.970 2.870654e+05\n", " 1.240e+00 2768.160 2.970 2.870654e+05\n", " 1.245e+00 2768.160 2.970 2.870654e+05\n", " 1.250e+00 2768.160 2.970 2.870654e+05\n", " 1.255e+00 2768.160 2.970 2.870654e+05\n", " 1.260e+00 2768.160 2.970 2.870654e+05\n", " 1.265e+00 2768.160 2.970 2.870654e+05\n", " 1.270e+00 2768.160 2.970 2.870654e+05\n", " 1.275e+00 2768.160 2.970 2.870654e+05\n", " 1.280e+00 2768.160 2.970 2.870654e+05\n", " 1.285e+00 2768.160 2.970 2.870654e+05\n", " 1.290e+00 2768.160 2.970 2.870654e+05\n", " 1.295e+00 2768.160 2.970 2.870654e+05\n", " 1.300e+00 2768.160 2.970 2.870654e+05\n", " 1.305e+00 2768.160 2.970 2.870654e+05\n", " 1.310e+00 2768.160 2.970 2.870654e+05\n", " 1.315e+00 2768.160 2.970 2.870654e+05\n", " 1.320e+00 2768.160 2.970 2.870654e+05\n", " 1.325e+00 2768.160 2.970 2.870654e+05\n", " 1.330e+00 2768.160 2.970 2.870654e+05\n", " 1.335e+00 2768.160 2.970 2.870654e+05\n", " 1.340e+00 2768.160 2.970 2.870654e+05\n", " 1.345e+00 2768.160 2.970 2.870654e+05\n", " 1.350e+00 2768.160 2.970 2.870654e+05\n", " 1.355e+00 2768.160 2.970 2.870654e+05\n", " 1.360e+00 2768.160 2.970 2.870654e+05\n", " 1.365e+00 2768.160 2.970 2.870654e+05\n", " 1.370e+00 2768.160 2.970 2.870654e+05\n", " 1.375e+00 2768.160 2.970 2.870654e+05\n", " 1.380e+00 2768.160 2.970 2.870654e+05\n", " 1.385e+00 2768.160 2.970 2.870654e+05\n", " 1.390e+00 2768.160 2.970 2.870654e+05\n", " 1.395e+00 2768.160 2.970 2.870654e+05\n", " 1.400e+00 2768.160 2.970 2.870654e+05\n", " 1.405e+00 2768.160 2.970 2.870654e+05\n", " 1.410e+00 2768.160 2.970 2.870654e+05\n", " 1.415e+00 2768.160 2.970 2.870654e+05\n", " 1.420e+00 2768.160 2.970 2.870654e+05\n", " 1.425e+00 2768.160 2.970 2.870654e+05\n", " 1.430e+00 2768.160 2.970 2.870654e+05\n", " 1.435e+00 2768.160 2.970 2.870654e+05\n", " 1.440e+00 2768.160 2.970 2.870654e+05\n", " 1.445e+00 2768.160 2.970 2.870654e+05\n", " 1.450e+00 2768.160 2.970 2.870654e+05\n", " 1.455e+00 2768.160 2.970 2.870654e+05\n", " 1.460e+00 2768.160 2.970 2.870654e+05\n", " 1.465e+00 2768.160 2.970 2.870654e+05\n", " 1.470e+00 2768.160 2.970 2.870654e+05\n", " 1.475e+00 2768.160 2.970 2.870654e+05\n", " 1.480e+00 2768.160 2.970 2.870654e+05\n", " 1.485e+00 2768.160 2.970 2.870654e+05\n", " 1.490e+00 2768.160 2.970 2.870654e+05\n", " 1.495e+00 2768.160 2.970 2.870654e+05\n", " 1.500e+00 2768.160 2.970 2.870654e+05\n", " 1.505e+00 2768.160 2.970 2.870654e+05\n", " 1.510e+00 2768.160 2.970 2.870654e+05\n", " 1.515e+00 2768.160 2.970 2.870654e+05\n", " 1.520e+00 2768.160 2.970 2.870654e+05\n", " 1.525e+00 2768.160 2.970 2.870654e+05\n", " 1.530e+00 2768.160 2.970 2.870654e+05\n", " 1.535e+00 2768.160 2.970 2.870654e+05\n", " 1.540e+00 2768.160 2.970 2.870654e+05\n", " 1.545e+00 2768.160 2.970 2.870654e+05\n", " 1.550e+00 2768.160 2.970 2.870654e+05\n", " 1.555e+00 2768.160 2.970 2.870654e+05\n", " 1.560e+00 2768.160 2.970 2.870654e+05\n", " 1.565e+00 2768.160 2.970 2.870654e+05\n", " 1.570e+00 2768.160 2.970 2.870654e+05\n", " 1.575e+00 2768.160 2.970 2.870654e+05\n", " 1.580e+00 2768.160 2.970 2.870654e+05\n", " 1.585e+00 2768.160 2.970 2.870654e+05\n", " 1.590e+00 2768.160 2.970 2.870654e+05\n", " 1.595e+00 2768.160 2.970 2.870654e+05\n", " 1.600e+00 2768.160 2.970 2.870654e+05\n", " 1.605e+00 2768.160 2.970 2.870654e+05\n", " 1.610e+00 2768.160 2.970 2.870654e+05\n", " 1.615e+00 2768.160 2.970 2.870654e+05\n", " 1.620e+00 2768.160 2.970 2.870654e+05\n", " 1.625e+00 2768.160 2.970 2.870654e+05\n", " 1.630e+00 2768.160 2.970 2.870654e+05\n", " 1.635e+00 2768.160 2.970 2.870654e+05\n", " 1.640e+00 2768.160 2.970 2.870654e+05\n", " 1.645e+00 2768.160 2.970 2.870654e+05\n", " 1.650e+00 2768.160 2.970 2.870654e+05\n", " 1.655e+00 2768.160 2.970 2.870654e+05\n", " 1.660e+00 2768.160 2.970 2.870654e+05\n", " 1.665e+00 2768.160 2.970 2.870654e+05\n", " 1.670e+00 2768.160 2.970 2.870654e+05\n", " 1.675e+00 2768.160 2.970 2.870654e+05\n", " 1.680e+00 2768.160 2.970 2.870654e+05\n", " 1.685e+00 2768.160 2.970 2.870654e+05\n", " 1.690e+00 2768.160 2.970 2.870654e+05\n", " 1.695e+00 2768.160 2.970 2.870654e+05\n", " 1.700e+00 2768.160 2.970 2.870654e+05\n", " 1.705e+00 2768.160 2.970 2.870654e+05\n", " 1.710e+00 2768.160 2.970 2.870654e+05\n", " 1.715e+00 2768.160 2.970 2.870654e+05\n", " 1.720e+00 2768.160 2.970 2.870654e+05\n", " 1.725e+00 2768.160 2.970 2.870654e+05\n", " 1.730e+00 2768.160 2.970 2.870654e+05\n", " 1.735e+00 2768.160 2.970 2.870654e+05\n", " 1.740e+00 2768.160 2.970 2.870654e+05\n", " 1.745e+00 2768.160 2.970 2.870654e+05\n", " 1.750e+00 2768.160 2.970 2.870654e+05\n", " 1.755e+00 2768.160 2.970 2.870654e+05\n", " 1.760e+00 2768.160 2.970 2.870654e+05\n", " 1.765e+00 2768.160 2.970 2.870654e+05\n", " 1.770e+00 2768.160 2.970 2.870654e+05\n", " 1.775e+00 2768.160 2.970 2.870654e+05\n", " 1.780e+00 2768.160 2.970 2.870654e+05\n", " 1.785e+00 2768.160 2.970 2.870654e+05\n", " 1.790e+00 2768.160 2.970 2.870654e+05\n", " 1.795e+00 2768.160 2.970 2.870654e+05\n", " 1.800e+00 2768.160 2.970 2.870654e+05\n", " 1.805e+00 2768.160 2.970 2.870654e+05\n", " 1.810e+00 2768.160 2.970 2.870654e+05\n", " 1.815e+00 2768.160 2.970 2.870654e+05\n", " 1.820e+00 2768.160 2.970 2.870654e+05\n", " 1.825e+00 2768.160 2.970 2.870654e+05\n", " 1.830e+00 2768.160 2.970 2.870654e+05\n", " 1.835e+00 2768.160 2.970 2.870654e+05\n", " 1.840e+00 2768.160 2.970 2.870654e+05\n", " 1.845e+00 2768.160 2.970 2.870654e+05\n", " 1.850e+00 2768.160 2.970 2.870654e+05\n", " 1.855e+00 2768.160 2.970 2.870654e+05\n", " 1.860e+00 2768.160 2.970 2.870654e+05\n", " 1.865e+00 2768.160 2.970 2.870654e+05\n", " 1.870e+00 2768.160 2.970 2.870654e+05\n", " 1.875e+00 2768.160 2.970 2.870654e+05\n", " 1.880e+00 2768.160 2.970 2.870654e+05\n", " 1.885e+00 2768.160 2.970 2.870654e+05\n", " 1.890e+00 2768.160 2.970 2.870654e+05\n", " 1.895e+00 2768.160 2.970 2.870654e+05\n", " 1.900e+00 2768.160 2.970 2.870654e+05\n", " 1.905e+00 2768.160 2.970 2.870654e+05\n", " 1.910e+00 2768.160 2.970 2.870654e+05\n", " 1.915e+00 2768.160 2.970 2.870654e+05\n", " 1.920e+00 2768.160 2.970 2.870654e+05\n", " 1.925e+00 2768.160 2.970 2.870654e+05\n", " 1.930e+00 2768.160 2.970 2.870654e+05\n", " 1.935e+00 2768.160 2.970 2.870654e+05\n", " 1.940e+00 2768.160 2.970 2.870654e+05\n", " 1.945e+00 2768.160 2.970 2.870654e+05\n", " 1.950e+00 2768.160 2.970 2.870654e+05\n", " 1.955e+00 2768.160 2.970 2.870654e+05\n", " 1.960e+00 2768.160 2.970 2.870654e+05\n", " 1.965e+00 2768.160 2.970 2.870654e+05\n", " 1.970e+00 2768.160 2.970 2.870654e+05\n", " 1.975e+00 2768.160 2.970 2.870654e+05\n", " 1.980e+00 2768.160 2.970 2.870654e+05\n", " 1.985e+00 2768.160 2.970 2.870654e+05\n", " 1.990e+00 2768.160 2.970 2.870654e+05\n", " 1.995e+00 2768.160 2.970 2.870654e+05\n", " 2.000e+00 2768.160 2.970 2.870654e+05\n", " 2.005e+00 2768.160 2.970 2.870654e+05\n", " 2.010e+00 2768.160 2.970 2.870654e+05\n", " 2.015e+00 2768.160 2.970 2.870654e+05\n", " 2.020e+00 2768.160 2.970 2.870654e+05\n", " 2.025e+00 2768.160 2.970 2.870654e+05\n", " 2.030e+00 2768.160 2.970 2.870654e+05\n", " 2.035e+00 2768.160 2.970 2.870654e+05\n", " 2.040e+00 2768.160 2.970 2.870654e+05\n", " 2.045e+00 2768.160 2.970 2.870654e+05\n", " 2.050e+00 2768.160 2.970 2.870654e+05\n", " 2.055e+00 2768.160 2.970 2.870654e+05\n", " 2.060e+00 2768.160 2.970 2.870654e+05\n", " 2.065e+00 2768.160 2.970 2.870654e+05\n", " 2.070e+00 2768.160 2.970 2.870654e+05\n", " 2.075e+00 2768.160 2.970 2.870654e+05\n", " 2.080e+00 2768.160 2.970 2.870654e+05\n", " 2.085e+00 2768.160 2.970 2.870654e+05\n", " 2.090e+00 2768.160 2.970 2.870654e+05\n", " 2.095e+00 2768.160 2.970 2.870654e+05\n", " 2.100e+00 2768.160 2.970 2.870654e+05\n", " 2.105e+00 2768.160 2.970 2.870654e+05\n", " 2.110e+00 2768.160 2.970 2.870654e+05\n", " 2.115e+00 2768.160 2.970 2.870654e+05\n", " 2.120e+00 2768.160 2.970 2.870654e+05\n", " 2.125e+00 2768.160 2.970 2.870654e+05\n", " 2.130e+00 2768.160 2.970 2.870654e+05\n", " 2.135e+00 2768.160 2.970 2.870654e+05\n", " 2.140e+00 2768.160 2.970 2.870654e+05\n", " 2.145e+00 2768.160 2.970 2.870654e+05\n", " 2.150e+00 2768.160 2.970 2.870654e+05\n", " 2.155e+00 2768.160 2.970 2.870654e+05\n", " 2.160e+00 2768.160 2.970 2.870654e+05\n", " 2.165e+00 2768.160 2.970 2.870654e+05\n", " 2.170e+00 2768.160 2.970 2.870654e+05\n", " 2.175e+00 2768.160 2.970 2.870654e+05\n", " 2.180e+00 2768.160 2.970 2.870654e+05\n", " 2.185e+00 2768.160 2.970 2.870654e+05\n", " 2.190e+00 2768.160 2.970 2.870654e+05\n", " 2.195e+00 2768.160 2.970 2.870654e+05\n", " 2.200e+00 2768.160 2.970 2.870654e+05\n", " 2.205e+00 2768.160 2.970 2.870654e+05\n", " 2.210e+00 2768.160 2.970 2.870654e+05\n", " 2.215e+00 2768.160 2.970 2.870654e+05\n", " 2.220e+00 2768.160 2.970 2.870654e+05\n", " 2.225e+00 2768.160 2.970 2.870654e+05\n", " 2.230e+00 2768.160 2.970 2.870654e+05\n", " 2.235e+00 2768.160 2.970 2.870654e+05\n", " 2.240e+00 2768.160 2.970 2.870654e+05\n", " 2.245e+00 2768.160 2.970 2.870654e+05\n", " 2.250e+00 2768.160 2.970 2.870654e+05\n", " 2.255e+00 2768.160 2.970 2.870654e+05\n", " 2.260e+00 2768.160 2.970 2.870654e+05\n", " 2.265e+00 2768.160 2.970 2.870654e+05\n", " 2.270e+00 2768.160 2.970 2.870654e+05\n", " 2.275e+00 2768.160 2.970 2.870654e+05\n", " 2.280e+00 2768.160 2.970 2.870654e+05\n", " 2.285e+00 2768.160 2.970 2.870654e+05\n", " 2.290e+00 2768.160 2.970 2.870654e+05\n", " 2.295e+00 2768.160 2.970 2.870654e+05\n", " 2.300e+00 2768.160 2.970 2.870654e+05\n", " 2.305e+00 2768.160 2.970 2.870654e+05\n", " 2.310e+00 2768.160 2.970 2.870654e+05\n", " 2.315e+00 2768.160 2.970 2.870654e+05\n", " 2.320e+00 2768.160 2.970 2.870654e+05\n", " 2.325e+00 2768.160 2.970 2.870654e+05\n", " 2.330e+00 2768.160 2.970 2.870654e+05\n", " 2.335e+00 2768.160 2.970 2.870654e+05\n", " 2.340e+00 2768.160 2.970 2.870654e+05\n", " 2.345e+00 2768.160 2.970 2.870654e+05\n", " 2.350e+00 2768.160 2.970 2.870654e+05\n", " 2.355e+00 2768.160 2.970 2.870654e+05\n", " 2.360e+00 2768.160 2.970 2.870654e+05\n", " 2.365e+00 2768.160 2.970 2.870654e+05\n", " 2.370e+00 2768.160 2.970 2.870654e+05\n", " 2.375e+00 2768.160 2.970 2.870654e+05\n", " 2.380e+00 2768.160 2.970 2.870654e+05\n", " 2.385e+00 2768.160 2.970 2.870654e+05\n", " 2.390e+00 2768.160 2.970 2.870654e+05\n", " 2.395e+00 2768.160 2.970 2.870654e+05\n", " 2.400e+00 2768.160 2.970 2.870654e+05\n" ] } ], "source": [ "# Arrays to hold the datas\n", "n_points = 400\n", "times = np.zeros(n_points)\n", "data = np.zeros((n_points, 4))\n", "\n", "# Advance the simulation in time\n", "# and print the internal evolution of temperature, volume and internal energy\n", "print(('%10s %10s %10s %14s' % ('t [s]', 'T [K]', 'vol [m3]', 'u [J/kg]')))\n", "for n in range(n_points):\n", " time += 5.e-3\n", " sim.advance(time)\n", " times[n] = time # time in s\n", " data[n, 0] = r.T # set the temperature in the first column\n", " data[n, 1:] = r.thermo['O2', 'CO2', 'CH4'].X # set the molar fractions in the other column\n", " print(('%10.3e %10.3f %10.3f %14.6e' % (sim.time, r.T,\n", " r.thermo.v, r.thermo.u)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plot results" ] }, { "cell_type": "code", "execution_count": 6, "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", "plt.clf()\n", "\n", "plt.subplot(2, 2, 1)\n", "plt.plot(times, data[:, 0])\n", "plt.xlabel('Time (ms)')\n", "plt.ylabel('Temperature (K)')\n", "\n", "plt.subplot(2, 2, 2)\n", "plt.plot(times, data[:, 1])\n", "plt.xlabel('Time (ms)')\n", "plt.ylabel('O2 Mole Fraction')\n", "\n", "plt.subplot(2, 2, 3)\n", "plt.plot(times, data[:, 2])\n", "plt.xlabel('Time (ms)')\n", "plt.ylabel('CO2 Mole Fraction')\n", "\n", "plt.subplot(2, 2, 4)\n", "plt.plot(times, data[:, 3])\n", "plt.xlabel('Time (ms)')\n", "plt.ylabel('CH4 Mole Fraction')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are the characteristic evolutions that one can observe when simulating 0D cases. You should be aware that your case must auto-ignite (for some temperature, it is not sufficiently hot to auto-ignite, therefore nothing happens) and that the simulated time should be sufficient to capture the time where it ignites." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
Try to move the temperature of the gas state :
\n", "- at 960 K
\n", "- at 1040 K\n", "

\n", "What do you observe ?
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see, slightly shifting the temperature up or down moves the auto-ignition time. As you never know a priori the order of magnitude of the ignition time, it is good to use the step version until you reach burnt gases." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. A simple constant pressure reactor" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here, we want to create a simple constant pressure reactor. To do so, it is necessary to create a reactor and its environment (which will be a Reservoir). The interface between the two objects created is handled by a wall, of which the expansion rate can be defined by the user." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set the mechanism properties" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# Mechanisms used for the process\n", "gri3 = ct.Solution('gri30.xml')\n", "air = ct.Solution('air.xml')\n", "\n", "# Gas state\n", "gri3.TPX = 1000.0, ct.one_atm, 'CH4:0.5,O2:1,N2:3.76'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set the reservoir" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
Try to set :
\n", "- an IdealGasReactor object with the gri3 object created above
\n", "- a Reservoir representing the environment with the air object created above\n", "

" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# Reactor and environment\n", "r = ct.IdealGasReactor(gri3)\n", "env = ct.Reservoir(air)\n", "\n", "# Wall\n", "w = ct.Wall(r, env)\n", "w.expansion_rate_coeff = 1.0e6 # set expansion parameter. dV/dt = KA(P_1 - P_2)\n", "w.area = 1.0\n", "\n", "# Prepare the simulation with a ReactorNet object\n", "sim = ct.ReactorNet([r])\n", "time = 4.e-1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As explained in the lecture, note that the environment defines the air in which the reactor is set in. We also define a wall between the reactor and the environment, and make it flexible, so that the pressure in the reactor is held at the environment pressure." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Simulate the reactor" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " t [s] T [K] P [Pa] h [J/kg]\n", " 4.050e-01 1000.862 101325.000 5.879513e+05\n", " 4.100e-01 1000.883 101325.000 5.879513e+05\n", " 4.150e-01 1000.905 101325.000 5.879513e+05\n", " 4.200e-01 1000.927 101325.000 5.879513e+05\n", " 4.250e-01 1000.950 101325.000 5.879513e+05\n", " 4.300e-01 1000.973 101325.000 5.879513e+05\n", " 4.350e-01 1000.996 101325.000 5.879513e+05\n", " 4.400e-01 1001.020 101325.000 5.879513e+05\n", " 4.450e-01 1001.044 101325.000 5.879513e+05\n", " 4.500e-01 1001.069 101325.000 5.879513e+05\n", " 4.550e-01 1001.094 101325.000 5.879513e+05\n", " 4.600e-01 1001.120 101325.000 5.879513e+05\n", " 4.650e-01 1001.146 101325.000 5.879513e+05\n", " 4.700e-01 1001.173 101325.000 5.879513e+05\n", " 4.750e-01 1001.200 101325.000 5.879513e+05\n", " 4.800e-01 1001.228 101325.000 5.879513e+05\n", " 4.850e-01 1001.257 101325.000 5.879513e+05\n", " 4.900e-01 1001.285 101325.000 5.879513e+05\n", " 4.950e-01 1001.315 101325.000 5.879513e+05\n", " 5.000e-01 1001.345 101325.000 5.879513e+05\n", " 5.050e-01 1001.376 101325.000 5.879513e+05\n", " 5.100e-01 1001.407 101325.000 5.879513e+05\n", " 5.150e-01 1001.439 101325.000 5.879513e+05\n", " 5.200e-01 1001.471 101325.000 5.879513e+05\n", " 5.250e-01 1001.504 101325.000 5.879513e+05\n", " 5.300e-01 1001.538 101325.000 5.879513e+05\n", " 5.350e-01 1001.573 101325.000 5.879513e+05\n", " 5.400e-01 1001.608 101325.000 5.879513e+05\n", " 5.450e-01 1001.644 101325.000 5.879513e+05\n", " 5.500e-01 1001.680 101325.000 5.879513e+05\n", " 5.550e-01 1001.717 101325.000 5.879513e+05\n", " 5.600e-01 1001.756 101325.000 5.879513e+05\n", " 5.650e-01 1001.794 101325.000 5.879513e+05\n", " 5.700e-01 1001.834 101325.000 5.879513e+05\n", " 5.750e-01 1001.875 101325.000 5.879513e+05\n", " 5.800e-01 1001.916 101325.000 5.879513e+05\n", " 5.850e-01 1001.958 101325.000 5.879513e+05\n", " 5.900e-01 1002.001 101325.000 5.879513e+05\n", " 5.950e-01 1002.045 101325.000 5.879513e+05\n", " 6.000e-01 1002.090 101325.000 5.879513e+05\n", " 6.050e-01 1002.136 101325.000 5.879513e+05\n", " 6.100e-01 1002.183 101325.000 5.879513e+05\n", " 6.150e-01 1002.231 101325.000 5.879513e+05\n", " 6.200e-01 1002.280 101325.000 5.879513e+05\n", " 6.250e-01 1002.330 101325.000 5.879513e+05\n", " 6.300e-01 1002.381 101325.000 5.879513e+05\n", " 6.350e-01 1002.433 101325.000 5.879513e+05\n", " 6.400e-01 1002.486 101325.000 5.879513e+05\n", " 6.450e-01 1002.541 101325.000 5.879513e+05\n", " 6.500e-01 1002.596 101325.000 5.879513e+05\n", " 6.550e-01 1002.653 101325.000 5.879513e+05\n", " 6.600e-01 1002.712 101325.000 5.879513e+05\n", " 6.650e-01 1002.771 101325.000 5.879513e+05\n", " 6.700e-01 1002.832 101325.000 5.879513e+05\n", " 6.750e-01 1002.895 101325.000 5.879513e+05\n", " 6.800e-01 1002.958 101325.000 5.879513e+05\n", " 6.850e-01 1003.024 101325.000 5.879513e+05\n", " 6.900e-01 1003.091 101325.000 5.879513e+05\n", " 6.950e-01 1003.159 101325.000 5.879513e+05\n", " 7.000e-01 1003.229 101325.000 5.879513e+05\n", " 7.050e-01 1003.301 101325.000 5.879513e+05\n", " 7.100e-01 1003.374 101325.000 5.879513e+05\n", " 7.150e-01 1003.450 101325.000 5.879513e+05\n", " 7.200e-01 1003.527 101325.000 5.879513e+05\n", " 7.250e-01 1003.606 101325.000 5.879513e+05\n", " 7.300e-01 1003.687 101325.000 5.879513e+05\n", " 7.350e-01 1003.771 101325.000 5.879513e+05\n", " 7.400e-01 1003.856 101325.000 5.879513e+05\n", " 7.450e-01 1003.943 101325.000 5.879513e+05\n", " 7.500e-01 1004.033 101325.000 5.879513e+05\n", " 7.550e-01 1004.125 101325.000 5.879513e+05\n", " 7.600e-01 1004.220 101325.000 5.879513e+05\n", " 7.650e-01 1004.317 101325.000 5.879513e+05\n", " 7.700e-01 1004.417 101325.000 5.879513e+05\n", " 7.750e-01 1004.520 101325.000 5.879513e+05\n", " 7.800e-01 1004.625 101325.000 5.879513e+05\n", " 7.850e-01 1004.734 101325.000 5.879513e+05\n", " 7.900e-01 1004.845 101325.000 5.879513e+05\n", " 7.950e-01 1004.960 101325.000 5.879513e+05\n", " 8.000e-01 1005.078 101325.000 5.879513e+05\n", " 8.050e-01 1005.200 101325.000 5.879513e+05\n", " 8.100e-01 1005.325 101325.000 5.879513e+05\n", " 8.150e-01 1005.454 101325.000 5.879513e+05\n", " 8.200e-01 1005.587 101325.000 5.879513e+05\n", " 8.250e-01 1005.724 101325.000 5.879513e+05\n", " 8.300e-01 1005.865 101325.000 5.879513e+05\n", " 8.350e-01 1006.011 101325.000 5.879513e+05\n", " 8.400e-01 1006.162 101325.000 5.879513e+05\n", " 8.450e-01 1006.317 101325.000 5.879513e+05\n", " 8.500e-01 1006.478 101325.000 5.879513e+05\n", " 8.550e-01 1006.644 101325.000 5.879513e+05\n", " 8.600e-01 1006.816 101325.000 5.879513e+05\n", " 8.650e-01 1006.994 101325.000 5.879513e+05\n", " 8.700e-01 1007.179 101325.000 5.879513e+05\n", " 8.750e-01 1007.370 101325.000 5.879513e+05\n", " 8.800e-01 1007.568 101325.000 5.879513e+05\n", " 8.850e-01 1007.774 101325.000 5.879513e+05\n", " 8.900e-01 1007.987 101325.000 5.879513e+05\n", " 8.950e-01 1008.209 101325.000 5.879513e+05\n", " 9.000e-01 1008.440 101325.000 5.879513e+05\n", " 9.050e-01 1008.681 101325.000 5.879513e+05\n", " 9.100e-01 1008.931 101325.000 5.879513e+05\n", " 9.150e-01 1009.192 101325.000 5.879513e+05\n", " 9.200e-01 1009.464 101325.000 5.879513e+05\n", " 9.250e-01 1009.749 101325.000 5.879513e+05\n", " 9.300e-01 1010.047 101325.000 5.879513e+05\n", " 9.350e-01 1010.359 101325.000 5.879513e+05\n", " 9.400e-01 1010.686 101325.000 5.879513e+05\n", " 9.450e-01 1011.029 101325.000 5.879513e+05\n", " 9.500e-01 1011.390 101325.000 5.879513e+05\n", " 9.550e-01 1011.770 101325.000 5.879513e+05\n", " 9.600e-01 1012.171 101325.000 5.879513e+05\n", " 9.650e-01 1012.594 101325.000 5.879513e+05\n", " 9.700e-01 1013.043 101325.000 5.879513e+05\n", " 9.750e-01 1013.518 101325.000 5.879513e+05\n", " 9.800e-01 1014.023 101325.000 5.879514e+05\n", " 9.850e-01 1014.561 101325.000 5.879514e+05\n", " 9.900e-01 1015.136 101325.000 5.879514e+05\n", " 9.950e-01 1015.752 101325.000 5.879513e+05\n", " 1.000e+00 1016.414 101325.000 5.879513e+05\n", " 1.005e+00 1017.128 101325.000 5.879514e+05\n", " 1.010e+00 1017.901 101325.000 5.879514e+05\n", " 1.015e+00 1018.741 101325.000 5.879515e+05\n", " 1.020e+00 1019.659 101325.000 5.879515e+05\n", " 1.025e+00 1020.667 101325.000 5.879515e+05\n", " 1.030e+00 1021.782 101325.000 5.879515e+05\n", " 1.035e+00 1023.024 101325.000 5.879515e+05\n", " 1.040e+00 1024.418 101325.000 5.879515e+05\n", " 1.045e+00 1026.001 101325.000 5.879515e+05\n", " 1.050e+00 1027.817 101325.000 5.879515e+05\n", " 1.055e+00 1029.935 101325.000 5.879515e+05\n", " 1.060e+00 1032.448 101325.000 5.879515e+05\n", " 1.065e+00 1035.501 101325.000 5.879515e+05\n", " 1.070e+00 1039.327 101325.000 5.879516e+05\n", " 1.075e+00 1044.333 101325.000 5.879516e+05\n", " 1.080e+00 1051.304 101325.000 5.879515e+05\n", " 1.085e+00 1062.048 101325.000 5.879515e+05\n", " 1.090e+00 1082.090 101325.000 5.879515e+05\n", " 1.095e+00 1146.076 101325.000 5.879515e+05\n", " 1.100e+00 2549.420 101325.000 5.879514e+05\n", " 1.105e+00 2545.390 101325.000 5.879514e+05\n", " 1.110e+00 2543.192 101325.000 5.879514e+05\n", " 1.115e+00 2542.105 101325.000 5.879514e+05\n", " 1.120e+00 2541.590 101325.000 5.879514e+05\n", " 1.125e+00 2541.351 101325.000 5.879514e+05\n", " 1.130e+00 2541.240 101325.000 5.879514e+05\n", " 1.135e+00 2541.189 101325.000 5.879514e+05\n", " 1.140e+00 2541.166 101325.000 5.879514e+05\n", " 1.145e+00 2541.155 101325.000 5.879514e+05\n", " 1.150e+00 2541.151 101325.000 5.879514e+05\n", " 1.155e+00 2541.148 101325.000 5.879514e+05\n", " 1.160e+00 2541.147 101325.000 5.879514e+05\n", " 1.165e+00 2541.147 101325.000 5.879514e+05\n", " 1.170e+00 2541.147 101325.000 5.879514e+05\n", " 1.175e+00 2541.146 101325.000 5.879514e+05\n", " 1.180e+00 2541.146 101325.000 5.879514e+05\n", " 1.185e+00 2541.146 101325.000 5.879514e+05\n", " 1.190e+00 2541.146 101325.000 5.879514e+05\n", " 1.195e+00 2541.146 101325.000 5.879514e+05\n", " 1.200e+00 2541.146 101325.000 5.879514e+05\n", " 1.205e+00 2541.146 101325.000 5.879514e+05\n", " 1.210e+00 2541.146 101325.000 5.879514e+05\n", " 1.215e+00 2541.146 101325.000 5.879514e+05\n", " 1.220e+00 2541.146 101325.000 5.879514e+05\n", " 1.225e+00 2541.146 101325.000 5.879514e+05\n", " 1.230e+00 2541.146 101325.000 5.879514e+05\n", " 1.235e+00 2541.146 101325.000 5.879514e+05\n", " 1.240e+00 2541.146 101325.000 5.879514e+05\n", " 1.245e+00 2541.146 101325.000 5.879514e+05\n", " 1.250e+00 2541.146 101325.000 5.879514e+05\n", " 1.255e+00 2541.146 101325.000 5.879514e+05\n", " 1.260e+00 2541.146 101325.000 5.879514e+05\n", " 1.265e+00 2541.146 101325.000 5.879514e+05\n", " 1.270e+00 2541.146 101325.000 5.879514e+05\n", " 1.275e+00 2541.146 101325.000 5.879514e+05\n", " 1.280e+00 2541.146 101325.000 5.879514e+05\n", " 1.285e+00 2541.146 101325.000 5.879514e+05\n", " 1.290e+00 2541.146 101325.000 5.879514e+05\n", " 1.295e+00 2541.146 101325.000 5.879514e+05\n", " 1.300e+00 2541.146 101325.000 5.879514e+05\n", " 1.305e+00 2541.146 101325.000 5.879514e+05\n", " 1.310e+00 2541.146 101325.000 5.879514e+05\n", " 1.315e+00 2541.146 101325.000 5.879513e+05\n", " 1.320e+00 2541.146 101325.000 5.879513e+05\n", " 1.325e+00 2541.146 101325.000 5.879513e+05\n", " 1.330e+00 2541.146 101325.000 5.879513e+05\n", " 1.335e+00 2541.146 101325.000 5.879513e+05\n", " 1.340e+00 2541.146 101325.000 5.879513e+05\n", " 1.345e+00 2541.146 101325.000 5.879513e+05\n", " 1.350e+00 2541.146 101325.000 5.879513e+05\n", " 1.355e+00 2541.146 101325.000 5.879513e+05\n", " 1.360e+00 2541.146 101325.000 5.879513e+05\n", " 1.365e+00 2541.146 101325.000 5.879513e+05\n", " 1.370e+00 2541.146 101325.000 5.879514e+05\n", " 1.375e+00 2541.146 101325.000 5.879514e+05\n", " 1.380e+00 2541.146 101325.000 5.879514e+05\n", " 1.385e+00 2541.146 101325.000 5.879514e+05\n", " 1.390e+00 2541.146 101325.000 5.879514e+05\n", " 1.395e+00 2541.146 101325.000 5.879514e+05\n", " 1.400e+00 2541.146 101325.000 5.879514e+05\n" ] } ], "source": [ "# Arrays to hold the datas\n", "times = np.zeros(200)\n", "data = np.zeros((200, 4))\n", "\n", "# Advance the simulation in time\n", "print(('%10s %10s %10s %14s' % ('t [s]', 'T [K]', 'P [Pa]', 'h [J/kg]')))\n", "for n in range(200):\n", " time += 5.e-3\n", " sim.advance(time)\n", " times[n] = time # time in s\n", " data[n, 0] = r.T\n", " data[n, 1:] = r.thermo['O2', 'CO2', 'CH4'].X\n", " print(('%10.3e %10.3f %10.3f %14.6e' % (sim.time, r.T,\n", " r.thermo.P, r.thermo.h)))" ] }, { "cell_type": "code", "execution_count": 11, "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", "plt.clf()\n", "\n", "plt.subplot(2, 2, 1)\n", "plt.plot(times, data[:, 0])\n", "plt.xlabel('Time (ms)')\n", "plt.ylabel('Temperature (K)')\n", "\n", "plt.subplot(2, 2, 2)\n", "plt.plot(times, data[:, 1])\n", "plt.xlabel('Time (ms)')\n", "plt.ylabel('O2 Mole Fraction')\n", "\n", "plt.subplot(2, 2, 3)\n", "plt.plot(times, data[:, 2])\n", "plt.xlabel('Time (ms)')\n", "plt.ylabel('CO2 Mole Fraction')\n", "\n", "plt.subplot(2, 2, 4)\n", "plt.plot(times, data[:, 3])\n", "plt.xlabel('Time (ms)')\n", "plt.ylabel('CH4 Mole Fraction')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
Try to modify the script by creating an IdealGasConstPressureReactor instead of setting the environment into a reservoir to maintain the pressure.
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Reset gas state and set the new IdealGasConstPressureReactor" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "# Mechanisms used for the process\n", "gri3 = ct.Solution('gri30.xml')\n", "\n", "# Gas state\n", "gri3.TPX = 1000.0, ct.one_atm, 'CH4:0.5,O2:1,N2:3.76'\n", "\n", "r = ct.IdealGasConstPressureReactor(gri3)\n", "\n", "# Prepare the simulation with a ReactorNet object\n", "sim = ct.ReactorNet([r])\n", "time = 4.e-1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Simulate the new case" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " t [s] T [K] P [Pa] h [J/kg]\n", " 4.050e-01 1000.862 101325.000 5.879515e+05\n", " 4.100e-01 1000.883 101325.000 5.879515e+05\n", " 4.150e-01 1000.905 101325.000 5.879515e+05\n", " 4.200e-01 1000.927 101325.000 5.879515e+05\n", " 4.250e-01 1000.950 101325.000 5.879515e+05\n", " 4.300e-01 1000.973 101325.000 5.879515e+05\n", " 4.350e-01 1000.996 101325.000 5.879515e+05\n", " 4.400e-01 1001.020 101325.000 5.879515e+05\n", " 4.450e-01 1001.044 101325.000 5.879515e+05\n", " 4.500e-01 1001.069 101325.000 5.879515e+05\n", " 4.550e-01 1001.094 101325.000 5.879515e+05\n", " 4.600e-01 1001.120 101325.000 5.879515e+05\n", " 4.650e-01 1001.146 101325.000 5.879515e+05\n", " 4.700e-01 1001.173 101325.000 5.879515e+05\n", " 4.750e-01 1001.200 101325.000 5.879515e+05\n", " 4.800e-01 1001.228 101325.000 5.879515e+05\n", " 4.850e-01 1001.257 101325.000 5.879515e+05\n", " 4.900e-01 1001.286 101325.000 5.879515e+05\n", " 4.950e-01 1001.315 101325.000 5.879515e+05\n", " 5.000e-01 1001.345 101325.000 5.879515e+05\n", " 5.050e-01 1001.376 101325.000 5.879515e+05\n", " 5.100e-01 1001.407 101325.000 5.879515e+05\n", " 5.150e-01 1001.439 101325.000 5.879515e+05\n", " 5.200e-01 1001.471 101325.000 5.879515e+05\n", " 5.250e-01 1001.504 101325.000 5.879515e+05\n", " 5.300e-01 1001.538 101325.000 5.879515e+05\n", " 5.350e-01 1001.573 101325.000 5.879515e+05\n", " 5.400e-01 1001.608 101325.000 5.879515e+05\n", " 5.450e-01 1001.644 101325.000 5.879515e+05\n", " 5.500e-01 1001.680 101325.000 5.879515e+05\n", " 5.550e-01 1001.718 101325.000 5.879515e+05\n", " 5.600e-01 1001.756 101325.000 5.879515e+05\n", " 5.650e-01 1001.795 101325.000 5.879515e+05\n", " 5.700e-01 1001.834 101325.000 5.879515e+05\n", " 5.750e-01 1001.875 101325.000 5.879515e+05\n", " 5.800e-01 1001.916 101325.000 5.879515e+05\n", " 5.850e-01 1001.958 101325.000 5.879515e+05\n", " 5.900e-01 1002.001 101325.000 5.879515e+05\n", " 5.950e-01 1002.045 101325.000 5.879515e+05\n", " 6.000e-01 1002.090 101325.000 5.879515e+05\n", " 6.050e-01 1002.136 101325.000 5.879515e+05\n", " 6.100e-01 1002.183 101325.000 5.879515e+05\n", " 6.150e-01 1002.231 101325.000 5.879515e+05\n", " 6.200e-01 1002.280 101325.000 5.879515e+05\n", " 6.250e-01 1002.330 101325.000 5.879515e+05\n", " 6.300e-01 1002.381 101325.000 5.879515e+05\n", " 6.350e-01 1002.433 101325.000 5.879515e+05\n", " 6.400e-01 1002.486 101325.000 5.879515e+05\n", " 6.450e-01 1002.541 101325.000 5.879515e+05\n", " 6.500e-01 1002.596 101325.000 5.879515e+05\n", " 6.550e-01 1002.653 101325.000 5.879515e+05\n", " 6.600e-01 1002.712 101325.000 5.879515e+05\n", " 6.650e-01 1002.771 101325.000 5.879515e+05\n", " 6.700e-01 1002.832 101325.000 5.879515e+05\n", " 6.750e-01 1002.895 101325.000 5.879515e+05\n", " 6.800e-01 1002.959 101325.000 5.879515e+05\n", " 6.850e-01 1003.024 101325.000 5.879515e+05\n", " 6.900e-01 1003.091 101325.000 5.879515e+05\n", " 6.950e-01 1003.159 101325.000 5.879515e+05\n", " 7.000e-01 1003.229 101325.000 5.879515e+05\n", " 7.050e-01 1003.301 101325.000 5.879515e+05\n", " 7.100e-01 1003.375 101325.000 5.879515e+05\n", " 7.150e-01 1003.450 101325.000 5.879515e+05\n", " 7.200e-01 1003.527 101325.000 5.879515e+05\n", " 7.250e-01 1003.606 101325.000 5.879515e+05\n", " 7.300e-01 1003.687 101325.000 5.879515e+05\n", " 7.350e-01 1003.771 101325.000 5.879515e+05\n", " 7.400e-01 1003.856 101325.000 5.879515e+05\n", " 7.450e-01 1003.944 101325.000 5.879515e+05\n", " 7.500e-01 1004.033 101325.000 5.879515e+05\n", " 7.550e-01 1004.126 101325.000 5.879515e+05\n", " 7.600e-01 1004.220 101325.000 5.879515e+05\n", " 7.650e-01 1004.317 101325.000 5.879515e+05\n", " 7.700e-01 1004.417 101325.000 5.879515e+05\n", " 7.750e-01 1004.520 101325.000 5.879515e+05\n", " 7.800e-01 1004.625 101325.000 5.879515e+05\n", " 7.850e-01 1004.734 101325.000 5.879515e+05\n", " 7.900e-01 1004.845 101325.000 5.879515e+05\n", " 7.950e-01 1004.960 101325.000 5.879515e+05\n", " 8.000e-01 1005.078 101325.000 5.879515e+05\n", " 8.050e-01 1005.200 101325.000 5.879515e+05\n", " 8.100e-01 1005.325 101325.000 5.879515e+05\n", " 8.150e-01 1005.454 101325.000 5.879515e+05\n", " 8.200e-01 1005.587 101325.000 5.879515e+05\n", " 8.250e-01 1005.724 101325.000 5.879515e+05\n", " 8.300e-01 1005.865 101325.000 5.879515e+05\n", " 8.350e-01 1006.011 101325.000 5.879515e+05\n", " 8.400e-01 1006.162 101325.000 5.879515e+05\n", " 8.450e-01 1006.317 101325.000 5.879515e+05\n", " 8.500e-01 1006.478 101325.000 5.879515e+05\n", " 8.550e-01 1006.645 101325.000 5.879515e+05\n", " 8.600e-01 1006.817 101325.000 5.879515e+05\n", " 8.650e-01 1006.995 101325.000 5.879515e+05\n", " 8.700e-01 1007.179 101325.000 5.879515e+05\n", " 8.750e-01 1007.370 101325.000 5.879515e+05\n", " 8.800e-01 1007.568 101325.000 5.879515e+05\n", " 8.850e-01 1007.774 101325.000 5.879515e+05\n", " 8.900e-01 1007.988 101325.000 5.879515e+05\n", " 8.950e-01 1008.210 101325.000 5.879515e+05\n", " 9.000e-01 1008.440 101325.000 5.879515e+05\n", " 9.050e-01 1008.681 101325.000 5.879515e+05\n", " 9.100e-01 1008.931 101325.000 5.879515e+05\n", " 9.150e-01 1009.192 101325.000 5.879515e+05\n", " 9.200e-01 1009.465 101325.000 5.879515e+05\n", " 9.250e-01 1009.749 101325.000 5.879515e+05\n", " 9.300e-01 1010.047 101325.000 5.879515e+05\n", " 9.350e-01 1010.359 101325.000 5.879515e+05\n", " 9.400e-01 1010.686 101325.000 5.879515e+05\n", " 9.450e-01 1011.029 101325.000 5.879515e+05\n", " 9.500e-01 1011.390 101325.000 5.879515e+05\n", " 9.550e-01 1011.770 101325.000 5.879515e+05\n", " 9.600e-01 1012.171 101325.000 5.879515e+05\n", " 9.650e-01 1012.595 101325.000 5.879515e+05\n", " 9.700e-01 1013.043 101325.000 5.879515e+05\n", " 9.750e-01 1013.518 101325.000 5.879515e+05\n", " 9.800e-01 1014.023 101325.000 5.879515e+05\n", " 9.850e-01 1014.562 101325.000 5.879515e+05\n", " 9.900e-01 1015.137 101325.000 5.879515e+05\n", " 9.950e-01 1015.753 101325.000 5.879515e+05\n", " 1.000e+00 1016.415 101325.000 5.879515e+05\n", " 1.005e+00 1017.128 101325.000 5.879515e+05\n", " 1.010e+00 1017.901 101325.000 5.879515e+05\n", " 1.015e+00 1018.741 101325.000 5.879515e+05\n", " 1.020e+00 1019.659 101325.000 5.879515e+05\n", " 1.025e+00 1020.668 101325.000 5.879515e+05\n", " 1.030e+00 1021.782 101325.000 5.879515e+05\n", " 1.035e+00 1023.024 101325.000 5.879515e+05\n", " 1.040e+00 1024.419 101325.000 5.879515e+05\n", " 1.045e+00 1026.001 101325.000 5.879515e+05\n", " 1.050e+00 1027.818 101325.000 5.879515e+05\n", " 1.055e+00 1029.935 101325.000 5.879515e+05\n", " 1.060e+00 1032.448 101325.000 5.879515e+05\n", " 1.065e+00 1035.502 101325.000 5.879515e+05\n", " 1.070e+00 1039.329 101325.000 5.879515e+05\n", " 1.075e+00 1044.334 101325.000 5.879515e+05\n", " 1.080e+00 1051.307 101325.000 5.879515e+05\n", " 1.085e+00 1062.052 101325.000 5.879515e+05\n", " 1.090e+00 1082.098 101325.000 5.879515e+05\n", " 1.095e+00 1146.117 101325.000 5.879515e+05\n", " 1.100e+00 2549.419 101325.000 5.879515e+05\n", " 1.105e+00 2545.389 101325.000 5.879515e+05\n", " 1.110e+00 2543.191 101325.000 5.879515e+05\n", " 1.115e+00 2542.105 101325.000 5.879515e+05\n", " 1.120e+00 2541.590 101325.000 5.879515e+05\n", " 1.125e+00 2541.351 101325.000 5.879515e+05\n", " 1.130e+00 2541.240 101325.000 5.879515e+05\n", " 1.135e+00 2541.189 101325.000 5.879515e+05\n", " 1.140e+00 2541.166 101325.000 5.879515e+05\n", " 1.145e+00 2541.155 101325.000 5.879515e+05\n", " 1.150e+00 2541.151 101325.000 5.879515e+05\n", " 1.155e+00 2541.148 101325.000 5.879515e+05\n", " 1.160e+00 2541.147 101325.000 5.879515e+05\n", " 1.165e+00 2541.147 101325.000 5.879515e+05\n", " 1.170e+00 2541.147 101325.000 5.879515e+05\n", " 1.175e+00 2541.147 101325.000 5.879515e+05\n", " 1.180e+00 2541.146 101325.000 5.879515e+05\n", " 1.185e+00 2541.146 101325.000 5.879515e+05\n", " 1.190e+00 2541.146 101325.000 5.879515e+05\n", " 1.195e+00 2541.146 101325.000 5.879515e+05\n", " 1.200e+00 2541.146 101325.000 5.879515e+05\n", " 1.205e+00 2541.146 101325.000 5.879515e+05\n", " 1.210e+00 2541.146 101325.000 5.879515e+05\n", " 1.215e+00 2541.146 101325.000 5.879515e+05\n", " 1.220e+00 2541.146 101325.000 5.879515e+05\n", " 1.225e+00 2541.146 101325.000 5.879515e+05\n", " 1.230e+00 2541.146 101325.000 5.879515e+05\n", " 1.235e+00 2541.146 101325.000 5.879515e+05\n", " 1.240e+00 2541.146 101325.000 5.879515e+05\n", " 1.245e+00 2541.146 101325.000 5.879515e+05\n", " 1.250e+00 2541.146 101325.000 5.879515e+05\n", " 1.255e+00 2541.146 101325.000 5.879515e+05\n", " 1.260e+00 2541.146 101325.000 5.879515e+05\n", " 1.265e+00 2541.146 101325.000 5.879515e+05\n", " 1.270e+00 2541.146 101325.000 5.879515e+05\n", " 1.275e+00 2541.146 101325.000 5.879515e+05\n", " 1.280e+00 2541.146 101325.000 5.879515e+05\n", " 1.285e+00 2541.146 101325.000 5.879515e+05\n", " 1.290e+00 2541.146 101325.000 5.879515e+05\n", " 1.295e+00 2541.146 101325.000 5.879515e+05\n", " 1.300e+00 2541.146 101325.000 5.879515e+05\n", " 1.305e+00 2541.146 101325.000 5.879515e+05\n", " 1.310e+00 2541.146 101325.000 5.879515e+05\n", " 1.315e+00 2541.146 101325.000 5.879515e+05\n", " 1.320e+00 2541.146 101325.000 5.879515e+05\n", " 1.325e+00 2541.146 101325.000 5.879515e+05\n", " 1.330e+00 2541.146 101325.000 5.879515e+05\n", " 1.335e+00 2541.146 101325.000 5.879515e+05\n", " 1.340e+00 2541.146 101325.000 5.879515e+05\n", " 1.345e+00 2541.146 101325.000 5.879515e+05\n", " 1.350e+00 2541.146 101325.000 5.879515e+05\n", " 1.355e+00 2541.146 101325.000 5.879515e+05\n", " 1.360e+00 2541.146 101325.000 5.879515e+05\n", " 1.365e+00 2541.146 101325.000 5.879515e+05\n", " 1.370e+00 2541.146 101325.000 5.879515e+05\n", " 1.375e+00 2541.146 101325.000 5.879515e+05\n", " 1.380e+00 2541.146 101325.000 5.879515e+05\n", " 1.385e+00 2541.146 101325.000 5.879515e+05\n", " 1.390e+00 2541.146 101325.000 5.879515e+05\n", " 1.395e+00 2541.146 101325.000 5.879515e+05\n", " 1.400e+00 2541.146 101325.000 5.879515e+05\n" ] } ], "source": [ "# Arrays to hold the datas\n", "times = np.zeros(200)\n", "data = np.zeros((200, 4))\n", "\n", "# Advance the simulation in time\n", "print(('%10s %10s %10s %14s' % ('t [s]', 'T [K]', 'P [Pa]', 'h [J/kg]')))\n", "for n in range(200):\n", " time += 5.e-3\n", " sim.advance(time)\n", " times[n] = time # time in s\n", " data[n, 0] = r.T\n", " data[n, 1:] = r.thermo['O2', 'CO2', 'CH4'].X\n", " print(('%10.3e %10.3f %10.3f %14.6e' % (sim.time, r.T,\n", " r.thermo.P, r.thermo.h)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plot the results and compare with the previous one" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "rcParams['figure.figsize'] = (14, 10)\n", "\n", "plt.clf()\n", "\n", "plt.subplot(2, 2, 1)\n", "plt.plot(times, data[:, 0])\n", "plt.xlabel('Time (ms)')\n", "plt.ylabel('Temperature (K)')\n", "\n", "plt.subplot(2, 2, 2)\n", "plt.plot(times, data[:, 1])\n", "plt.xlabel('Time (ms)')\n", "plt.ylabel('O2 Mole Fraction')\n", "\n", "plt.subplot(2, 2, 3)\n", "plt.plot(times, data[:, 2])\n", "plt.xlabel('Time (ms)')\n", "plt.ylabel('CO2 Mole Fraction')\n", "\n", "plt.subplot(2, 2, 4)\n", "plt.plot(times, data[:, 3])\n", "plt.xlabel('Time (ms)')\n", "plt.ylabel('CH4 Mole Fraction')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. An example of application : mixing two streams" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Up until now, we have seen how to generate simple closed vessels. However, it is sometimes interesting\n", "to mix different streams, or to feed the exhaust of a reservoir with constant parameters to a reacting\n", "reactor. In this exercise, we will design a script that simulates the stoichiometric constant volume\n", "mixing of a stream of air with a stream of pure gaseous methane." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![title](Images/Scheme.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Set the two gases and the molar mass associated" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
You will have to :
\n", "- set a first gas a with an air mixture at 0.21 of O2, 0.01 of AR and 0.78 of N2
\n", "- set a second gas b with a gri30 mixture at 1 of CH4\n", "
" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "gas_a = ct.Solution('air.xml')\n", "gas_a.TPX = 300, ct.one_atm, 'O2:0.21, N2:0.78, AR:0.01'\n", "mw_a = gas_a.mean_molecular_weight/1000 #kg/mol\n", "\n", "gas_b = ct.Solution('gri30.xml')\n", "gas_b.TPX = 300.0, ct.one_atm, 'CH4:1'\n", "mw_b = gas_b.mean_molecular_weight/1000 #kg/mol" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Creation of two reservoirs and an exhaust one (ReactorBase)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
You will have to :
\n", "- set a first reservoir from gas a
\n", "- set a second reservoir from gas b
\n", "- set a downstream reservoir filled with gas b\n", "
" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "res_a = ct.Reservoir(gas_a)\n", "res_b = ct.Reservoir(gas_b)\n", "downstream = ct.Reservoir(gas_b)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Generate the reactor that will receive the mixed stream (ReactorBase)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
You will have to :
\n", "- change the condition of the gas b to respect an air mix.
\n", "- create and IdealGasReactor with the energy equation set to 'on'.\n", "
" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "gas_b.TPX = 300, ct.one_atm, 'O2:1., N2:3.78, CH4:0.5'\n", "mixer = ct.IdealGasReactor(gas_b, energy='on')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Watch out here, the mixture should be the one of gas_b, as the reactions will occur with the mechanism from gri30 (and not from the air)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Creation of the mass flow controller that will control the mixing (FlowDevice)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that you have specified all the elements of the reactor, you need to detail the link between them. This is what is done in the following lines :" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "mfca = ct.MassFlowController(res_a, mixer, mdot=mw_a*2./0.21)\n", "mfcb = ct.MassFlowController(res_b, mixer, mdot=mw_b*1.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Creation of the valve between the mixer and the downstream (FlowDevice)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, the valve is created." ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [], "source": [ "outlet = ct.Valve(mixer, downstream, K=10.0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This valve will enable the system to keep a constant pressure at the inlet of the mixer and at the outlet." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Creation of the net reactor to compute simulation" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
You need to create the ReactorNet with the mixer.
" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [], "source": [ "sim = ct.ReactorNet([mixer])" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " t [s] T [K] h [J/kg] P [Pa] X_CH4\n", " 7.6903 300 -2.5352e+05 1.0133e+05 0.094978\n", " 15.406 300 -2.5351e+05 1.0133e+05 0.095017\n", " 23.126 300 -2.5351e+05 1.0133e+05 0.095022\n", " 30.846 300 -2.5351e+05 1.0133e+05 0.095023\n", " 38.566 300 -2.5351e+05 1.0133e+05 0.095023\n", " 46.286 300 -2.5351e+05 1.0133e+05 0.095023\n", " 54.006 300 -2.5351e+05 1.0133e+05 0.095023\n", " 61.726 300 -2.5351e+05 1.0133e+05 0.095023\n", " 69.446 300 -2.5351e+05 1.0133e+05 0.095023\n", " 77.166 300 -2.5351e+05 1.0133e+05 0.095023\n", " 84.886 300 -2.5351e+05 1.0133e+05 0.095023\n", " 92.606 300 -2.5351e+05 1.0133e+05 0.095023\n", " 100.33 300 -2.5351e+05 1.0133e+05 0.095023\n", " 108.05 300 -2.5351e+05 1.0133e+05 0.095023\n", " 115.77 300 -2.5351e+05 1.0133e+05 0.095023\n", " 123.49 300 -2.5351e+05 1.0133e+05 0.095023\n", " 131.21 300 -2.5351e+05 1.0133e+05 0.095023\n", " 138.93 300 -2.5351e+05 1.0133e+05 0.095023\n", " 146.65 300 -2.5351e+05 1.0133e+05 0.095023\n", " 154.37 300 -2.5351e+05 1.0133e+05 0.095023\n", " 162.09 300 -2.5351e+05 1.0133e+05 0.095023\n", " 169.81 300 -2.5351e+05 1.0133e+05 0.095023\n", " 177.53 300 -2.5351e+05 1.0133e+05 0.095023\n", " 185.25 300 -2.5351e+05 1.0133e+05 0.095023\n", " 192.97 300 -2.5351e+05 1.0133e+05 0.095023\n", " 200.69 300 -2.5351e+05 1.0133e+05 0.095023\n", " 208.41 300 -2.5351e+05 1.0133e+05 0.095023\n", " 216.13 300 -2.5351e+05 1.0133e+05 0.095023\n", " 223.85 300 -2.5351e+05 1.0133e+05 0.095023\n", " 231.57 300 -2.5351e+05 1.0133e+05 0.095023\n", " 239.29 300 -2.5351e+05 1.0133e+05 0.095023\n", " 247.01 300 -2.5351e+05 1.0133e+05 0.095023\n", " 254.73 300 -2.5351e+05 1.0133e+05 0.095023\n", " 262.45 300 -2.5351e+05 1.0133e+05 0.095023\n", " 270.17 300 -2.5351e+05 1.0133e+05 0.095023\n", " 277.89 300 -2.5351e+05 1.0133e+05 0.095023\n", " 285.61 300 -2.5351e+05 1.0133e+05 0.095023\n", " 293.33 300 -2.5351e+05 1.0133e+05 0.095023\n", " 301.05 300 -2.5351e+05 1.0133e+05 0.095023\n", " 308.77 300 -2.5351e+05 1.0133e+05 0.095023\n", " 316.49 300 -2.5351e+05 1.0133e+05 0.095023\n", " 324.21 300 -2.5351e+05 1.0133e+05 0.095023\n", " 331.93 300 -2.5351e+05 1.0133e+05 0.095023\n", " 339.65 300 -2.5351e+05 1.0133e+05 0.095023\n", " 347.37 300 -2.5351e+05 1.0133e+05 0.095023\n", " 355.09 300 -2.5351e+05 1.0133e+05 0.095023\n", " 362.81 300 -2.5351e+05 1.0133e+05 0.095023\n", " 370.53 300 -2.5351e+05 1.0133e+05 0.095023\n", " 378.25 300 -2.5351e+05 1.0133e+05 0.095023\n", " 385.97 300 -2.5351e+05 1.0133e+05 0.095023\n", " 393.69 300 -2.5351e+05 1.0133e+05 0.095023\n", " 401.41 300 -2.5351e+05 1.0133e+05 0.095023\n", " 409.13 300 -2.5351e+05 1.0133e+05 0.095023\n", " 416.85 300 -2.5351e+05 1.0133e+05 0.095023\n", " 424.57 300 -2.5351e+05 1.0133e+05 0.095023\n", " 432.29 300 -2.5351e+05 1.0133e+05 0.095023\n", " 440.01 300 -2.5351e+05 1.0133e+05 0.095023\n", " 447.73 300 -2.5351e+05 1.0133e+05 0.095023\n", " 455.45 300 -2.5351e+05 1.0133e+05 0.095023\n", " 463.17 300 -2.5351e+05 1.0133e+05 0.095023\n", " 470.89 300 -2.5351e+05 1.0133e+05 0.095023\n", " 478.61 300 -2.5351e+05 1.0133e+05 0.095023\n", " 486.33 300 -2.5351e+05 1.0133e+05 0.095023\n", " 494.05 300 -2.5351e+05 1.0133e+05 0.095023\n", " 501.77 300 -2.5351e+05 1.0133e+05 0.095023\n", " 509.49 300 -2.5351e+05 1.0133e+05 0.095023\n", " 517.21 300 -2.5351e+05 1.0133e+05 0.095023\n", " 524.93 300 -2.5351e+05 1.0133e+05 0.095023\n", " 532.65 300 -2.5351e+05 1.0133e+05 0.095023\n", " 540.37 300 -2.5351e+05 1.0133e+05 0.095023\n", " 548.09 300 -2.5351e+05 1.0133e+05 0.095023\n", " 555.81 300 -2.5351e+05 1.0133e+05 0.095023\n", " 563.53 300 -2.5351e+05 1.0133e+05 0.095023\n", " 571.25 300 -2.5351e+05 1.0133e+05 0.095023\n", " 578.97 300 -2.5351e+05 1.0133e+05 0.095023\n", " 586.69 300 -2.5351e+05 1.0133e+05 0.095023\n", " 594.41 300 -2.5351e+05 1.0133e+05 0.095023\n", " 602.13 300 -2.5351e+05 1.0133e+05 0.095023\n", " 609.85 300 -2.5351e+05 1.0133e+05 0.095023\n", " 617.57 300 -2.5351e+05 1.0133e+05 0.095023\n", " 625.29 300 -2.5351e+05 1.0133e+05 0.095023\n", " 633.01 300 -2.5351e+05 1.0133e+05 0.095023\n", " 640.73 300 -2.5351e+05 1.0133e+05 0.095023\n", " 648.45 300 -2.5351e+05 1.0133e+05 0.095023\n", " 656.17 300 -2.5351e+05 1.0133e+05 0.095023\n", " 663.89 300 -2.5351e+05 1.0133e+05 0.095023\n", " 671.61 300 -2.5351e+05 1.0133e+05 0.095023\n", " 679.33 300 -2.5351e+05 1.0133e+05 0.095023\n", " 687.05 300 -2.5351e+05 1.0133e+05 0.095023\n", " 694.77 300 -2.5351e+05 1.0133e+05 0.095023\n", " 702.49 300 -2.5351e+05 1.0133e+05 0.095023\n", " 710.21 300 -2.5351e+05 1.0133e+05 0.095023\n", " 717.93 300 -2.5351e+05 1.0133e+05 0.095023\n", " 725.65 300 -2.5351e+05 1.0133e+05 0.095023\n", " 733.37 300 -2.5351e+05 1.0133e+05 0.095023\n", " 741.09 300 -2.5351e+05 1.0133e+05 0.095023\n", " 748.81 300 -2.5351e+05 1.0133e+05 0.095023\n", " 756.53 300 -2.5351e+05 1.0133e+05 0.095023\n", " 764.25 300 -2.5351e+05 1.0133e+05 0.095023\n", " 771.97 300 -2.5351e+05 1.0133e+05 0.095023\n", "\n", " gri30:\n", "\n", " temperature 300 K\n", " pressure 101325 Pa\n", " density 1.12691 kg/m^3\n", " mean mol. weight 27.7414 amu\n", "\n", " 1 kg 1 kmol\n", " ----------- ------------\n", " enthalpy -2.5351e+05 -7.033e+06 J\n", " internal energy -3.4342e+05 -9.527e+06 J\n", " entropy 7222 2.003e+05 J/K\n", " Gibbs function -2.4201e+06 -6.714e+07 J\n", " heat capacity c_p 1070.4 2.97e+04 J/K\n", " heat capacity c_v 770.71 2.138e+04 J/K\n", "\n", " X Y Chem. Pot. / RT\n", " ------------- ------------ ------------\n", " O2 0.190045 0.219211 -26.3342\n", " CH4 0.0950226 0.0549513 -54.6765\n", " N2 0.705882 0.712806 -23.3814\n", " AR 0.00904977 0.0130318 -23.3151\n", " [ +49 minor] 4.49034e-33 3.88811e-33\n", "\n" ] } ], "source": [ "# Since the mixer is a reactor, we need to integrate in time to reach steady\n", "# state. A few residence times should be enough.\n", "print('{0:>14s} {1:>14s} {2:>14s} {3:>14s} {4:>14s}'.format('t [s]', 'T [K]', 'h [J/kg]', 'P [Pa]', 'X_CH4'))\n", "t = 0.0\n", "for n in range(100):\n", " tres = mixer.mass/(mfca.mdot(t) + mfcb.mdot(t))\n", " t += 2*tres\n", " sim.advance(t)\n", " print('{0:14.5g} {1:14.5g} {2:14.5g} {3:14.5g} {4:14.5g}'.format(t, mixer.T, mixer.thermo.h, mixer.thermo.P, mixer.thermo['CH4'].X[0]))\n", "\n", "print(mixer.thermo.report())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that the gas did not ignite, and that the composition is indeed stoichiometric. We could trigger\n", "the ignition, by assuming that the reactor is 'already lit'. To do so, you need to initialize the content\n", "of the reactor with hot gases. The simplest way to do so is by filling it with stoichiometric mixture of\n", "air and methane at equilibrium. This is easily done by replacing the lines :
\n", "\n", "gas_b.TPX = 300.0, ct.one_atm, 'O2:0.21, N2:0.78, AR:0.01'\n", "mixer = ct.IdealGasReactor(gas_b)\n", "
\n", "with :\n", "
\n", "gas_b.TPX = 300.0,ct.one_atm,'O2:1., N2:3.78, CH4:0.5'\n", "gas_b.equilibrate(\"HP\")\n", "mixer = ct.IdealGasReactor(gas_b)\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5. Autoignition timing" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "An interesting feature of 0D simulations is that it allows to compute the temporal evolution of a\n", "mixture under specific conditions towards its equilibrium state. That evolution can be viewed as\n", "a sort of **autoignition** of the mixture.
\n", "To go further, that last exercise will guide you through\n", "such a computation of the autoignition timing of a methane/air mixture. Several definitions of the\n", "autoignition timing can be found in the literature. The most commonly accepted definition relies\n", "on the temperature gradient : the time of the sharpest temperature increase is spotted as being the\n", "autoignition point. In order to catch this time with precision, the time step of the simulation should\n", "be as small as possible." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Create the gas object" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [], "source": [ "gas = ct.Solution('gri30.cti')\n", "gas.TPX = 1250, ct.one_atm, 'CH4:0.5, O2:1, N2:3.76'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Initialisation of the different values" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [], "source": [ "# Initial temperatures\n", "Temperature_range = list(range(800, 1700, 100))\n", "\n", "# Specify the number of time steps and the time step size\n", "nt = 100000\n", "dt = 1.e-4 # s\n", "\n", "# Storing auto ignitions\n", "auto_ignitions = []" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "For T = 800, Autoignition time = 9.999999999990033 s\n", "For T = 900, Autoignition time = 7.055299999996896 s\n", "For T = 1000, Autoignition time = 1.066899999999899 s\n", "For T = 1100, Autoignition time = 0.19789999999999452 s\n", "For T = 1200, Autoignition time = 0.043400000000000216 s\n", "For T = 1300, Autoignition time = 0.011099999999999988 s\n", "For T = 1400, Autoignition time = 0.0032999999999999982 s\n", "For T = 1500, Autoignition time = 0.0011000000000000003 s\n", "For T = 1600, Autoignition time = 0.0004 s\n" ] } ], "source": [ "for index, Temperature in enumerate(Temperature_range):\n", " #################################################################\n", " # Initial temperature, Pressure and stoichiometry\n", " gas.TPX = Temperature, ct.one_atm, 'CH4:0.5, O2:1, N2:3.76'\n", " # Create the batch reactor\n", " r = ct.IdealGasReactor(gas)\n", " # Now create a reactor network consisting of the single batch reactor\n", " sim = ct.ReactorNet([r])\n", " # Storage space\n", " mfrac = []\n", " # ...\n", " time = []\n", " temperature = []\n", " HR = []\n", " # Run the simulation\n", " # Initial simulation time\n", " current_time = 0.0\n", " # Loop for nt time steps of dt seconds.\n", " for n in range(nt):\n", " current_time += dt\n", " sim.advance(current_time)\n", " time.append(current_time)\n", " temperature.append(r.T)\n", " mfrac.append(r.thermo.Y)\n", " HR.append(- np.dot(gas.net_production_rates, gas.partial_molar_enthalpies))\n", " #################################################################\n", " # Catch the autoignition timing\n", " #################################################################\n", " # Get the ignition delay time by the maximum value of the Heat Release rate\n", " auto_ignition = time[HR.index(max(HR))]\n", " print('For T = ' + str(Temperature) + ', Autoignition time = ' + str(auto_ignition) + ' s')\n", " # Posterity\n", " FinalTemp = temperature[nt - 1]\n", " auto_ignitions.append(auto_ignition)\n", " # #################################################################\n", " # # Save results\n", " # #################################################################\n", " # # write output CSV file for importing into Excel\n", " # csv_file = '3-Output/Phi-1_P-1_T-' + str(Temperature) + '_UV.csv'\n", " # with open(csv_file, 'w') as outfile:\n", " # writer = csv.writer(outfile)\n", " # writer.writerow(['Auto ignition time [s]', 'Final Temperature [K]'] + gas.species_names)\n", " # writer.writerow([auto_ignition, FinalTemp] + list(mfrac[:]))\n", " # print('output written to ' + csv_file)\n", "T_invert = [1000 / Temperature for Temperature in Temperature_range]" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#################################################################\n", "# Plot results\n", "#################################################################\n", "# create plot\n", "plt.plot(Temperature_range, auto_ignitions, 'b-o')\n", "plt.xlabel(r'Temperature [K]', fontsize=20)\n", "plt.ylabel(\"Auto ignition [s]\", fontsize=20)\n", "plt.yscale('log')\n", "plt.title(r'Autoignition of $CH_{4}$ + Air mixture at $\\Phi$ = 1, and P = 1 bar',\n", "fontsize=22, horizontalalignment='center')\n", "plt.axis(fontsize=20)\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is a typical curve of the auto-ignition time as a function of the initial temperature, meaning that when the temperature increases, this time is reduced." ] }, { "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 }