Parabolic PDEs using explicit finite-differences

Problem from construction management (heat conduction)

Steven R. Woodruff - Winter 2021 - CEE 303 - Computational methods

Problem setup

image.png

Suppose you are a construction manager planning a project that involves building a concrete slab. You want to determine the amount of time it will take for the slab to reach the compressive strength required to continue construction.

Your firm has invested in a new concrete admixture that can decrease the curing time of concrete using heat. The admixture allows the concrete to reach the required compressive strength once the concrete is heated to a critical temperature, $T_c$.

As a savvy construction manager, you know that you can place heated blankets on top of the concrete slab to achieve this critical temperature, but you need to determine how long the heating process will take.

You know that the concrete heating can be modeled as a parabolic partial differential equation; namely, the heat-conduction equation,

$$ \alpha \dfrac{\partial^2 T}{\partial z^2} = \dfrac{\partial T}{\partial t},$$

where $\alpha$ is the thermal diffusivity of the concrete and $T$ is the temperature of the concrete with respect to depth, $z$, and time, $t$.

The heated blankets can reach a maximum temperature of $T_b = 40$ [$^{\circ}$C], which you will use in your model. The concrete slab sits on an insulated layer which does not allow heat to pass through.

According to the American Concrete Institute code, ACI 122R-14, the thermal diffusivity of the lightweight concrete you are using can be calculated using,

$$\alpha = \dfrac{0.072e^{0.00125\rho}}{\rho c_p} \; \text{ [m$^2$/s]},$$

where $\rho$ is the density of the concrete and $c_p$ is the specific heat capacity of the concrete, both in SI units.

The slab is 15 [cm] thick. The density of the concrete is 1600 [kg/m$^3$]. The specific heat of the concrete is 880 [J/(kg$\cdot$K)]. The concrete before heating is 20 [$^{\circ}$C].

The critical temperature where the concrete reaches the required compressive strength is 35 [$^{\circ}$C].

Assume that the concrete is solid enough to place the heat blankets on at $t = 0$, and that the heat flow occurs only in the z-direction. Ignore second-order or complex effects such as thermal expansion, interference from steel rebar, or side boundary conditions.

To determine when the slab reaches the required compressive strength, complete the following:

  1. Calculate the thermal diffusivity of the concrete using the ACI equation. Report the value of the thermal diffusivity with six significant digits.
  2. Determine an appropriate step size for time ($\Delta t$). Report the value of the time step in hours and briefly explain why you chose that time step and the methods you used to make the decision.
  3. Using the problem description, determine what the boundary conditions for the problem should be. Only consider simple Dirichlet and/or Neumann boundary conditions with constant values. Explain your boundary conditions (in words or in equations), and briefly justify your choice.
  4. Find the temperature of the slab as a function of the depth and time using the explicit finite-differences method and your boundary conditions. Use a centered finite-differences approximation for the spatial derivative and a forward finite-difference approximation for the temporal derivative. Determine the temperature every 5 [mm] into the depth of the concrete and from when the heat blanket is applied ($t = 0$) to fourteen hours afterward ($t = 14$ [hr]). Use the constants described above for your solution. Report the temperature of the concrete at $z = 15$ [cm] and $t = 14$ [hr] in degrees Celsius with six significant digits.
  5. Plot the temperature of the concrete as a function of the depth, $T(z)$, at $t =$ 3, 5, 7, 9, 11, and 13 [hr]. Your plot should have six curves on the same axes. Show this plot.
  6. Plot the temperature of the concrete as a function of the depth and time, $T(z, t)$. Use a color plot with axes for depth ($z$) and time ($t$), and include a color bar showing temperature magnitude (use the matplotlib.pyplot.pcolormesh() and matplotlib.pyplot.colorbar() functions). Show this plot.
  7. Determine the time at which the entire slab ($0 \leq z \leq 15$ [cm]) reaches the critical temperature ($T = 35$ [$^{\circ}$C]). Report the time to the nearest hour.

For all calculations and plots, use Python.