Transient heat flux boundary condition in PDE toolbox

11 次查看(过去 30 天)
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);

采纳的回答

Ravi Kumar
Ravi Kumar 2020-9-30
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 个评论
mathru
mathru 2020-10-1
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 2020-10-1
Since you are assiging this function to Edge 2, state.u that solve constructs only contains values asssociated with Edge 2.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by