基于pdepe的绝缘导线上的导热

时间:2018-06-10 19:13:41

标签: matlab partial equation heat

我正在尝试计算基于pdepe的绝缘导线上的导热。但由此产生的温度很低。基于其他仿真工具,我预计稳态温度为128Grad,但温度为20.2Grad(环境温度为20Grad)。可以假设使用的参数是正确的。误差必须在方程的数学建模内,即边界/初始条件的定义。 x(xmesh)和t(tspan)以及pdepe选项(reltol,abstol,...)的变化对解决方案没有任何影响。

function PDE_Waermeleitung_Zyl_Wire_Support           


global  rho_c c_c beta_c lambda_c...
          c_i beta_i lambda_i...
    r_c r_i l A_c R_0 alpha alpha_Con_Rad...
    T_ref T_u T_Initial 







%% Parameter

% Conductor c
rho_c     = 1.7241e-8;              % spezifischer Widerstand Kupfer
c_c       = 433;                    % Waermekapazitaet
density_c = 7800;                   % Dichte Kupfer
beta_c    = density_c*c_c;              
lambda_c  = 401;                    % Waermeleitfaehigkeit

% Insulation i
c_i       = 1640;                   % Waermekapazitaet
density_i = 900;                    % Dichte PVC-Isolierung
beta_i    = density_i*c_i;              
lambda_i  = 0.4;                    % Waermeleitfaehigkeit


alpha_Con_Rad = 15;                 % Strahlung-Konvektion


% Cable with a conductor size of 0.5 mm² and an insulation thickness of     0.35mm

r_c = 0.4e-3;                       % Radius Leiter
r_i = 0.75e-3;                      % Radius Isolierung
l   = 4e-2;                         % Laenge Leiter


A_c            = pi*r_c^2;          % Oberflaeche Leiter Zylinder
R_0            = rho_c*l/A_c;       % Widerstand


alpha          = 3.0e-3;            % Temperaturkoeffizient
T_ref          = 20;                % Referenztemperatur          Temperaturkoeffizient


T_u            = 20;                % Umgebungstemperatur
T_Initial      = 20;                % Anfangstemperatur


m = 1;                              % Zylinder-Symmetrie
x = linspace(0,r_i,200);             
t = linspace(0,400,100);




%% PDE-Solution

sol = pdepe(m,@pdex1pde,@pdex1ic,@pdex1bc,x,t);

% Extract the first solution component as u.
u = sol(:,:,1);

% A surface plot is often a good way to study a solution.
surf(x,t,u) 
xlabel('Distance x')
ylabel('Time t')


end
% --------------------------------------------------------------
function [c,f,s] = pdex1pde(x,t,u,DuDx)

global beta_c
global lambda_c
global beta_i
global lambda_i
global R_0
global alpha
global T_ref
global A_c
global l
global r_c


% Case sensitive for Conductor/Insulation

if x <= r_c

lambda = lambda_c;
beta   = beta_c;
I      = 20;
Pe     = I^2*R_0*( 1 + alpha * ( u - T_ref ) );

s      = Pe/(lambda_c*A_c*l);

else

lambda = lambda_i;
beta   = beta_i;

s      = 0;

end

c = beta/lambda;

f = DuDx;

end

% --------------------------------------------------------------
function u0 = pdex1ic(x)

global T_Initial

u0 = T_Initial;

end
% --------------------------------------------------------------
function [pl,ql,pr,qr] = pdex1bc(xl,ul,xr,ur,t)

global T_u
global lambda_i
global alpha_Con_Rad

pl = 0;
ql = 1;
pr = alpha_Con_Rad*( T_u - ur );
qr = -lambda_i;

end

0 个答案:

没有答案