Transient heat flux boundary condition in PDE toolbox

7 Ansichten (letzte 30 Tage)
mathru
mathru am 30 Sep. 2020
Kommentiert: Ravi Kumar am 1 Okt. 2020
Hi,
I am modelling temperature distribution of a circular cylindrical rod with a plate. The model is very much similar to (https://au.mathworks.com/help/pde/ug/heat-distribution-in-a-circular-cylindrical-rod.html) model. In my model, I am using heat flux boundary condition at the edge 2 (interface of rod and plate) which is varying with time. I have set 298 K as atmospheric temperature and 910 K as initial temperature. It is expected that heat flux will be zero when the edge temperature will reach at atmospheric temperature. I have set the boundary condition as given in the following code. The results do not seem correct because the edge temperature reaches steady state at time t=1s for all initial temperatures (T_0 = 510K and 910K).
How can I solve the problem?
k = 1.3913; %Thermal conductivity [W/(mK)]
h_thick = 0.001; %Thickness of the plate [m]
T_amb = 298; %Atmospheric temperature [K]
T_0 = 910; %Initial temperature [K]
thermalBC(thermalModelT,'Edge',2,'HeatFlux',@(location,state) (T_surr-state.u)*k/h_thick);

Akzeptierte Antwort

Ravi Kumar
Ravi Kumar am 30 Sep. 2020
Based on what you describe, it appears you are assigning heat flux on an interior edge. These are not boundaries of the domain so they won't be processed. Refer to https://www.mathworks.com/help/pde/ug/do-not-specify-boundary-conditions-between-subdomains.html
  4 Kommentare
mathru
mathru am 1 Okt. 2020
I am applying as following function but getting the same result like before. How can I make sure that 'state.u' representing 'edge 2' temperature and updating with time?
thermalBC(thermalModelT,'Edge',2,'HeatFlux',@myHeatFlux);
function HF = myHeatFlux(~,state)
if state.u > 298
HF = (298-state.u)*1.3913e+03;
else
HF = 0;
end
end
Ravi Kumar
Ravi Kumar am 1 Okt. 2020
Since you are assiging this function to Edge 2, state.u that solve constructs only contains values asssociated with Edge 2.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by