Skip to content

Commit 0d8ec63

Browse files
committed
Minor fixes
1 parent 832e5da commit 0d8ec63

File tree

2 files changed

+35
-31
lines changed

2 files changed

+35
-31
lines changed

book/content/modelling/09_pyrolysis/01_fundamentals.ipynb

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"\n",
1313
"## Studying pyrolysis with the TGA\n",
1414
"\n",
15-
"A thermogravimetric analyser (TGA) is often used to study pyrolysis. In a tga the mass of the sample is so small (usually between 5 to 10 mg) that it is assumed that heat and mass transfer can be neglected. A picture of a tga device can be seen in {numref}`fig-pyrolysis-TGA`.\n",
15+
"A thermogravimetric analyser (TGA) is often used to study pyrolysis. In a tga the mass of the sample is so small (usually between $\\mf 5~mg$ to $\\mf 10~mg$) that it is assumed that heat and mass transfer can be neglected. A picture of a tga device can be seen in {numref}`fig-pyrolysis-TGA`.\n",
1616
"\n",
1717
":::{figure-md} fig-pyrolysis-TGA\n",
1818
"\n",
@@ -21,7 +21,7 @@
2121
"TGA\n",
2222
":::\n",
2323
"\n",
24-
"In a TGA a small amount of sample mass is placed in a crucible. This crucible is placed in the TGA. During the measurement the device will heat with a specified heating rate (e.g. 5K/min), while the mass loss of the sample is measured. This can be done under different atmospheres, typically experiments are done either under inert atmosphere (e.g. nitrogen or argon) or under synthetic air. The measurement will give the mass loss as function of time. This can be used to determine the massloss rate as function of temperature, which can be used to determine the kinetic parameters of the material. \n",
24+
"In a TGA a small amount of sample mass is placed in a crucible. This crucible is placed in the TGA. During the measurement the device will heat with a specified heating rate (e.g. $\\mf 5~K/min$), while the mass loss of the sample is measured. This can be done under different atmospheres, typically experiments are done either under inert atmosphere (e.g. nitrogen or argon) or under synthetic air. The measurement will give the mass loss as function of time. This can be used to determine the massloss rate as function of temperature, which can be used to determine the kinetic parameters of the material. \n",
2525
"\n",
2626
"\n",
2727
":::{figure-md} fig-pyrolysis-TGA_1\n",
@@ -48,14 +48,14 @@
4848
"\n",
4949
"To describe a pyrolysis process Arrhenius equations are usually used. Suppose an amount of one specific material (X) is completly converted to gaseous fuel with one reaction. This pyrolysis reaction can than be described by a rate equation and the Arrhenius equation:\n",
5050
"\n",
51-
"$$\\mf -\\frac{dX}{dt} = kX^n$$\n",
51+
"$$\\mf \\frac{dX}{dt} = - kX^n$$\n",
5252
"\n",
5353
"$$\\mf k = A e^{\\frac{-E_a}{RT}}$$\n",
5454
"\n",
55-
"where k is the rate constant and X is the amount of material that takes part in the reaction. The kinetic parameters are \n",
55+
"where $\\mf k$ is the rate constant and $\\mf X$ is the amount of material that takes part in the reaction. The kinetic parameters are \n",
5656
"* $\\mf E_a$: activation energy\n",
57-
"* A: pre-exponential factor\n",
58-
"* n: reaction order\n",
57+
"* $\\mf A$: pre-exponential factor\n",
58+
"* $\\mf n$: reaction order\n",
5959
"\n"
6060
]
6161
},
@@ -64,11 +64,11 @@
6464
"id": "58d4f616",
6565
"metadata": {},
6666
"source": [
67-
"## Modeling with fds \n",
67+
"## Modeling with FDS \n",
6868
"\n",
6969
"There are several ways to model pyrolysis in fds. The simplest way is to specify the heat release rate. In this case the pyrolising sample will be modeled as ejection of gaseous fuel from the surface. \n",
7070
"\n",
71-
"However fds, also allows for more complex pyrolysis modelling. Every material described in the fds input file can undergo multiple reactions. The amount of reactions should be specified by N_REACTIONS for every material. For every single reaction the reaction parameters, the created solid material, the released gas species,... should be specified in the input file.\n",
71+
"However fds, also allows for more complex pyrolysis modelling. Every material described in the fds input file can undergo multiple reactions. The amount of reactions should be specified by `N_REACTIONS` for every material. For every single reaction the reaction parameters, the created solid material, the released gas species, and others should be specified in the input file.\n",
7272
"\n",
7373
"For each reaction the kinetic parameters need to be specified. The general evolution equation is given by: \n",
7474
"\n",
@@ -87,8 +87,8 @@
8787
"where:\n",
8888
"* $\\mf r_{ij}$ : rate of reaction at the tempeature T_s of the ith material undergoing the jth reaction\n",
8989
"* $\\mf \\nu_{s, i'j}$ : yield of production of material i by other reactions\n",
90-
"* $\\mf\\rho_{s,i}$ : density of the ith matierial of the layer\n",
91-
"* $\\mf\\rho_s(0)$ : original density of the layer\n",
90+
"* $\\mf \\rho_{s,i}$ : density of the ith matierial of the layer\n",
91+
"* $\\mf \\rho_s(0)$ : original density of the layer\n",
9292
"* $\\mf X_{O_2}$ : local oxygen volume fraction\n"
9393
]
9494
},
@@ -117,7 +117,7 @@
117117
"name": "python",
118118
"nbconvert_exporter": "python",
119119
"pygments_lexer": "ipython3",
120-
"version": "3.8.5"
120+
"version": "3.8.9"
121121
}
122122
},
123123
"nbformat": 4,

book/content/modelling/09_pyrolysis/02_example.ipynb

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
"source": [
1010
"# Example - Gasification of PMMA \n",
1111
"\n",
12-
"The cone calorimeter is one of the experimental set-ups used in fire safety science. A picture of a cone calorimeter can be seen in figure {numref}`fig-pyrolysis-Cone`. A sample is placed under a cone shaped heater. The heater will induce a certain heat flux to the sample, causing the sample to pyrolyse or to burn. During the experiment the mass loss of the sample is measured. Additionally a gasanalyser is used to measure the CO, CO$_2$ amd O$_2$ concentrations released/consumed by the sample. This allows for the determination of the heat release rate of the sample by the Janssens method. Usually the sample is placed in a holder with frame. The space between the bottom of the holder and the sample is usually filled with isolation, although experiments with other filling materials are also possible. \n",
12+
"The cone calorimeter is one of the experimental set-ups used in fire safety science. A picture of a cone calorimeter can be seen in figure {numref}`fig-pyrolysis-cone`. A sample is placed under a cone shaped heater. The heater will induce a certain heat flux to the sample, causing the sample to pyrolyse or to burn. During the experiment the mass loss of the sample is measured. Additionally a gasanalyser is used to measure the $\\mf CO$, $\\mf CO_2$ amd $\\mf O_2$ concentrations released/consumed by the sample. This allows for the determination of the heat release rate of the sample by the Janssens method. Usually the sample is placed in a holder with frame. The space between the bottom of the holder and the sample is usually filled with isolation, although experiments with other filling materials are also possible. \n",
1313
"\n",
14-
":::{figure-md} fig-pyrolysis-Cone\n",
14+
":::{figure-md} fig-pyrolysis-cone\n",
1515
"<img src=\"figs/Cone.PNG\" width=\"30%\">\n",
1616
"\n",
1717
"Cone calorimeter\n",
@@ -29,22 +29,22 @@
2929
"source": [
3030
"## Task 1 \n",
3131
"\n",
32-
"For simulating the gasification experiment, the following fds file will be used as a starting point: {download}`Gasification.fds`, more information on this set-up can be found in the fds userguide part 11.5. Instead of describing the reaction parameters by A and E, we will use the parameter REFERENCE_TEMPERATURE. This is the temperature at which the main reaction peak is located, as is indicated in figure {numref}`fig-fds-parameter-REFERENCE_TEMPERATURE`. FDS will than calculate A and E based on this temperature.\n",
32+
"For simulating the gasification experiment, the following fds file will be used as a starting point: {download}`Gasification.fds`, more information on this set-up can be found in the FDS user guide (section 11.5)s. Instead of describing the reaction parameters by A and E, we will use the parameter `REFERENCE_TEMPERATURE`. This is the temperature at which the main reaction peak is located, as is indicated in figure {numref}`fig-fds-parameter-REFERENCE_TEMPERATURE`. FDS will than calculate A and E based on this temperature.\n",
3333
"\n",
3434
":::{figure-md} fig-fds-parameter-REFERENCE_TEMPERATURE\n",
3535
"<img src=\"figs/fds.PNG\" width=\"40%\">\n",
3636
"\n",
37-
"fds parameter REFERENCE_TEMPERATURE.\n",
37+
"fds parameter REFERENCE_TEMPERATURE. Source: {cite}`FDS-UG-6.7.5`.\n",
3838
":::\n",
3939
"\n",
40-
"* Use the provided TGA data, to determine the reference temperature and rate. For this part of the task you only have to take into account the main peak. Note: the total mass of the sample was 8.45 mg.\n",
40+
"* Use the provided TGA data, to determine the reference temperature and rate. For this part of the task you only have to take into account the main peak. Note: the total mass of the sample was $\\mf 8.45~mg$.\n",
4141
" * The TGA data is the raw data, in order to determine the maximum temperature, you will first have to calculate the massloss rate.\n",
4242
"* Use your calculated values as input parameters for your simulation \n",
4343
" * You can no longer specify A and E, because fds will use the temperature to determine pre-exponential factor and the activitation energy. \n",
4444
"* Before comparing you gasifications results with the experimental results from the Aalto university, compare the TGA data you get from the simulation with the original TGA data. This can be done by specifying the following parameters in the SURF line:\n",
45-
" * TGA_ANALYSIS = T\n",
46-
" * TGA_HEATING_RATE = 10\n",
47-
" * When you run the simulation in the terminal, you will get the following: 'STOP: TGA analysis only (CHID: pmma_example)'. This is correct it means your simulation is done now. \n",
45+
" * `TGA_ANALYSIS = .TRUE.`\n",
46+
" * `TGA_HEATING_RATE = 10`\n",
47+
" * When you run the simulation in the terminal, you will get the following: `STOP: TGA analysis only (CHID: pmma_example)`. This is correct it means your simulation is done now. \n",
4848
"* Compare the gasification simulation with the Aalto data "
4949
]
5050
},
@@ -54,7 +54,7 @@
5454
"id": "7925b5cf",
5555
"metadata": {
5656
"tags": [
57-
"remove_input"
57+
"hide_input"
5858
]
5959
},
6060
"outputs": [
@@ -130,15 +130,15 @@
130130
"TGA_data['massloss_rate'] = (-1)*np.gradient(TGA_data['Normalized_mass'], TGA_data['Time(s)'])\n",
131131
"plt.figure()\n",
132132
"plt.plot(TGA_data['Temperature(C)'], TGA_data['Normalized_mass'])\n",
133-
"plt.ylabel('Normalized mass')\n",
134-
"plt.xlabel('Temperature (˚C)')\n",
133+
"plt.ylabel('Normalized Mass')\n",
134+
"plt.xlabel('Temperature / ˚C')\n",
135135
"plt.grid()\n",
136136
"plt.plot()\n",
137137
"\n",
138138
"plt.figure()\n",
139139
"plt.plot(TGA_data['Temperature(C)'],TGA_data['massloss_rate'])\n",
140-
"plt.ylabel('Massloss rate (1/s)')\n",
141-
"plt.xlabel('Temperature (˚C)')\n",
140+
"plt.ylabel('Massloss Rate / 1/s')\n",
141+
"plt.xlabel('Temperature / ˚C')\n",
142142
"plt.ylim(-0.001, 0.004)\n",
143143
"plt.grid()\n",
144144
"plt.plot()\n",
@@ -153,10 +153,14 @@
153153
"\n",
154154
"plt.figure()\n",
155155
"plt.plot(TGA_data['Time(s)'], TGA_data['Temperature(C)'])\n",
156+
"plt.xlabel('Time / s')\n",
157+
"plt.ylabel('Temperature / ˚C')\n",
156158
"plt.grid()\n",
157159
"\n",
158160
"plt.figure()\n",
159161
"plt.plot(TGA_data['Time(s)'], 60*np.gradient(TGA_data['Temperature(C)'], TGA_data['Time(s)']))\n",
162+
"plt.xlabel('Time / s')\n",
163+
"plt.ylabel('Heating Rate / K/min')\n",
160164
"plt.grid()"
161165
]
162166
},
@@ -166,7 +170,7 @@
166170
"id": "dea3be5e",
167171
"metadata": {
168172
"tags": [
169-
"remove_input"
173+
"hide_input"
170174
]
171175
},
172176
"outputs": [
@@ -190,8 +194,8 @@
190194
"plt.figure()\n",
191195
"plt.plot(TGA_data['Temperature(C)'],TGA_data['massloss_rate'], label = 'exp')\n",
192196
"plt.plot(TGA_sim1['Temp'],TGA_sim1['Total MLR'], label = 'sim')\n",
193-
"plt.ylabel('Massloss rate (1/s)')\n",
194-
"plt.xlabel('Temperature (˚C)')\n",
197+
"plt.ylabel('Mass Loss Rate / 1/s')\n",
198+
"plt.xlabel('Temperature / ˚C')\n",
195199
"plt.ylim(-0.001, 0.008)\n",
196200
"plt.legend()\n",
197201
"plt.grid()\n",
@@ -205,7 +209,7 @@
205209
"id": "6edf1d09",
206210
"metadata": {
207211
"tags": [
208-
"remove_input"
212+
"hide_input"
209213
]
210214
},
211215
"outputs": [
@@ -234,8 +238,8 @@
234238
"plt.figure()\n",
235239
"plt.plot(Aal['Time'],((-1)*np.gradient(Aal['Mass'], Aal['Time']))*0.1, label='exp')\n",
236240
"plt.plot(Gas_sim1['Time'],Gas_sim1['MF'], label='sim')\n",
237-
"plt.ylabel('Massloss rate (kg/s/m^2)')\n",
238-
"plt.xlabel('Temperature (˚C)')\n",
241+
"plt.ylabel('Mass Loss Rate / kg/s/m^2')\n",
242+
"plt.xlabel('Temperature / ˚C')\n",
239243
"plt.ylim(-0.01,0.07)\n",
240244
"plt.grid()\n",
241245
"plt.plot()\n",
@@ -268,7 +272,7 @@
268272
"name": "python",
269273
"nbconvert_exporter": "python",
270274
"pygments_lexer": "ipython3",
271-
"version": "3.8.5"
275+
"version": "3.8.9"
272276
}
273277
},
274278
"nbformat": 4,

0 commit comments

Comments
 (0)