Radiation boundary condition with new PDE Toolbox solver

조회 수: 10 (최근 30일)
Kim
Kim 2019년 4월 27일
댓글: 怡凡 刘 2022년 4월 7일
I am trying to implement a radiation boundary condition using the new solver for the heat transfer applicaition for the PDE Toolbox. I reduced the problem to just a square domain with fixed temperture on the bottom and radiation from the remaining edges. The temperture only increases slightly in the wrong direction. Please let me know what I am missing! Here is the code:
% Given
Lx = 0.1; % m, maximum length in x-direction
Ly = 0.1; % m, maximum length in y-direction
Hmax = Lx/10; % m, maximum mesh spacing
kt = 16; % W/m-K, thermal conductivity
epsilon = 0.9; % emissivity
T_inf = 10; % K, temperature of surroundings
T_b = 100; % K, temperture of base
% Create PDE thermal model container
thermalmodel = createpde('thermal','steadystate');
% Create 2D geometry and append geometry to model
R1 = [3;4;0;Lx;Lx;0;0;0;Ly;Ly];
gd = R1; % geometry description matrix
sf = 'R1'; % set formula
ns = char('R1')'; % name space matrix
dl = decsg(gd,sf,ns); % decomposed geometry matrix
pg = geometryFromEdges(thermalmodel,dl);
% Set boundary conditions and thermal properties
BC1 = thermalBC(thermalmodel,'Edge',1,'Temperature',T_b);
BC2 = thermalBC(thermalmodel,'Edge',2:4,'Emissivity',epsilon,...
'AmbientTemperature',T_inf);
thermalmodel.StefanBoltzmannConstant = 5.670373E-8; % W/m^2-K^4
mtl = thermalProperties(thermalmodel,'ThermalConductivity', kt);
% Generate mesh, solve problem, and plot results
msh = generateMesh(thermalmodel,'Hmax',Hmax);
thermalmodel.SolverOptions.ResidualTolerance = 1.0e-05;
results = solve(thermalmodel);
pdeplot(thermalmodel,'XYData',results.Temperature,'ColorMap','jet');
colorbar

채택된 답변

Kim
Kim 2019년 5월 3일
I submitted this question to Matlab support department directly and got the following answer that solved my problem:
There is a problem with handling emissivity case. Solver is failing to recognize nonlinearity of the problem. One workaround to fix this issue is making one of the coefficient a function. For example replacing epsilon with following MATLAB code will fix this issue.
>> 'Emissivity',@(region,state) epsilon,...
Thank you again for providing us your feedback about this issue. It is really helpful for us to make further improvement. I am going to close this case.
Sincerely,
Mathworks Technical Support Department
  댓글 수: 1
怡凡 刘
怡凡 刘 2022년 4월 7일
Thanks for sharing, I think it might be useful for my problem.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by