Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Solving PDEPE without boundary conditions? heat transfer

  1. Apr 27, 2015 #1
    Hi all!

    I am trying to solve a system of partial differential equations in Matlab, with both derivatives in time and space domains. I am using the pdepe function for that.

    The system is, to be simple, a sort of solar thermal panel, made of three layers: an absorber plate, a fluid layer of running water and a back insulation layer. each of these layers is represented by a differential equation. Of course, many assumptions are implicit in the model, e.g. the model is here considered 1D (no edge effects...), the temperature disuniformity inside each layer is neglected ecc.

    I'd like to describe the profile of the water temperature, giving a constant mass flow rate, a constant inlet temperature, variable forcing boundary conditions such as solar radiation, the initial conditions for the three layers etc.

    In the first simulation, I just assume that solar radiation is constant and, starting at time t=0, it heats up the absorber while the circulating water removes the heat.

    Here my questions:

    1 Matlab_pdepe asks me to define boundary conditions also on the "right side" (outlet of the solar panel), which is actually unknown!

    2 The results shows that in correspondence of the boundaries, the profile gets unstable. This does not change significantly with the mesh size nor with the integration time span. Please consider that the left boundary condition of the absorber plate is fixed by the heat balance with the water inlet temperature and the ambient temperature, both supposed constant.

    Any idea or request for further explanations will be welcome :) :) :)

    Thank you in advance

  2. jcsd
  3. Apr 27, 2015 #2
    It will help if you write out your PDE, boundary conditions, and initial value that you intend to use. Keep in mind that you have to supply a sufficient number of conditions for your problem to be well-posed. If your problem is ill-posed, then no numeric technique will help you.

    Second pdepe assumes that you are suppling two boundary conditions in the spatial dimension. One for each boundary of the problem. If you are doing something different. Then this is not the correct function to use.
  4. Apr 27, 2015 #3
    How can you get the flowing water temperatures by only treating the problem in 1D? In other words, how do you take the convective heat transfer into account?

  5. Apr 28, 2015 #4
    Thank you for your first answers.
    It is actually a 2D system, but in the "x" direction we have only three nodes (one for every layer), while in the "y" direction direction we describe the evolution of the temperature of each layer. So, convection is taken into account as the absorber plate and the insulation layer exchange with the circulating fluid.

    Sorry I am not familiar with Latex, I hope you can grap the ides from the equations below.

    The differential equations that describe the system are (at the present level of complexity):

    C_met∙(dT_met)/dt (x,t) = h_ia,met (T_ia-T_met )+h_met,fl(T_fl-T_met )+P_solar

    C_fl∙[(dT_fl)/dt (x,t)+v_fl∙(dT_fl)/dx (x,t)] = h_met,fl (T_met-T_fl )+h_fl,isol (T_isol-T_fl )

    C_isol∙(dT_isol)/dt (x,t)=h_fl,isol (T_fl-T_isol )+h_isol,ai (T_ia-T_isol )

    where CXX are the thermal capacitances and hXX are the heat transfer coefficients between the different layers of the thermal model. Vfl is the fluid velocity, Tia is a known ambient temperature and Psolar is a heating power due to solar irradiance.

    As initial conditions:
    - the temperature of the recirculating water varies linearly from an inlet temperature to a first-attempt outlet temperature of 12°C
    - the temperature of the solar absorber varies linearly from 16.5 to 19 (respectively, averages between the inlet temperature of the fluid and the ambient temperature and between the outlet temperature of the fluid and the ambient temperature)
    - analogously, the temperature of the back insulation layer varies linearly from 16.5 to 19.

    The spatial boundary conditions are:
    T_fl (x=0)=T_fl,inlet
    T_met (x=0)=(T_fl,inlet+T_ia)/2
    T_isol (x=0)=(T_fl,inlet+T_ia)/2
    T_fl (x=L)=T_fl,outlet)
    T_met (x=L)=(T_fl,outlet+T_ia)/2
    T_isol (x=L)=(T_fl,outlet+T_ia)/2
    where Tfl,inlet and Tfl,outlet are the inlet and outlet temperatures of the circulating water.

    function SolarAbsorber_TimeSpace
    m = 0;
    x = linspace(0,2.5,30);
    t = linspace(0,7200,100);
    sol = pdepe(m,@pd_SolAbs_pde,@pde_SolAbs_ic,@pde_SolAbs_bc,x,t);
    T_met = sol(:,:,1);
    T_w = sol(:,:,2);
    T_is = sol(:,:,3);

    function [c,f,s] = pd_SolAbs_pde(x,t,u,DuDx)

    % I do not report here the initialization of the coefficients

    c = [C_met;C_w;C_is];
    f = [ 0; 0; 0];
    s1 = (h_ai_met)*(T_ai - u(1))+ h_met_w*(u(2) - u(1))+ Gv*tau*abs);
    s2 = (h_met_w*(u(1) - u(2))+ h_is_w*(u(3) - u(2)))- DuDx(2)*vx;
    s3 = (h_is_w*(u(2) - u(3)) + h_is_ai*(T_ai - u(3)));
    s = [s1; s2; s3];

    % --------------------------------------------------------------------------
    function u0 = pde_SolAbs_ic(x)
    alfa =((12-7)/2.5);
    beta = ((26+12)/2 -(26+7)/2)/2.5;
    T_met_0 = beta*x+(26+7)/2; %°C
    T_w_0 = alfa*x+7; %°C
    T_is_0 = beta*x+(26+7)/2; %°C
    u0 = [T_met_0; T_w_0; T_is_0];

    % --------------------------------------------------------------------------
    function [pl,ql,pr,qr] = pde_SolAbs_bc(xl,ul,xr,ur,t,u0,u)
    pl = [ul(1)- (26+7)/2; ul(2)-7; ul(3)-(26+7)/2];
    ql = [0;0;0];
    pr = [ur(1)-(26+12)/2; ur(2)-12; ur(3)-(26+12)/2];
    qr = [0;0;0];
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook