Material
Navigation: Main Page -> Models -> Sub-Models
This model is available in Build 139 or later.
Related Links: Material Body
Contents
- 1 Introduction
- 2 Model Theory
- 2.1 Rectangular Co-ordinates
- 2.2 Cylindrical Co-ordinates
- 2.3 Finite Difference Notation
- 2.4 Heat Transfer in Layers
- 2.5 Heat Transfer at Boundaries (Walls)
- 2.6 Rectangular Crank-Nicolson Scheme
- 2.7 Rectangular Crank-Nicolson Non-Linear Scheme
- 2.8 Rectangular Douglas-Gunn Scheme
- 2.9 Cylindrical Crank-Nicolson Scheme
- 2.10 Cylindrical Crank-Nicolson Non-Linear Scheme
- 3 Data Sections
Introduction
The Material sub-model is used in the Material Body model.
The purpose of this sub-model is to simulate the transfer of heat through a body of material. Examples of this are linings of kilns or smelters, and insulation of vessels and pipes.
The model calculates unsteady heat conduction in one dimension. The body can contain multiple materials with different thicknesses.
Heat transfer via convection at the two edges (inner and outer) of the material to the external environment is also calculated.
Model Theory
Rectangular Co-ordinates
The one-dimensional unsteady heat conduction equation for a slab can be formulated as:
[math] \dfrac{\partial T}{\partial t} = α \dfrac{\partial^2 T}{\partial x^2}[/math] [1]
where:
- T = Temperature of the slab at a given distance
- t = time
- x = distance along thickness of slab
- [math] α [/math] = thermal diffusivity = k / ([math] ρ [/math] * C)
- k = thermal conductivity of slab
- [math] ρ [/math] = density of slab
- C = heat capacity of slab
with the following assumptions:
- the material is homogeneous
- material properties are not a function of temperature
- heat transfer occurs through an area which is normal to the wall and is constant
The value of [math] α [/math] is calculated at the start of every time step, using values of density and heat capacity determined from temperatures at the end of the previous time step.
There are several methods for the user to choose from to solve equation [1] by finite difference approximation, as detailed below:
- Rectangular Crank-Nicolson Scheme
- Rectangular Crank-Nicolson Non-Linear Scheme
- Rectangular Douglas-Gunn Scheme
Cylindrical Co-ordinates
Equation (1) is for rectangular co-ordinates, such as a slab. For instances such as insulation around a pipe, circular tank or rotary kiln, cylindrical co-ordinates can be used.
The one-dimensional unsteady heat conduction equation for a cylindrical wall can be formulated as:
[math] \dfrac{\partial T}{\partial t} = α \biggl( \dfrac{1}{r}\dfrac{\partial T}{\partial r}+\dfrac{\partial^2 T}{\partial r^2} \biggr) [/math] [2]
where:
- T = Temperature of the cylindrical wall at a given radius
- t = time
- r = radial co-ordinate (r > 0)
- [math] α [/math] = thermal diffusivity = k / ([math] ρ [/math] * C)
- k = thermal conductivity of cylindrical wall
- [math] ρ [/math] = density of cylindrical wall
- C = heat capacity of cylindrical wall
The value of [math] α [/math] is calculated at the start of every time step, using values of density and heat capacity determined from temperatures at the end of the previous time step.
There are several methods for the user to choose from to solve equation [2] by finite difference approximation, as detailed below:
Finite Difference Notation
- 'i' is a point in space along the thickness of the slab/wall, with each point being separated by [math]Δx[/math] or [math]Δr[/math] (one layer)
- 'j' is a specific time, with each time point being separated by [math]Δt[/math]
Heat Transfer in Layers
Heat transfer across each layer in a slab (rectangular co-ordinates) is assumed to occur by conduction only.
[math] H_i = \dfrac{k_i A_i}{Δx} (T_i-T_{i+1}) [/math]
where:
- [math] H_i [/math] = heat conducted through layer i
- [math] k_i [/math] = thermal conductivity in layer i
- [math] A_i [/math] = area of layer i (all layers have same area)
- [math] Δx [/math] = thickness of layer i
- [math] T_i [/math] = temperature at point i (inner edge of layer i)
- [math] T_{i+1} [/math] = temperature at point i+1 (outer edge of layer i)
Similarly, for cylindrical co-ordinates, heat transfer across each layer in the cylinder is assumed to occur by conduction only.
[math] H_i = \dfrac{k_i A_i}{Δr} (T_i-T_{i+1}) [/math]
where:
- [math] A_i [/math] = area of layer i (area increases as r increases)
- [math] Δr [/math] = radial thickness of layer i
Heat Transfer at Boundaries (Walls)
Heat transfer between the external environment and the inner and outer edges of the material body is assumed to occur by convection only.
[math] H_{iw} = h_{iw} A_{iw} (T_{ext}-T_{iw}) [/math]
[math] H_{ow} = h_{ow} A_{ow} (T_{ow}-T_{ext}) [/math]
where:
- [math] H_{iw},H_{ow} [/math] = heat transferred between external environment and inner (iw) or outer (ow) wall or edge of material body
- [math] h_{iw},h_{ow} [/math] = heat transfer coefficient for convective heat transfer between external environment and inner (iw) or outer (ow) wall or edge of material body
- [math] A_{iw},A_{ow} [/math] = heat transfer area for convective heat transfer at inner (iw) or outer (ow) wall or edge of material body (in the cylindrical case, these areas are different)
- [math] T_{iw},T_{ow} [/math] = temperature at inner (iw) or outer (ow) wall or edge of material body
- [math] T_{ext} [/math] = external temperature next to wall or edge of material body
Rectangular Crank-Nicolson Scheme
Equation [1] is approximated by:
[math] \dfrac{T_{i,j+1}-T_{i,j}}{Δt} = \dfrac{α}{2} \dfrac{(T_{i+1,j+1}-2T_{i,j+1}+T_{i-1,j+1})+(T_{i+1,j}-2T_{i,j}+T_{i-1,j})}{(Δx)^2}[/math] [3]
Substituting [math] f = \dfrac{α Δt}{(Δx)^2}[/math], [3] becomes:
[math] -f T_{i-1,j+1} + (2+2f) T_{i,j+1} - f T_{i+1,j+1} = f T_{i-1,j} + (2-2f) T_{i,j} + f T_{i+1,j}[/math] [4]
Rectangular Crank-Nicolson Non-Linear Scheme
For the case of the product of density and heat capacity of the material is a function of temperature, equation [1] can be rewritten as:
[math] \dfrac{\partial}{\partial t} (ρC(T-T_r)) = k \dfrac{\partial^2 T}{\partial x^2}[/math] [1A]
where:
- [math]T_r [/math]= Reference temperature for heat capacity (273.15 K in SysCAD)
Now equation [1A] is approximated by:
[math] \dfrac{Φ_{i,j+1}(T_{i,j+1}-T_r)-Φ_{i,j}(T_{i,j}-T_r)}{Δt} = \dfrac{k}{2} \dfrac{(T_{i+1,j+1}-2T_{i,j+1}+T_{i-1,j+1})+(T_{i+1,j}-2T_{i,j}+T_{i-1,j})}{(Δx)^2}[/math] [3A]
where:
- [math] Φ_{i,j} = (ρC)_{i,j} [/math]
Substituting [math] f = \dfrac{k Δt}{(Δx)^2}[/math], [3A] becomes:
[math] -f T_{i-1,j+1} + 2(Φ_{i,j+1}+f) T_{i,j+1} - f T_{i+1,j+1} = f T_{i-1,j} + 2(Φ_{i,j}-f) T_{i,j} + f T_{i+1,j} + 2T_r(Φ_{i,j+1}-Φ_{i,j})[/math] [4A]
This can then be solved iteratively.
Rectangular Douglas-Gunn Scheme
The Douglas-Gunn scheme is a variant of the Crank-Nicolson scheme whose local truncation error in space is 4th order rather than 2nd order.
This leads to the following approximation of Equation [1]:
[math] (1-6f) T_{i-1,j+1} + (10+12f) T_{i,j+1} + (1-6f) T_{i+1,j+1} = (1+6f) T_{i-1,j} + (10-12f) T_{i,j} + (1+6f) T_{i+1,j}[/math] [5]
Cylindrical Crank-Nicolson Scheme
Equation [2] is approximated by:
[math] \dfrac{T_{i,j+1}-T_{i,j}}{Δt} = \dfrac{α}{2} \Biggl( \dfrac{(T_{i+1,j+1}-T_{i-1,j+1})+(T_{i+1,j}-T_{i-1,j})}{2r_iΔr} + \dfrac{(T_{i+1,j+1}-2T_{i,j+1}+T_{i-1,j+1})+(T_{i+1,j}-2T_{i,j}+T_{i-1,j})}{(Δr)^2} \Biggr) [/math] [6]
Substituting [math] f = \dfrac{α Δt}{(Δr)^2}[/math] and [math] R_i = \dfrac{Δr}{2r_i}[/math], [6] becomes:
[math] f(R_i-1) T_{i-1,j+1} + (2+2f) T_{i,j+1} - f(R_i+1) T_{i+1,j+1} = -f(R_i-1) T_{i-1,j} + (2-2f) T_{i,j} + f(R_i+1) T_{i+1,j}[/math] [7]
Cylindrical Crank-Nicolson Non-Linear Scheme
For the case of the product of density and heat capacity of the material is a function of temperature, equation [2] can be rewritten as:
[math] \dfrac{\partial}{\partial t} (ρC(T-T_r)) = k \biggl( \dfrac{1}{r}\dfrac{\partial T}{\partial r}+\dfrac{\partial^2 T}{\partial r^2} \biggr) [/math] [2A]
where:
- [math]T_r [/math]= Reference temperature for heat capacity (273.15 K in SysCAD)
Now equation [2A] is approximated by:
[math] \dfrac{Φ_{i,j+1}(T_{i,j+1}-T_r)-Φ_{i,j}(T_{i,j}-T_r)}{Δt} = \dfrac{k}{2} \Biggl( \dfrac{(T_{i+1,j+1}-T_{i-1,j+1})+(T_{i+1,j}-T_{i-1,j})}{2r_iΔr} + \dfrac{(T_{i+1,j+1}-2T_{i,j+1}+T_{i-1,j+1})+(T_{i+1,j}-2T_{i,j}+T_{i-1,j})}{(Δr)^2} \Biggr) [/math] [6A]
where:
- [math] Φ_{i,j} = (ρC)_{i,j} [/math]
Substituting [math] f = \dfrac{k Δt}{(Δr)^2}[/math] and [math] R_i = \dfrac{Δr}{2r_i}[/math], [6A] becomes:
[math] f(R_i-1) T_{i-1,j+1} + 2(Φ_{i,j+1}+f) T_{i,j+1} - f(R_i+1) T_{i+1,j+1} = -f(R_i-1) T_{i-1,j} + 2(Φ_{i,j}-f) T_{i,j} + f(R_i+1) T_{i+1,j} + 2T_r(Φ_{i,j+1}-Φ_{i,j})[/math] [7A]
This can then be solved iteratively.
Data Sections
The default sections and variable names are described in detail in the following tables. The number of sections may increase or decrease, based on user configuration.
- Layout -- This tab page is the main page used for configuration of the model.
- Layers -- This tab page contains a summary table of key information about each layer.
- LXXX -- Optional tab, only visible if LayerToView is non-zero. The user can select the individual layer to view and the name of this tab will change accordingly, i.e. if the set LayerToView = 1, then the tab will be L001.
- Content -- Optional tab, only visible if ShowTotalContent is enabled. Contains data on the total material in all layers.
- TempProfile -- This tab page contains a summary table of current and previous temperatures in each layer.
- MaterialX -- One page per Material defined on the Layout page. Allows user to define composition of material.
Layout
Tag (Long/Short) | Input / Calc | Description |
FD_Scheme | Rect: Crank-Nicolson | The Rectangular Crank-Nicolson finite difference approximation for rectangular co-ordinates will be used. |
Rect: Douglas-Gunn | The Rectangular Douglas-Gunn finite difference approximation for rectangular co-ordinates will be used. | |
Rect: CN (Non-Linear) | The Rectangular Crank-Nicolson Non-Linear finite difference approximation for rectangular co-ordinates will be used. | |
Cyl: Crank-Nicolson | The Cylindrical Crank-Nicolson finite difference approximation for cylindrical co-ordinates will be used. | |
Cyl: CN Cyl (Non-Linear) | The Cylindrical Crank-Nicolson Non-Linear finite difference approximation for cylindrical co-ordinates will be used. | |
Wall Settings | ||
Inner.Area | Input | Heat transfer area at inside wall. For rectangular co-ordinates, the area at the outside wall will be the same as the inside wall. |
Inner.Radius | Input | Only visible if cylindrical co-ordinates are used. Radius of cylinder at inside wall. |
Outer.Area | Calc | Only visible if cylindrical co-ordinates are used. Heat transfer area at outside wall. |
Outer.Radius | Calc | Only visible if cylindrical co-ordinates are used. Radius of cylinder at outside wall. |
Inside.InitialTemperature / InitT | Input | Initial temperature of material body at inner edge. Only used if InitAtStart is enabled or the Init Now button is pressed. |
Inside.HTC | Input | Heat transfer co-efficient used to determine heat transfer via convection between inner edge and external environment. |
Outside.InitialTemperature / InitT | Input | Initial temperature of material body at outer edge. Only used if InitAtStart is enabled or the Init Now button is pressed. |
Outside.HTC | Input | Heat transfer co-efficient used to determine heat transfer via convection between outer edge and external environment. |
Material Settings | ||
MaterialCount | Input | The number of distinct materials that the material body is composed of. For each material, a new column of parameters will be shown in the table below and a corresponding MaterialX page will become visible. |
(The following fields are displayed in a table, with one column for each Material. Each tag starts with MatX, where Mat1 is first material, Mat2 is second material, etc.) | ||
MatX.LayerCount | Input | The number of equal layers the Material X is to be divided into. |
MatX.FirstLayer | Calc | The layer number of the first (inner) layer of Material X. The first layer of the first material will be 1. |
MatX.ThermalCond | Input | The thermal conductivity for Material X. |
MatX.Radius | Calc | Only visible if cylindrical co-ordinates are used. Radius of material at inside edge of Material X. |
MatX.Thickness25 | Input | The total thickness of Material X at 25 deg C. |
MatX.LayerThickness / DeltaX | Calc | The thickness of each layer for Material X. LayerThickness = Thickness25 / LayerCount. |
MatX.Density / Rho | Calc | The density of Material X. This is calculated from the density information in the species database based on the composition defined on the MaterialX page. |
MatX.SpecificHeat / Cp | Calc | The specific heat capacity of Material X. This is calculated from the heat capacity information in the species database based on the composition defined on the MaterialX page. |
MatX.MaterialMass / M | Calc | The total mass of Material X. This is calculated from the specific area and thickness (to calculate volume) and the density of the material. |
MatX.ThermalDiffusivity / Alpha | Calc | The thermal diffusivity ([math]α[/math]) of Material X. [math] α [/math] = ThermalCond / (Density* SpecificHeat). |
MatX.ParamF / F | Calc | The parameter f for Material X. Refer to the Model Theory for the chosen finite difference (FD) scheme for its definition. |
MatX.Amplification | Calc | An internal parameter related to likelihood of transient oscillations. |
Init ... | ||
Pressure / P | Input | The initial pressure of the material body. Only used if InitAtStart is enabled or the Init Now button is pressed. Since the pressure of the material body can't be changed while the model is running, the pressure at the start of the run will be used for the entire run. |
Layers | If the Init Now button is pressed, the inner edge of the material body will be set to Inside.InitialTemperature and the outer edge will be set to Outside.InitialTemperature. All the inner temperatures of the material body will be set based on a linear relationship between these two points. The pressure of the material body will also be set to Init.Pressure. | |
Options | ||
InitAtStart | Tick Box | If this option is selected, during initialisation of the model, the inner edge of the material body will be set to Inside.InitialTemperature and the outer edge will be set to Outside.InitialTemperature. All the inner temperatures of the material body will be set based on a linear relationship between these two points. The pressure of the material body will also be set to Init.Pressure. |
CalcHeatFlowSS | Tick Box | If this option is selected, an additional result field Wall.HeatFlowSS will be calculated and displayed below. This is the expected value of heat flow at steady-state conditions, where heat flow at both edges of the material body and through every layer of the material body are equal. |
CalcTotalContent | Tick Box | If this option is selected, the model will calculate the total content of all layers and all materials. This will allow reporting of the total content. The display option ShowTotalContent will also be displayed. |
Display Options | ||
ShowTotalContent | Tick Box | Only visible if the CalcTotalContent option has been selected. If this option is selected, the Content pages will be displayed. These pages show the properties of the total content of all layers and all materials. Note: The tags for the Total Content are available for reporting or control, even when they have not been selected for display, BUT they will not be updated unless the CalcTotalContent option has been enabled. |
LayerToView | Input | The user defines which layer information to be displayed on LXXX tabs. For example, if 1 is specified, the L001 and subsequent tabs will display the properties of the first layer. If 0 is selected, no LXXX pages are shown. Note: The tags for ALL layers are always available for reporting or control, even when they have not been selected for display. |
Material Layer Results | ||
Layers... | ||
Count | Calc | The total number of layers of the combined material body. This is simply the sum of the LayerCount for all Materials. |
Mass | Calc | The total mass of the combined material body. This is simply the sum of the MaterialMass for all Materials. |
Volume | Calc | The total volume of the combined material body. |
Thickness | Calc | The total thickness of the combined material body. This is simply the sum of the Thickness25 for all Materials. |
Mid.Temperature / T | Calc | The average of the temperatures at the inside and outside edges of the material body. |
Avg.Temperature / T | Calc | The average of all the MidT temperatures in each layer. Note this is not a mass weighted mean and may not be the same as displayed on the Content page. |
Avg.TChangeRate | Calc | |
Avg.CondHeatFlow | Calc | The average of all the CondHeatFlow values in each layer. |
Wall.HeatFlowSS | Calc | Only visible if the CalcHeatFlowSS option is enabled. This is the expected value of heat flow at steady-state conditions, where heat flow at both edges of the material body and through every layer of the material body are equal. This is dependent on a few factors, some of which can change during a run such as external temperatures, heat transfer co-efficients and thermal conductivities, hence the calculated steady-state value can also change during a run. |
Layers
Tag (Long/Short) | Input / Calc | Description |
(The following fields are displayed in a table, with one row for each Layer. Each tag starts with LayerXXX, where Layer001 is the first layer, Layer002 is second layer, etc.) | ||
LayerXXX.Thickness | Calc | The thickness of the layer. |
LayerXXX.Mass | Calc | The mass of material in the layer. |
LayerXXX.InnerT | Calc | The temperature of the inner side of the layer. Except for the first layer, this will be equal to the OuterT of the previous layer. |
LayerXXX.MidT | Calc | The temperature of the mid point of the layer. This is simply the average of the inner and outside side temperatures. |
LayerXXX.OuterT | Calc | The temperature of the outer side of the layer. Except for the last layer, this will be equal to the InnerT of the next layer. |
LayerXXX.TChangeRate | Calc | The rate of change of MidT based on its value for the previous iteration. At steady-state, this will be zero. |
LayerXXX.CondHeatFlow | Calc | The conductive heat flow across the layer, using the InnerT and OuterT values. |
LayerCount | Calc | The total number of layers of the combined material body. This is simply the sum of the LayerCount for all Materials. |
LayerToView | Input | The user defines which layer information to be displayed on LXXX tabs. For example, if 1 is specified, the L001 and subsequent tabs will display the properties of the first layer. If 0 is selected, no LXXX pages are shown. Note: The tags for ALL layers are always available for reporting or control, even when they have not been selected for display. |
Energy Balance | ||
Inside.HeatFlow | Calc | The average convective heat flow from the external environment to the inside edge of the material body. A positive value means heat is being transferred from the environment to the material body. |
Wall.EnergyChangeRate | Calc | The rate of change in energy content of the material body (all layers). At steady-state this will be zero. |
Outside.HeatFlow | Calc | The average convective heat flow from the external environment to the outside edge of the material body. A positive value means heat is being transferred from the environment to the material body. |
Discrepancy | Calc | The net heat flow of the system. At steady-state this will be zero. This is equal to the sum of convective heat flows across the inner and outer edges and the change in energy in the material body. |
Wall.HeatFlowSS | Calc | Only visible if the CalcHeatFlowSS option is enabled. This is the expected value of heat flow at steady-state conditions, where heat flow at both edges of the material body and through every layer of the material body are equal. This is dependent on a few factors, some of which can change during a run such as external temperatures, heat transfer co-efficients and thermal conductivities, hence the calculated steady-state value can also change during a run. |
Temp Profile
Tag (Long/Short) | Input / Calc | Description |
(The following temperatures are displayed in a table, with one row for each Layer as well as the Inner and Outer External environments. Each layer tag starts with TXXX, where T000 is the temperature of the inner edge of the first layer, T001 is the temperature of the outer edge of the first layer, T002 is the temperature of the outer edge of the second layer, etc.) | ||
Inner.prevT | Calc | The temperature of the external environment on the inner side of the body at the end of the previous iteration. At steady state, this will be equal to Inner.T. |
Inner.T | Calc | The temperature of the external environment on the inner side of the body at the end of the current iteration. |
TXXX.prevT | Calc | The temperature of the relevant edge of the layer at the end of the previous iteration. At steady state, this will be equal to TXXX.T. |
TXXX.T | Calc | The temperature of the relevant edge of the layer at the end of the current iteration. |
Outer.prevT | Calc | The temperature of the external environment on the outer side of the body at the end of the previous iteration. At steady state, this will be equal to Outer.T. |
Outer.T | Calc | The temperature of the external environment on the outer side of the body at the end of the current iteration. |
MaterialX Page
There will be a MaterialX page for each Material (Material1 for first material, Material2 for second material, etc.).
The MaterialX page contains a Copy to Clipboard button which copies the current composition of the Material to the clipboard for pasting into external programs such as Excel.
The DSp section of the page is used to set the required composition of the Material. This is identical in functionality to the DSp page used in Feeders.
Note: The model only uses the settings on this page during the initialisation phase. Any changes made to the page while running the model will not be used by the model until the model is restarted.