CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   System Analysis (https://www.cfd-online.com/Forums/system-analysis/)
-   -   Transient Heat Transfer | Simple One-Layer Wall (https://www.cfd-online.com/Forums/system-analysis/240590-transient-heat-transfer-simple-one-layer-wall.html)

 HumanistEngineer January 14, 2022 03:37

Transient Heat Transfer | Simple One-Layer Wall

Hello All,

I try to build a transient heat transfer model for a simple one-layer wall by use of the Resistance-Capacitance (RC) approach. However, the transient temperature distribution shows weird numbers in time. Would you please check my approach and code?

Heat balance for each capacitance can be written as:

Forward-Euler Discretization (one-dimensional) gives:

At each time step this calculation procedure is run:

Here is the Python code to calculate the temperature distribution in time:

Code:

```import numpy as np """ Input Parameters """ # Wall height_w = 3        # [m]      height of the wall wide_w = 5          # [m]      wide of the wall thick_w = 0.3      # [m]      thickness of the wall volume_w = height_w * wide_w * thick_w  # [m3] volume of the wall area_w= height_w * wide_w              # [m2] wall area # Room deep_r = 4          # [m]      deepness of room volume_r = height_w * wide_w * deep_r # [m3] volume of the room air # Initial Temperature T_in = 20          # [°C]      indoor temperature T_out = 2          # [°C]      outdoor temperature # Thermal h_in = 8          # [W/m2K]  heat transfer coefficient (indoor) h_out = 15          # [W/m2K]  heat transfer coefficient (outdoor) # see: Balaji NC et al. Thermal performance of the building walls k_w = 0.811        # [W/mK]    thermal conductivity (brick) rho_w = 1820        # [kg/m3]  density (brick) Cp_w = 880          # [J/kgK]  specific heat capacity (brick) # Air rho_a = 1.204      # [kg/m3]  density (air at 20 °C) Cp_a = 1006        # [J/kgK]  specific heat capacity (air at 20 °C) """ Preliminary Calculations """ delta_t = 1        # [s] C_a = rho_a * Cp_a * volume_r  # [J/K] C_w = rho_w * Cp_w * volume_w  # [J/K]   R_in = 1 / (h_in * area_w)      # [K/W] R_out = 1 / (h_out * area_w)    # [K/W] R_w = thick_w / (k_w * area_w)  # [K/W] # print('R_in = ',R_in) # print('R_out = ',R_out) # print('R_w = ',R_w) """ Numeric Constants """ A = np.zeros( (4, 4) ) A=1+delta_t/(C_a*R_in) A=-delta_t/(C_a*R_in) A=4*delta_t/(C_w*R_in) A=1-4*delta_t/C_w*(1/R_in+2/R_w) A=8*delta_t/(C_w*R_w) A=4*delta_t/(C_w*R_w) A=1-2*delta_t/C_w*(2/R_w+2/R_w) A=4*delta_t/(C_w*R_w) A=8*delta_t/(C_w*R_w) A=1-4*delta_t/C_w*(2/R_w+1/R_out) B = np.zeros((4,1)) B=4*delta_t*T_out/(C_w*R_out) """ Numerical Simulation """ T_init=np.ones((4,1))*15 for i in range(1):         T=np.matmul(A,T_init)+B         T_init=T```

 HumanistEngineer January 15, 2022 05:54

I found the error:

The first heat balance shall be replaced with:

C_in*(dT_in/dt)=- (T_in - T_w1) / R_in

 agustinvo July 29, 2022 20:03

If you are using Python you could use Scipy to solve your state-space equations.

 All times are GMT -4. The time now is 07:52.