From 6a0a11bc384c254254d8d919d059d69c50eba0ac Mon Sep 17 00:00:00 2001 From: Matt W Date: Sun, 20 Dec 2020 23:36:31 -0500 Subject: [PATCH] Update readme and PDE tutorial --- README.md | 27 +- .../Initial Value PDEs.ipynb | 864 ++++++------------ .../pyrometer_pde_pic.png | Bin 0 -> 25288 bytes .../react1edited.png | Bin 12658 -> 0 bytes .../react2edited.png | Bin 43359 -> 0 bytes .../react3edited.png | Bin 3947 -> 0 bytes .../M5_PDEsystems.mlx | Bin 43113 -> 43032 bytes 7 files changed, 295 insertions(+), 596 deletions(-) create mode 100644 tutorial/julia/Tutorial 5 - Partial Differential Equations/pyrometer_pde_pic.png delete mode 100644 tutorial/julia/Tutorial 5 - Partial Differential Equations/react1edited.png delete mode 100644 tutorial/julia/Tutorial 5 - Partial Differential Equations/react2edited.png delete mode 100644 tutorial/julia/Tutorial 5 - Partial Differential Equations/react3edited.png diff --git a/README.md b/README.md index 51d474b..493be28 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,29 @@ # Chemical Engineering - Analysis Notebooks Literate Programming Examples for Chemical Engineering Analysis -# Click this button to begin: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/mewilhel/AnalysisNotebooks/master) +## Authors + +## Copyright Information + +## Intended Use and Goals + +## Overview of Content + +This repository contains a series of supplemental notebooks used in XXX. + +The course made use of Dorfman and Daotidis's "Numerical Methods and Chemical Engineering Applications" as a primary textbook. A list of the chapters of Dorfman and Daotidis which correspond to each tutorial is provided below. We should however note that the enclosed material was design to be used in a stand alone fashion and may be readily integrated into other courses. + +- Tutorial \#0 (Introduction to Matlab/Julia) - N/A +- Tutorial \#1 (Linear Algebraic Systems) - Chapter 2 +- Tutorial \#2 (Nonlinear Algebraic Systems) - Chapter 3 +- Tutorial \#3 (ODEs, Initial Value Problems) - Chapter 4 +- Tutorial \#4 (ODEs, Boundary Value Problems) - Chapter 6 +- Tutorial \#5 (Partial Differential Equations) - Chapter 7 +- Tutorial \#6 (Optimization) - N/A + +The Ju + +## Extendability + +## References +- Dorfman, Kevin D., and Prodromos Daoutidis. Numerical Methods with Chemical Engineering Applications. Cambridge University Press, 2017. diff --git a/tutorial/julia/Tutorial 5 - Partial Differential Equations/Initial Value PDEs.ipynb b/tutorial/julia/Tutorial 5 - Partial Differential Equations/Initial Value PDEs.ipynb index 8e56613..bf9179b 100644 --- a/tutorial/julia/Tutorial 5 - Partial Differential Equations/Initial Value PDEs.ipynb +++ b/tutorial/julia/Tutorial 5 - Partial Differential Equations/Initial Value PDEs.ipynb @@ -6,8 +6,6 @@ "source": [ "# Initial Boundary Value PDEs \n", "\n", - "*Supplemental material (Julia) for Chapters 7 of \"Numerical Methods and Chemical Engineering Applications\" by Dorfman and Daoutidis*\n", - "\n", "
\n", "\n", "# Learning Objectives\n", @@ -27,59 +25,30 @@ "source": [ "# Simulating a graded catalyst bed\n", "\n", - "Process engineers are often engaged in tasks centered around increasing the economic productivity of process equipment while ensuring safe operation. For the commodity chemical industry, increased conversion of reactant to product remains a desired outcome. One of the most common used continuously operating reactor in this sector is that of the catalytic packed bed reactor. In this configuration, a tubular reactor is employed. This tube is packed with catalyst covered particles and the reactant flows over the catalyst bed. In many cases, a large number of tubes will be used in parallel cooled by the same jacket. We'll just consider the single tube variant here. A simplifed depiction is given below. \n", - "\n", - "\n", - "\n", - "\n", - "One important industrial chemical is that ortho-xylene which is used to produce phthalic anhydride a common plastizer. \n", - "The desired reaction is:\n", - "\n", - "\n", - "However, two underdesirable side reactions are also known to occur:\n", + "A suction pyrometer is a commonly used instrument for measuring gas phase temperatures in extemely hot environments (one example given [here](https://pubmed.ncbi.nlm.nih.gov/24248279/)). In these environments, it's quite typical to observe a large amount of radiative heat flux. This will typically dominate the heat transfer between the gas phase and an object. As a consequence, directly immersing a measurement device, such as a thermocouple or resistance temperature detector (RTD) into the process gas, will yield meaningless results. Moreover, an object left in this environment for a long period of time will increase in temperature until it too emits a significant amount of thermal radiation. So simply shielding a sensor isn't a viable solution either. This issue is circumvented by using a suction pyrometer. This device consistes of a small jacketing tube attached to a sensor (thermocouple or RTD) and a vacuum pump. By drawing gas through the tube, the jacket is cooled preventing emission, and allowing for a valid reading from the internal sensor. A picture is included below:\n", "\n", - "\n", + "\n", "\n", - "\n", + "The key design considerations behind the suction pyrometer are the superficial velocity and Biot number needed to ensure that the temperature rise of the process gas in the jacket is minimal. We'll construct a basic model of heat transfer in this tube and use it to determine adequate settings for reading our temperature range of interest. \n", "\n", - "The reactor is typically operated such at a hotspot occurs in the reactor, the reactor is stable (and in turn safe), and a high degree of selectivity and conversion is achieved. A number of process parameters including pressure, temperature, residence time, cooling rate, and feed composition may be manipulated to improve reactor productivity, selectivity, conversion, or overall profitability. We'll build a simulation (based on the model in this [paper](https://pubs.acs.org/doi/abs/10.1021/ie4005699).) to investigate the how using a graded catalyst may impact reactor performance. That is to say a reactor in which differing zones are loaded with catalyst of differing activity levels. This can allow the operator to raise the effective reactor temperature while preventing thermal runaway and maintaining adequate selectivity.\n", + "We'll consider a constant heat capacity gas which we're measuring using a 1ft (0.3048 m) by 0.25 inch (0.00635 m) diameter tube. Heat transfer at the wall surface is proportional to the temperature difference and characterized by the Biot number.\n", "\n", "## A basic descriptive model\n", "\n", - "A two-dimensional steady-state pseudohomogeneous packed bed reactor equations consist of a mass balance and an energy balance:\n", - "\n", - "\\\\[u_s\\frac{\\partial \\mathbf{c}}{\\partial z} = \\frac{D}{R}\\frac{\\partial}{\\partial R}\\left(R\\frac{\\partial \\mathbf{c}}{\\partial R}\\right) + \\sum_{i}{\\nu_{ij}r_i(\\mathbf{c},T)} \\\\]\n", - "\n", - "\\\\[u_s \\rho_{f} \\left(\\sum_{i}{C_{p,i}c_i}\\right) \\frac{\\partial T}{\\partial z} = \\frac{\\Lambda}{R}\\frac{\\partial}{\\partial R}\\left(R\\frac{\\partial T}{\\partial R}\\right) + \\sum_{i}{(-\\Delta H_{i})r_i(\\mathbf{c},T)} \\\\]\n", - "\n", - "were OX is denotes ortho-xylene, PA denotes phthalic anhydride and \n", - "\n", - "\\\\[j \\in \\{c_{OX,1}, c_{PA,1}, c_{H_2 O,1}, c_{O_2,1}, c_{CO_2,1}, c_{N_2}\\}\\\\].\n", - "\n", - "For a full review of different packed bed reactor models, the reader is directed to [this reference](https://ris.utwente.nl/ws/portalfiles/portal/6073612/t0000040.pdf).\n", + "A two-dimensional steady-state energy balance is given by:\n", "\n", - "
\n", - "Form of the above equations: The above equations are coupled convection-diffusion equations. One of the most commonly encountered forms in fluid mechanics.\n", - "
\n", - "\n", - "
\n", - "Limiting cases: Consider briefly under what conditions we might assume that these equations reduce to the Poisson or Laplace equations below.\n", - "
\n", + "\\\\[u_s C_{p} \\frac{\\partial T}{\\partial z} = \\frac{\\Lambda}{R}\\frac{\\partial}{\\partial R}\\left(R\\frac{\\partial T}{\\partial R}\\right), \\\\]\n", "\n", - "1. **Poisson Equation**: \\\\[\\nabla^2 x = f(x)\\\\]\n", - "2. **Laplace Equation**: \\\\[\\nabla^2 x = 0\\\\]\n", + "**Limiting cases:** Consider briefly under what conditions we might assume that this equation reduces to the Poisson or Laplace equations below.\n", "\n", - "Next, we assume a sufficient cooling flow exists to hold the reactor wall temperature constant at a fixed value of $T^c$. Then we can write a symmetry and cooling boundary condition:\n", + "1. **Poisson Equation:** \\\\[\\nabla^2 x = f(x) \\\\]\n", + "2. **Laplace Equation:** \\\\[\\nabla^2 x = 0 \\\\] \n", "\n", - "\\\\[\\left.\\frac{dT}{dR}\\right\\vert_{R=0} = 0 \\qquad \\qquad \\left.\\frac{dT}{dR}\\right\\vert_{R=R_t} = -Bi(T - T^c) \\\\]\n", - "\n", - "
\n", - "Note: The wall boundary condition ($R = R_t$) is of the Robin type and the symmetry condition ($R = 0$) is of the Neumann type.\n", - "
\n", + "Next, we assume a sufficient cooling flow exists to hold the reactor wall temperature constant at a fixed value of . Then, we can write a symmetry and cooling boundary condition:\n", "\n", - "We further assume that the reactor wall is impermeable to all species (and note that similar symmetry conditions should also hold):\n", + "\\\\[\\left.\\frac{\\partial T}{\\partial R}\\right\\vert_{R=0} = 0 \\qquad \\qquad \\left.\\frac{\\partial T}{\\partial R}\\right\\vert_{R=R_t} = -Bi(T - T^c) \\\\]\n", "\n", - "\\\\[\\left.\\frac{d\\mathbf{c}}{dR}\\right\\vert_{R=0} = 0 \\qquad \\qquad \\left.\\frac{d\\mathbf{c}}{dR}\\right\\vert_{R=R_t} = 0 \\\\]" + "Note that the symmetry condition (at $R = 0$) is of the Neumann type and the wall boundary condition (at $R = R_t$) is of the Robin type. " ] }, { @@ -88,43 +57,15 @@ "source": [ "## Further model development\n", "\n", - "- Assume the inlet stream is well-mixed.\n", - "\\\\[\\begin{align} \\mathbf{c}(z=0) &= \\mathbf{c}_{in} \\\\\n", - " T(z=0) &= T_{in} \\end{align}\\\\]\n", - " \n", - "
\n", - "Note: The inlet conditions are examples of Dirichlet boundary conditions.\n", - "
\n", - "\n", - "
\n", - "Activity! If the type of the boundary condition isn't immediate obvious take a moment and see if you can rearrange these equations into one of the below forms. \n", - "
\n", - "\n", - "1. **Dirichlet Boundary Condition**: \\\\[x = a\\\\] \n", - "2. **Neumann Boundary Condition**: \\\\[\\hat{n}\\cdot\\nabla x = f(x)\\\\]\n", - "3. **Robin Boundary Condition**: \\\\[\\hat{n}\\cdot\\nabla x + \\alpha x = f(x)\\\\]\n", + "Assume the inlet stream is well-mixed and at known temperature:\n", "\n", - "- All reactions are treated as pseudo-first-order. Each reaction rate may be written with relation to it's partial pressure which in turn is related to the concentration assuming an ideal gas equaton of state.\n", + "\\\\[\\mathbf T(z=0)=\\mathbf T_{in}. \\\\]\n", "\n", - "\\\\[r_1 = (\\sigma P_{O_2}\\rho_s) k_1 P_{OX} = k_1 (\\sigma \\rho_s)/(R_g T)^2 c_{O_2} c_{OX} \\\\]\n", - "\\\\[r_2 = (\\sigma P_{O_2}\\rho_s) k_2 P_{PA} = k_2 (\\sigma \\rho_s)/(R_g T)^2 c_{O_2} c_{PA} \\\\]\n", - "\\\\[r_3 = (\\sigma P_{O_2}\\rho_s) k_3 P_{OX} = k_3 (\\sigma \\rho_s)/(R_g T)^2 c_{O_2} c_{OX} \\\\]\n", - "\n", - "The rate constant can be calculated using the Arrhenius relationship as such\n", - "\n", - "\\\\[k_i = k_i^r \\exp{\\frac{E^r_i(T - T^r)}{T R_g T^r}}, \\qquad i = \\{1, 2, 3\\} \\\\]\n", - "\n", - "Individual component rates of change may then be written as:\n", - "\n", - "\\\\[\\begin{align} r_{OX} &= -r_1 + r_3 \\\\\n", - "r_{PA} &= r_1 - r_2 \\\\\n", - "r_{H_2 O} &= 3r_1 + 2r_2 + 5r_3 \\\\\n", - "r_{O_2} &= -3r_1 - 7.5r_2 + 10.5r_3 \\\\\n", - "r_{CO_2} &= 8r_2 + 8r_3 \\\\\n", - "r_{N_2} &= 0\n", - "\\end{align}\\\\]\n", - "\n", - "We omit a further discussion of model parameters in favor of including stating there values in the included code." + "This is because boundary conditions are known in the radial dimension and the system is fully specified at the reactor entrance for all variables (initial temperature).\n", + " \n", + "
\n", + "Note: This problem is treated as an IBVP and not a 2D BVP.\n", + "
" ] }, { @@ -146,17 +87,12 @@ "metadata": {}, "source": [ "### Method of Lines Derivation - Interior\n", - "Applying these rules to the mass balance for the interior nodes, we have \n", - "\n", - "\\\\[ \\left.\\frac{\\partial \\mathbf{c}}{\\partial z}\\right\\vert_{R=R_j} = u_s^{-1}\\left(\\frac{D}{R}\\frac{\\partial \\mathbf{c}}{\\partial R} + \\frac{\\partial^2 \\mathbf{c}}{\\partial R^2} + \\sum_{i}{\\nu_{ij}r_i(\\mathbf{c},T)}\\right) \\qquad j = 2, \\ldots, N_{r-1}\\\\]\n", - "\n", - "\\\\[ \\left.\\frac{d \\mathbf{c}_j}{d z}\\right\\vert_{R=R_j} = u_s^{-1}\\left(\\frac{D}{R}\\frac{\\mathbf{c}_{j+1} - \\mathbf{c}_{j-1}}{2\\Delta R} + D\\frac{\\mathbf{c}_{j+1} - 2\\mathbf{c}_{j} + \\mathbf{c}_{j-1}}{\\Delta R^2} + \\sum_{i}{\\nu_{ij}r_i(\\mathbf{c},T)}\\right) \\qquad j = 2, \\ldots, N_{r-1}\\\\]\n", + "Applying these rules to the energy balance for the interior nodes, where is the number of spatial nodes for discretizing the dimension, we have\n", "\n", - "Accordlingly, the temperature balance becomes\n", + "\\\\[\\frac{\\partial T}{\\partial z} = \\left(u_s C_P\\right)^{-1}\\left(\\frac{\\Lambda}{R}\\frac{\\partial}{\\partial R}\\left(R\\frac{\\partial T}{\\partial R}\\right)\\right) \\\\]\n", "\n", - "\\\\[\\left.\\frac{\\partial T}{\\partial z}\\right\\vert_{R=R_j} = \\left(u_s\\sum_{i}{f_{i}c_{pj}}\\right)^{-1}\\left(\\frac{\\Lambda}{R}\\frac{\\partial}{\\partial R}\\left(R\\frac{\\partial T}{\\partial R}\\right) + \\sum_{i}{(-\\Delta H_{i})r_i(\\mathbf{c},T)}\\right) \\qquad j = 2, \\ldots, N_{r-1} \\\\]\n", "\n", - "\\\\[ \\left.\\frac{d T}{d z}\\right\\vert_{R=R_j} = \\left(u_s\\sum_{i}{f_{i}c_{pj}}\\right)^{-1}\\left(\\frac{D}{R}\\frac{T_{j+1} - T_{j-1}}{2\\Delta R} + D\\frac{T_{j+1} - 2T_{j} + T_{j-1}}{\\Delta R^2} + \\sum_{i}{\\nu_{ij}r_i(\\mathbf{c},T)}\\right) \\qquad j = 2, \\ldots, N_{r-1}\\\\]" + "\\\\[\\left.\\frac{d T}{d z}\\right\\vert_{R=R_j} = \\left(u_s C_{p}\\right)^{-1}\\left(\\frac{D}{R}\\frac{T_{j+1} - T_{j-1}}{2\\Delta R} + D\\frac{T_{j+1} - 2T_{j} + T_{j-1}}{\\Delta R^2}\\right) \\qquad j = 2, \\ldots, N_{r-1} \\\\]" ] }, { @@ -164,20 +100,17 @@ "metadata": {}, "source": [ "### Method of Lines Derivation - Center\n", - "The discretization at the center node yeilds:\n", - "\\\\[ \\frac{d \\mathbf{c}_1}{d z} = u_s^{-1}\\left(\\frac{D}{R}\\frac{\\mathbf{c}_{2} - \\mathbf{c}_{0}}{2\\Delta R} + D\\frac{\\mathbf{c}_{2} - 2\\mathbf{c}_{1} + \\mathbf{c}_{0}}{\\Delta R^2} + \\sum_{i}{\\nu_{ij}r_i(c_1,T_1)}\\right)\\\\]\n", + "The discretization at the center node ($R=0, j=1$) yields: \n", "\n", - "from the boundary condition we have \\\\[\\frac{d \\mathbf{c}_1}{d R} = 0 \\rightarrow \\frac{\\mathbf{c}_{2} - \\mathbf{c}_{0}}{2\\Delta R} = 0 \\rightarrow \\mathbf{c}_{0} = \\mathbf{c}_{2}\\\\]. Substituting this in yeilds:\n", + "\\\\[\\frac{d T_1}{d z} = \\left(u_s C_P\\right)^{-1}\\left(\\frac{\\Lambda}{R}\\frac{T_{2} - T_{0}}{2\\Delta R} + \\Lambda \\frac{T_{2} - 2T_{1} + T_{0}}{\\Delta R^2}\\right).\\\\]\n", "\n", - "\\\\[ \\frac{d \\mathbf{c}_1}{d z} = u_s^{-1}\\left(\\frac{2D}{\\Delta R^2}(\\mathbf{c}_{2} - \\mathbf{c}_{1}) + \\sum_{i}{\\nu_{ij}r_i(\\mathbf{c}_1,T_1)}\\right)\\\\]\n", + "From the boundary condition we have \n", "\n", - "Accordingly for the energy balance we have:\n", + "\\\\[\\left.\\frac{\\partial T}{\\partial R}\\right|_{R=0} = 0 \\Rightarrow \\frac{T_{2} - T_{0}}{2\\Delta R} = 0 \\Rightarrow T_{0} = T_{2} \\\\]\n", "\n", - "\\\\[ \\frac{d T_1}{d z} = \\left(u_s\\sum_{i}{f_{i}c_{pj}}\\right)^{-1}\\left(\\frac{\\Lambda}{R}\\frac{T_{2} - T_{0}}{2\\Delta R} + \\Lambda \\frac{T_{2} - 2T_{1} + T_{0}}{\\Delta R^2} + \\sum_{i}{(-\\Delta H_{i})r_i(\\mathbf{c}_1,T_1)}\\right)\\\\]\n", + "Substituting this into the previous expression yields:\n", "\n", - "from the boundary condition we have \\\\[\\frac{d T_1}{d R} = 0 \\rightarrow \\frac{T_{2} - T_{0}}{2\\Delta R} = 0 \\rightarrow T_{0} = T_{2}\\\\]. Substituting this in yeilds:\n", - "\n", - "\\\\[ \\frac{d T_1}{d z} = \\left(u_s\\sum_{i}{f_{i}c_{pj}}\\right)^{-1}\\left(\\frac{2\\Lambda}{\\Delta R^2}(T_{2} - T_{1}) + \\sum_{i}{(-\\Delta H_{i})r_i(\\mathbf{c}_1,T_1)}\\right)\\\\]\n", + "\\\\[\\frac{d T_1}{d z} = \\left(u_s C_P\\right)^{-1}\\left(\\frac{2\\Lambda}{\\Delta R^2}(T_{2} - T_{1})\\right). \\\\]\n", "\n", "
\n", "Activity! This derivation proceeded by solving obtaining algebraic equations from the boundary condition, solving them analytically for the fictive node value, and then substituting this expression in. We could have instead solved a system of coupled differential and algebraic equations (referred to as a differential-algebraic system of equations or DAEs). In many cases, the algebraic equations formed may not have an analytic (closed form) solution and we must resort to solving DAEs. What type of boundary condition(s) may lead algebraic equations with no analytic solution?\n", @@ -190,639 +123,380 @@ "source": [ "### Method of Lines Derivation - Wall\n", "The discretization at the wall node yeilds:\n", - "\\\\[ \\frac{d \\mathbf{c}_R}{d z} = u_s^{-1}\\left(\\frac{D}{R}\\frac{\\mathbf{c}_{R+1} - \\mathbf{c}_{R-1}}{2\\Delta R} + D\\frac{\\mathbf{c}_{R+1} - 2\\mathbf{c}_{R} + \\mathbf{c}_{R-1}}{\\Delta R^2} + \\sum_{i}{\\nu_{ij}r_i(\\mathbf{c}_R,T_R)}\\right)\\\\]\n", - "\n", - "from the boundary condition we have \n", - "\n", - "\\\\[\\frac{d \\mathbf{c}_R}{d R} = 0 \\rightarrow \\frac{\\mathbf{c}_{R+1} - \\mathbf{c}_{R-1}}{2\\Delta R} = 0 \\rightarrow \\mathbf{c}_{R+1} = \\mathbf{c}_{R-1}.\\\\] \n", - "\n", - "Substituting this in yeilds:\n", - "\n", - "\\\\[ \\frac{d \\mathbf{c}_R}{d z} = u_s^{-1}\\left(\\frac{2D}{\\Delta R^2}(\\mathbf{c}_{R-1} - \\mathbf{c}_{R}) + \\sum_{i}{\\nu_{ij}r_i(\\mathbf{c}_R,T_R)}\\right)\\\\]\n", "\n", - "Accordingly for the energy balance we have:\n", + "\\\\[\\frac{d T_{N_r}}{d z} = \\left(u_s C_p\\right)^{-1}\\left(\\frac{\\Lambda}{R}\\frac{T_{N_{r+1}} - T_{N_{r-1}}}{2\\Delta R} + \\Lambda \\frac{T_{N_{r+1}} - 2T_{N_r} + T_{N_{r-1}}}{\\Delta R^2}\\right) \\\\]\n", "\n", - "\\\\[ \\frac{d T_R}{d z} = \\left(u_s\\sum_{i}{f_{i}\\mathbf{c}_{pj}}\\right)^{-1}\\left(\\frac{\\Lambda}{R}\\frac{T_{R+1} - T_{R-1}}{2\\Delta R} + \\Lambda \\frac{T_{R+1} - 2T_{R} + T_{R-1}}{\\Delta R^2} + \\sum_{i}{(-\\Delta H_{i})r_i(\\mathbf{c}_R,T_R)}\\right)\\\\]\n", + "From the boundary condition we have\n", "\n", - "from the boundary condition we have \n", + "\\\\[\\left.\\frac{\\partial T}{\\partial R}\\right|_{R=R_t} = 0 \\Rightarrow \\frac{T_{N_{r+1}} - T_{N_{r-1}}}{2\\Delta R} = -Bi(T_{N_r} - T^c) \\Rightarrow T_{N_{r+1}} = T_{N_{r-1}} -2Bi\\Delta R (T_{N_r} - T^c). \\\\]\n", "\n", - "\\\\[\\frac{d T_R}{d R} = 0 \\rightarrow \\frac{T_{R+1} - T_{R-1}}{2\\Delta R} = -Bi(T_R - T^c) \\rightarrow T_{R+1} = T_{R-1} -2Bi\\Delta R (T_R - T^c).\\\\]\n", - " \n", - "Substituting this in yeilds:\n", + "Substituting this in yields:\n", "\n", - "\\\\[ \\frac{d T_R}{d z} = \\left(u_s\\sum_{i}{f_{i}c_{pj}}\\right)^{-1}\\left(\\frac{Bi\\Lambda}{R}(T_{C} - T_{R}) + \\frac{2\\Lambda}{\\Delta R^2}(T_{R-1} - T_{R} + Bi\\Delta R (T_{C} - T_{R})) + \\sum_{i}{(-\\Delta H_{i})r_i(\\mathbf{c}_R,T_R)}\\right)\\\\]\n", + "\\\\[\\frac{d T_{N_r}}{d z} = \\left(u_s C_p\\right)^{-1}\\left(\\frac{Bi\\Lambda}{R}(T^c - T_{N_r}) + \\frac{2\\Lambda}{\\Delta R^2}(T_{N_{r-1}} - T_{N_r} + Bi\\Delta R (T^c - T_{N_r}))\\right). \\\\]\n", "\n", - "We now need to interlace the variables letting \\\\[ y = \\{T_1, c_{OX,1}, c_{PA,1}, c_{H_2 O,1}, c_{O_2,1}, c_{CO_2,1}, c_{N_2}, \\ldots, T_{N_R}, c_{OX,N_R}, c_{PA,N_R}, c_{H_2 O,N_R}, c_{O_2,N_R}, c_{CO_2,N_R}, c_{N_2,N_R}\\}\\\\]\n", - "\n", - "We'll now use a nonlinear equation solving package in Julia to write a simple a fixed-step size implicit Euler integration method (progressively, solving the below equation for $y_{z+1}$)\n", - "\n", - "\\\\[ y_{z+1} - y_z - \\Delta z f(z_{k+1}) = 0 \\\\]\n", + "We'll now use a ODE solver readily available in DifferentialEquations.jl to integrate the above system of differential equations.\n", "\n", "
\n", - "Activity! Take some time to look over the code for the residual. Where does the right-hand side of the ODE system appear? Note how the physical property calculations are implemented.\n", - "
\n" + "Activity! Manipulate the code below, to determine the superficial velocity at which a temperature rise of 2K is observed in the tube for gas temperatures ranging from 900 to 1000.\n", + "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "
" + "## Solution\n", + "\n", + "For simplicity's sake, we'll assume the following physical constants are valid over the range of interest (constant heat capacities, and thermal heat dispersion coefficients)." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# Input model parameters\n", + "tube_length = 0.3048 # tube length [m]\n", + "tube_radius = 0.00635/2 # radius [m]\n", + "\n", + "heat_coeff = 7.3871/3.6 # heat dispersion coefficient [J/(m s K)]\n", + "\n", + "Tc = 1400 # Tube temperature [K]\n", + "T0 = 900 # Gas design temperature [K] MANIPULATE THIS \n", + "biot_number = 0.001 # Biot number, Bi \n", + "\n", + "us = 0.1 # superficial flow rate (m/h) MANIPULATE THIS \n", + "Cp = 0.74 # pseudo heat capacity\n", + "\n", + "nr = 20 # number of discretization points in radial direction\n", + "delR = tube_radius/(nr - 1); " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "For simplicity sake, we'll assume the follow physical constants are valid over the range of interest (constant heat capacities, enthalpy of reaction, diffusion, and thermal heat dispersion coefficients but we'll allow reaction rate to vary with temperature." + "We'll use the adaptive step-size implicit Euler method built into DifferentialEquations.jl to solve the problem. You can read more about the built-in solvers and functionality for DifferentialEquations.jl [here](https://diffeq.sciml.ai/v2.0/). We first define the right-hand side function for the differential equation below. " ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 7, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "residual function defined\n" - ] + "data": { + "text/plain": [ + "f (generic function with 1 method)" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "#=\n", - "Define rhs of implicit Euler step.\n", - "=#\n", - "function residual!(out, y1, y2::Vector{W}, a, params) where W\n", - "\n", - " # unpack parameters\n", - " nr, nz, delR, delZ, catalyst_density, reactor_diam, biot_number,\n", - " Cp, delH, Tc, diff_coeff, heat_coeff, Rg, k_ref, E_ref, T_ref, us = params\n", - "\n", - " # compute step size\n", - " dr = 1/(nr - 1)\n", + "function f(out, y, p, t)\n", + " # Set up center boundary condition rhs equations\n", + " out[1] = (Cp*us)^(-1)*((2*heat_coeff/delR^2)*(y[3] - y[1]))\n", "\n", - " # preallocate storage\n", - " r_rxn = zeros(W,3)\n", - " r_prod = zeros(W,6)\n", - " k = zeros(W,3)\n", - "\n", - " # pollulate the rhs of the ODEs for the interior nodes\n", + " # Define interior node right-hand-side equations\n", " for i = 2:(nr-1)\n", - "\n", - " # get node radial position and temperature\n", - " r = (i-1)*nr\n", - " T = y2[7*(i-1) + 1]\n", - "\n", - " # compute reaction rate constant\n", - " k[1] = k_ref[1]*exp(E_ref[1]*(T - T_ref)/(T*Rg*T_ref))\n", - " k[2] = k_ref[2]*exp(E_ref[2]*(T - T_ref)/(T*Rg*T_ref))\n", - " k[3] = k_ref[3]*exp(E_ref[3]*(T - T_ref)/(T*Rg*T_ref))\n", - "\n", - " # compute reaction rate\n", - " r_rxn[1] = a*catalyst_density*k[1]*y2[7*(i-1) + 2]*y2[7*(i-1) + 5]\n", - " r_rxn[2] = a*catalyst_density*k[2]*y2[7*(i-1) + 3]*y2[7*(i-1) + 5]\n", - " r_rxn[3] = a*catalyst_density*k[3]*y2[7*(i-1) + 2]*y2[7*(i-1) + 5]\n", - "\n", - " # compute production rate\n", - " r_prod[1] = -r_rxn[1] - r_rxn[3]\n", - " r_prod[2] = r_rxn[1] - r_rxn[2]\n", - " r_prod[3] = 3.0*r_rxn[1] + 2.0*r_rxn[2] + 5.0*r_rxn[3]\n", - " r_prod[4] = -3.0*r_rxn[1] - 7.5*r_rxn[2] - 10.5*r_rxn[3]\n", - " r_prod[5] = 8.0*r_rxn[2] + 8.0*r_rxn[3]\n", - " r_prod[6] = 0.0\n", - "\n", - " # energy balance discretized equation\n", - " prefT = delZ*Cp*us\n", - " sourceT = zero(T)\n", - " for j = 1:3\n", - " sourceT += (-delH[j])*r_rxn[j]\n", - " end\n", - " Tp1 = y2[7*(i-1) + 8]\n", - " Tm1 = y2[7*(i-1) - 6]\n", - " term1 = heat_coeff*(Tp1 - Tm1)/(2*dr*r)\n", - " term2 = heat_coeff*(Tp1 - 2*T + Tm1)/dr^2\n", - " out[7*(i-1) + 1] = y2[7*(i-1) + 1] - y1[7*(i-1) + 1] + prefT*(term1 + term2 + sourceT)\n", - "\n", - " # mass balance discretized equations\n", - " prefC = delZ*us\n", - " for j = 0:5\n", - " Cp1 = y2[7*(i-1) + 9 + j]\n", - " C1 = y2[7*(i-1) + 2 + j]\n", - " Cm1 = y2[7*(i-1) - 5 + j]\n", - " term1 = diff_coeff*(Tp1 - Tm1)/(2*dr*r)\n", - " term2 = diff_coeff*(Tp1 - 2*T + Tm1)/dr^2\n", - " out[7*(i-1) + 2 + j] = y2[7*(i-1) + 2 + j] - y1[7*(i-1) + 2 + j] + prefC*(term1 + term2 + r_prod[6 - j])\n", - " end\n", - " end\n", - "\n", - " # pollulate the rhs of the ODEs for the center nodes\n", - " T = y2[1]\n", - "\n", - " # compute reaction rate constant\n", - " k[1] = k_ref[1]*exp(E_ref[1]*(T - T_ref)/(T*Rg*T_ref))\n", - " k[2] = k_ref[2]*exp(E_ref[2]*(T - T_ref)/(T*Rg*T_ref))\n", - " k[3] = k_ref[3]*exp(E_ref[3]*(T - T_ref)/(T*Rg*T_ref))\n", - "\n", - " # compute reaction rate\n", - " r_rxn[1] = a*catalyst_density*k[1]*y2[2]*y2[5]\n", - " r_rxn[2] = a*catalyst_density*k[2]*y2[3]*y2[5]\n", - " r_rxn[3] = a*catalyst_density*k[3]*y2[2]*y2[5]\n", - "\n", - " # compute production rate\n", - " r_prod[1] = -r_rxn[1] - r_rxn[3]\n", - " r_prod[2] = r_rxn[1] - r_rxn[2]\n", - " r_prod[3] = 3.0*r_rxn[1] + 2.0*r_rxn[2] + 5.0*r_rxn[3]\n", - " r_prod[4] = -3.0*r_rxn[1] - 7.5*r_rxn[2] - 10.5*r_rxn[3]\n", - " r_prod[5] = 8.0*r_rxn[2] + 8.0*r_rxn[3]\n", - " r_prod[6] = 0.0\n", - "\n", - " # energy balance discretized equation\n", - " prefT = delZ*Cp*us\n", - " sourceT = zero(T)\n", - " for i = 1:3\n", - " sourceT += (-delH[i])*r_rxn[i]\n", - " end\n", - " out[1] = y2[1] - y1[1] + prefT*((2*heat_coeff/dr^2)*(y2[8] - T) + sourceT)\n", - "\n", - " # mass balance discretized equations\n", - " prefC = delZ*us\n", - " for i = 0:5\n", - " CR1 = y2[i + 9]\n", - " CR = y2[i + 2]\n", - " out[i + 2] = y2[i + 2] - y1[i + 2] + prefC*((2*diff_coeff/dr^2)*(CR1 - CR) + r_prod[6 - i])\n", + " r = i*delR; # get node radial position\n", + " # energy balance discretized equation \n", + " out[i] = (heat_coeff*(Cp*us)^-1)*((y[i+1] - y[i])/(2*delR*r) + (y[i+1] - 2*y[i] + y[i-1])/delR^2)\n", " end\n", "\n", - " # pollulate the rhs of the ODEs for the walls nodes\n", - " T = y2[7*nr - 6]\n", - "\n", - " # compute reaction rate constant\n", - " k[1] = k_ref[1]*exp(E_ref[1]*(T - T_ref)/(T*Rg*T_ref))\n", - " k[2] = k_ref[2]*exp(E_ref[2]*(T - T_ref)/(T*Rg*T_ref))\n", - " k[3] = k_ref[3]*exp(E_ref[3]*(T - T_ref)/(T*Rg*T_ref))\n", - "\n", - " # compute reaction rate\n", - " r_rxn[1] = a*catalyst_density*k[1]*y2[1]*y2[4]\n", - " r_rxn[2] = a*catalyst_density*k[2]*y2[2]*y2[4]\n", - " r_rxn[3] = a*catalyst_density*k[3]*y2[1]*y2[4]\n", - "\n", - " # compute production rate\n", - " r_prod[1] = -r_rxn[1] - r_rxn[3]\n", - " r_prod[2] = r_rxn[1] - r_rxn[2]\n", - " r_prod[3] = 3.0*r_rxn[1] + 2.0*r_rxn[2] + 5.0*r_rxn[3]\n", - " r_prod[4] = -3.0*r_rxn[1] - 7.5*r_rxn[2] - 10.5*r_rxn[3]\n", - " r_prod[5] = 8.0*r_rxn[2] + 8.0*r_rxn[3]\n", - " r_prod[6] = 0.0\n", - "\n", - " # energy balance discretized equation\n", - " prefT = delZ*Cp*us\n", - " sourceT = zero(T)\n", - " for i = 1:3\n", - " sourceT += (-delH[i])*r_rxn[i]\n", - " end\n", - " TR_m_1 = y2[7*nr - 13]\n", - " term1 = (biot_number*heat_coeff/reactor_diam)*(Tc - T)\n", - " term2 = (2*heat_coeff/dr^2)*(TR_m_1 - T + biot_number*dr*(Tc - T))\n", - " out[7*nr - 6] = y2[7*nr - 6] - y1[7*nr - 6] + prefT*(term1 + term2 + sourceT)\n", - "\n", - " # mass balance discretized equations\n", - " prefC = delZ*us\n", - " for i = 0:5\n", - " CR1 = y2[7*nr - i]\n", - " CR = y2[7*(nr-1) - i]\n", - " out[7*nr - i] = y2[7*nr - i] - y1[7*nr - i] + prefC*((2*diff_coeff/dr^2)*(CR1 - CR) + r_prod[6 - i])\n", - " end\n", - "\n", - " return nothing\n", - "end\n", - "\n", - "println(\"residual function defined\")" + " # Set up wall boundary condition rhs equations\n", + " r = (nr-1)*delR\n", + " out[nr] = (2*heat_coeff*(Cp*us)^(-1))*(y[nr - 1]/delR^2 - y[nr]*(biot_number*(1/r + 1/delR) + 1/delR^2) + \n", + " biot_number*(1/(2*r) + 1/delR)*Tc)\n", + " return \n", + "end" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We'll use an off the shelf implementation of Newton's method through the package NLSolve.jl. " + "Now we build and solve the corresponding ODEs problem. \n", + "\n", + "
\n", + "Note: If this is your first time using DifferentialEquations.jl or Plots.jl some time may be spent precompiling. So taking a coffee break after clicking run on the below cell wouldn't be ill-advised.\n", + "
" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "\u001b[32m\u001b[1m Updating\u001b[22m\u001b[39m registry at `C:\\Users\\wilhe\\.julia\\registries\\General`\n", "\u001b[32m\u001b[1m Resolving\u001b[22m\u001b[39m package versions...\n", "\u001b[32m\u001b[1mNo Changes\u001b[22m\u001b[39m to `C:\\Users\\wilhe\\Project.toml`\n", - "\u001b[32m\u001b[1mNo Changes\u001b[22m\u001b[39m to `C:\\Users\\wilhe\\Manifest.toml`\n" + "\u001b[32m\u001b[1mNo Changes\u001b[22m\u001b[39m to `C:\\Users\\wilhe\\Manifest.toml`\n", + "\u001b[32m\u001b[1m Resolving\u001b[22m\u001b[39m package versions..." ] }, { "name": "stdout", "output_type": "stream", "text": [ - "defined integration scheme\n" + "ODE Integrated" ] - } - ], - "source": [ - "import Pkg; Pkg.add(\"NLsolve\")\n", - "using NLsolve\n", - "\n", - "function activity_profile(v)\n", - " if v < 0.25\n", - " return 0.9 # keep between 0.9 and 1.0\n", - " elseif v < 1.0\n", - " return 0.7\n", - " elseif v < 1.5\n", - " return 1.0\n", - " end\n", - " return 1.0\n", - "end\n", - "\n", - "function nonlinear_step_solve!(out, indx, z, initial_y, params)\n", - " a = activity_profile(z)\n", - " residual_func! = (out, y2) -> residual!(out, initial_y, y2, a, params)\n", - " result = nlsolve(residual_func!, initial_y, autodiff = :forward, method = :newton)\n", - " out[indx,:] = result.zero\n", - " return nothing\n", - "end\n", - "\n", - "function integrate_ODEs!(out, initial_y, params)\n", - " nr, nz, delR, delZ, catalyst_density, reactor_diam, biot_number,\n", - " Cp, delH, Tc, diff_coeff, heat_coeff, Rg, k_ref, E_ref, T_ref, us = params\n", - " z = 0.0\n", - " out[1,:] = initial_y # store initial condition\n", - " for indx = 2:nz\n", - " z += delZ # advance axial dimension value\n", - " nonlinear_step_solve!(out, indx, z, out[indx-1,:], params) # perform a nonlinear solve for next step\n", - " end\n", - " return nothing\n", - "end\n", - "\n", - "println(\"defined integration scheme\")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ + }, { - "name": "stdout", + "name": "stderr", "output_type": "stream", "text": [ - "parameter defined\n", - "ODE integrated\n" + "\n", + "\u001b[32m\u001b[1mNo Changes\u001b[22m\u001b[39m to `C:\\Users\\wilhe\\Project.toml`\n", + "\u001b[32m\u001b[1mNo Changes\u001b[22m\u001b[39m to `C:\\Users\\wilhe\\Manifest.toml`\n" ] - } - ], - "source": [ - "# set up discretization points\n", - "nr = 20 # number of discretization points in radial direction\n", - "nz = 80 # number of discretization points in axial direction\n", - "\n", - "# set reactor design parameters\n", - "reactor_length = 3 # length of reactor \n", - "reactor_diam = 0.0254 # diameter of reactor \n", - "\n", - "delR = reactor_diam/(nr - 1)\n", - "delZ = reactor_length/(nz - 1)\n", - "\n", - "# Input model parameters\n", - "k_ref = [6.519E-2; 5.698E-3; 6.442E-3] # Reaction rate at refence temperature\n", - "E_ref = [113.57; 129.71; 119.68] # Activation energy at reference temperature\n", - "T_ref = 600 # Reference temperature\n", - "Rg = 8.3144*1000 # ideal gas constant\n", - "\n", - "catalyst_density = 1300 # Density of packed catalytic material\n", - "diff_coeff = 0.5\n", - "heat_coeff = 7.3871 # heat dispersion coefficient\n", - "\n", - "Tc = 323.15 # 50C water used for cooling\n", - "T0 = 625\n", - "biot_number = 1.6 # Biot number, Bi\n", - "\n", - "us = 0.8\n", - "Cp = 0.992 # approximate\n", - "delH = [-1.361; -14.329; -18.809]*1000 # heat of reaction\n", - "\n", - "# define initial condition\n", - "feed_rate = 0.174 # total molar feed rate\n", - "feed_conc_split = [0.011; 0.208; 0.781; 0.0; 0.0; 0.0] # mole fraction\n", - "\n", - "initial_y = zeros(7*nr) # create vector of zeros\n", - "for i = 1:nr\n", - " initial_y[7*(i-1) + 1] = T0\n", - " initial_y[7*(i-1) + 2] = feed_conc_split[1]*feed_rate\n", - " initial_y[7*(i-1) + 3] = feed_conc_split[2]*feed_rate\n", - " initial_y[7*(i-1) + 4] = feed_conc_split[3]*feed_rate # only assign nonzero values\n", - "end\n", - "\n", - "# specify parameters\n", - "params = nr, nz, delR, delZ, catalyst_density, reactor_diam, biot_number,\n", - "Cp, delH, Tc, diff_coeff, heat_coeff, Rg, k_ref, E_ref, T_ref, us\n", - "\n", - "println(\"parameter defined\")\n", - "\n", - "# preallocate storage\n", - "out = zeros(nz, 7*nr)\n", - "\n", - "# solve the system\n", - "integrate_ODEs!(out, initial_y, params)\n", - "\n", - "println(\"ODE integrated\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Extract coupled values and generate 2D plot" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ + }, { "name": "stdout", "output_type": "stream", "text": [ - "properties extracted\n" + "\n" ] } ], "source": [ - "function extract_values(out, nr, nz)\n", - " T = zeros(nr,nz)\n", - " cOX = zeros(nr,nz)\n", - " cPA = zeros(nr,nz)\n", - " cH2O = zeros(nr,nz)\n", - " cO2 = zeros(nr,nz)\n", - " cCO2 = zeros(nr,nz)\n", - " cN2 = zeros(nr,nz)\n", - " for i = 1:nr\n", - " for j = 1:nz\n", - " T[i,j] = out[j, 7*(i-1) + 1]\n", - " cOX[i,j] = out[j, 7*(i-1) + 2]\n", - " cPA[i,j] = out[j, 7*(i-1) + 3]\n", - " cH2O[i,j] = out[j, 7*(i-1) + 4]\n", - " cO2[i,j] = out[j, 7*(i-1) + 5]\n", - " cCO2[i,j] = out[j, 7*(i-1) + 6]\n", - " cN2[i,j] = out[j, 7*(i-1) + 7]\n", - " end\n", - " end\n", - " return T, cOX, cPA, cH2O, cO2, cCO2, cN2\n", - "end\n", - "\n", - "T, cOX, cPA, cH2O, cO2, cCO2, cN2 = extract_values(out, nr, nz)\n", + "import Pkg; Pkg.add(\"DifferentialEquations\"); Pkg.add(\"Plots\")\n", + "using DifferentialEquations\n", "\n", - "println(\"properties extracted\")" + "y0 = [T0 for i = 1:nr] # set initial condition to inlet temperature\n", + "prob = ODEProblem(f, y0, (0, tube_length)) # create an ODE problem and solve it\n", + "sol = solve(prob)\n", + "println(\"ODE Integrated\") # Displays when complete" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "We now generate a plot of the centerline temperature versus position. If Plots.jl hasn't been installed yet this may take some time." + "We now generate a plot of the centerline temperature versus position. If Plots.jl hasn't been used before yet this may also take some time." ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 15, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "\u001b[32m\u001b[1m Resolving\u001b[22m\u001b[39m package versions...\n", - "\u001b[32m\u001b[1mNo Changes\u001b[22m\u001b[39m to `C:\\Users\\wilhe\\Project.toml`\n", - "\u001b[32m\u001b[1mNo Changes\u001b[22m\u001b[39m to `C:\\Users\\wilhe\\Manifest.toml`\n" - ] - }, { "data": { "image/svg+xml": [ "\n", "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", "\n", - " \n", + " \n", " \n", " \n", "\n", - "\n", "\n", - " \n", - " \n", + " \n", + " \n", " \n", "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n" + "\n", + "\n", + "\n", + "\n" ] }, - "execution_count": 9, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "import Pkg; Pkg.add(\"Plots\")\n", "using Plots\n", - "\n", - "Tcenter = [T[1,i] for i in 1:nz]\n", - "zpnt = [i for i in range(0.0, reactor_length, length = nz)]\n", - "plot(zpnt, Tcenter, label=\"\", linealpha = 0.5, marker = (:hexagon, 2, 0.6, :green))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "Activity! In the below box, compute the average temperature, concentrations, and then conversion at each spatial position. Next try, to modifying the activity_profile and re-running the example. Can you pick out can clear trend in the behavior of the system with respect to temperature/conversion with respect to activity profile?\n", - "
" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If you manipulated this example substantially, you may have discovered that some of the simulation results you reached were not physically meaningful. Large oscillations may be observed or even negative values. This is actually expected behavior for many PDE systems which may require specialized discretization methods to be dealt with (such as those encountered in [this reference]((https://ris.utwente.nl/ws/portalfiles/portal/6073612/t0000040.pdf))). Alternatively, one can formulate this simulation as an optimization problem (which can accept constraints such as nonnegative concentration). This later approach can be of particular interest when we are attempting to choose design/process parameters from a broad set of possibility in which many options are invalid." + "plot(sol, label=\"Centerline Temperature\", legend=:bottomright, vars = 1)" ] }, { diff --git a/tutorial/julia/Tutorial 5 - Partial Differential Equations/pyrometer_pde_pic.png b/tutorial/julia/Tutorial 5 - Partial Differential Equations/pyrometer_pde_pic.png new file mode 100644 index 0000000000000000000000000000000000000000..3b8f136a49f688bbaddf8603c82ae76c99d543f6 GIT binary patch literal 25288 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 literal 0 HcmV?d00001 diff --git a/tutorial/julia/Tutorial 5 - Partial Differential Equations/react1edited.png b/tutorial/julia/Tutorial 5 - Partial Differential Equations/react1edited.png deleted file mode 100644 index 04bd482d2d887625f2e85384cc7f7c6b050e2624..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12658 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 P5?JcW_Yq}qWXS&kI+Uz; diff --git a/tutorial/julia/Tutorial 5 - Partial Differential Equations/react2edited.png b/tutorial/julia/Tutorial 5 - Partial Differential Equations/react2edited.png deleted file mode 100644 index e489b5d20ffb24910948a23ff709d3e9061b4ea1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43359 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 dK142p6{#EQ4{g^jnYBv5;0{};bnVOanG diff --git a/tutorial/julia/Tutorial 5 - Partial Differential Equations/react3edited.png b/tutorial/julia/Tutorial 5 - Partial Differential Equations/react3edited.png deleted file mode 100644 index 8a264dcd10fdc7d533785e24b711780b28d56c23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3947 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 Y>{_HiXALH|M(~f@$pkj*Qb!xK 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 V1`hr|>yZDIzJG_u|M^ev{{Y=Fiar1U