I have completed analysis for a heat sink using ANSYS and I'm attempting to validate the results on MATLAB but the transient temperature matrix seems to not change from the intial temperature condition of 60 degrees celcius even though the results are transient. I believe the ANSYS result shows the correct change after 10seconds. The meshing quality is also much better on ANSYS
Link for heatsink 3d model: https://1drv.ms/u/s!AujKksRUPEcroAxpJinCVDnxyrLo?e=4w7FlB
ANSYS RESULT:
MATLAB MODEL:
MATLAB RESULT:
%% Model Setup for Heat Sink
thermalmodel = createpde('thermal','transient');importGeometry(thermalmodel,'heatsink.stl'); pdegplot(thermalmodel,'FaceLabel','on','FaceAlpha',0.5);axis equal%% mesh
generateMesh(thermalmodel,'Hmax',0.4);figure;pdeplot3D(thermalmodel);%% Boundary Condition, Aluminium Alloy Properties and Initial Conditions
TCval = @(location,state)139.3 + 0.204*state.u; %sets thermal conductivity (W/m/°C) as a function of temperature only approximate equation based on linear trend for table data from ansys engineering alumnium alloy data
MDval = 2770; %density kg/m^3
SHval = 875; %specific heat (J/kg/°C)
ATval = 25; %ambient temperature
CCval = 30; %convective film coefficient W/m^2
REval = 0.77; %radiation emissivity
thermalmodel.StefanBoltzmannConstant = 5.670373E-8;faces = [1,3:30];thermalProperties(thermalmodel,'ThermalConductivity',TCval,'MassDensity',MDval,'SpecificHeat',SHval);thermalBC(thermalmodel,'Face',faces,'ConvectionCoefficient',@(region,state)CCval,'AmbientTemperature',ATval);thermalBC(thermalmodel,'Face',faces,'Emissivity',@(region,state)REval,'AmbientTemperature',ATval);thermalBC(thermalmodel,'Face',2,'ConvectionCoefficient',5,'AmbientTemperature',ATval);thermalBC(thermalmodel,'Face',2,'Emissivity',0.1,'AmbientTemperature',ATval);thermalIC(thermalmodel,60); %sets initial temperature °C problem with this as temp doesnt go down very fast?
%% solve
tlist= [0:10]; %time from 0 to 10seconds
thermalTransientResults = solve(thermalmodel,tlist);pdeplot3D(thermalmodel,'ColorMapData',thermalTransientResults.Temperature(:,10))%for n = 1:numel(thermalTransientResults.SolutionTimes)
% figure
% pdeplot3D(thermalmodel,'ColorMapData',thermalTransientResults.Temperature(:,n))
% title(['Temperature at Time = ' num2str(tlist(n))])
%end
Best Answer