|
9 | 9 | "source": [ |
10 | 10 | "# Example - Gasification of PMMA \n", |
11 | 11 | "\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", |
13 | 13 | "\n", |
14 | | - ":::{figure-md} fig-pyrolysis-Cone\n", |
| 14 | + ":::{figure-md} fig-pyrolysis-cone\n", |
15 | 15 | "<img src=\"figs/Cone.PNG\" width=\"30%\">\n", |
16 | 16 | "\n", |
17 | 17 | "Cone calorimeter\n", |
|
29 | 29 | "source": [ |
30 | 30 | "## Task 1 \n", |
31 | 31 | "\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", |
33 | 33 | "\n", |
34 | 34 | ":::{figure-md} fig-fds-parameter-REFERENCE_TEMPERATURE\n", |
35 | 35 | "<img src=\"figs/fds.PNG\" width=\"40%\">\n", |
36 | 36 | "\n", |
37 | | - "fds parameter REFERENCE_TEMPERATURE.\n", |
| 37 | + "fds parameter REFERENCE_TEMPERATURE. Source: {cite}`FDS-UG-6.7.5`.\n", |
38 | 38 | ":::\n", |
39 | 39 | "\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", |
41 | 41 | " * The TGA data is the raw data, in order to determine the maximum temperature, you will first have to calculate the massloss rate.\n", |
42 | 42 | "* Use your calculated values as input parameters for your simulation \n", |
43 | 43 | " * You can no longer specify A and E, because fds will use the temperature to determine pre-exponential factor and the activitation energy. \n", |
44 | 44 | "* 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", |
48 | 48 | "* Compare the gasification simulation with the Aalto data " |
49 | 49 | ] |
50 | 50 | }, |
|
54 | 54 | "id": "7925b5cf", |
55 | 55 | "metadata": { |
56 | 56 | "tags": [ |
57 | | - "remove_input" |
| 57 | + "hide_input" |
58 | 58 | ] |
59 | 59 | }, |
60 | 60 | "outputs": [ |
|
130 | 130 | "TGA_data['massloss_rate'] = (-1)*np.gradient(TGA_data['Normalized_mass'], TGA_data['Time(s)'])\n", |
131 | 131 | "plt.figure()\n", |
132 | 132 | "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", |
135 | 135 | "plt.grid()\n", |
136 | 136 | "plt.plot()\n", |
137 | 137 | "\n", |
138 | 138 | "plt.figure()\n", |
139 | 139 | "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", |
142 | 142 | "plt.ylim(-0.001, 0.004)\n", |
143 | 143 | "plt.grid()\n", |
144 | 144 | "plt.plot()\n", |
|
153 | 153 | "\n", |
154 | 154 | "plt.figure()\n", |
155 | 155 | "plt.plot(TGA_data['Time(s)'], TGA_data['Temperature(C)'])\n", |
| 156 | + "plt.xlabel('Time / s')\n", |
| 157 | + "plt.ylabel('Temperature / ˚C')\n", |
156 | 158 | "plt.grid()\n", |
157 | 159 | "\n", |
158 | 160 | "plt.figure()\n", |
159 | 161 | "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", |
160 | 164 | "plt.grid()" |
161 | 165 | ] |
162 | 166 | }, |
|
166 | 170 | "id": "dea3be5e", |
167 | 171 | "metadata": { |
168 | 172 | "tags": [ |
169 | | - "remove_input" |
| 173 | + "hide_input" |
170 | 174 | ] |
171 | 175 | }, |
172 | 176 | "outputs": [ |
|
190 | 194 | "plt.figure()\n", |
191 | 195 | "plt.plot(TGA_data['Temperature(C)'],TGA_data['massloss_rate'], label = 'exp')\n", |
192 | 196 | "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", |
195 | 199 | "plt.ylim(-0.001, 0.008)\n", |
196 | 200 | "plt.legend()\n", |
197 | 201 | "plt.grid()\n", |
|
205 | 209 | "id": "6edf1d09", |
206 | 210 | "metadata": { |
207 | 211 | "tags": [ |
208 | | - "remove_input" |
| 212 | + "hide_input" |
209 | 213 | ] |
210 | 214 | }, |
211 | 215 | "outputs": [ |
|
234 | 238 | "plt.figure()\n", |
235 | 239 | "plt.plot(Aal['Time'],((-1)*np.gradient(Aal['Mass'], Aal['Time']))*0.1, label='exp')\n", |
236 | 240 | "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", |
239 | 243 | "plt.ylim(-0.01,0.07)\n", |
240 | 244 | "plt.grid()\n", |
241 | 245 | "plt.plot()\n", |
|
268 | 272 | "name": "python", |
269 | 273 | "nbconvert_exporter": "python", |
270 | 274 | "pygments_lexer": "ipython3", |
271 | | - "version": "3.8.5" |
| 275 | + "version": "3.8.9" |
272 | 276 | } |
273 | 277 | }, |
274 | 278 | "nbformat": 4, |
|
0 commit comments