В этом примере показано, как создать простую 3-D геометрию теплоотвода и проанализировать теплопередачу на теплоотводе. Процесс состоит из трех этапов.
Создайте геометрию в приложении PDE Modeler. Сначала откройте приложение PDE Modeler с геометрией, состоящей из прямоугольника и 12 кругов.
pderect([0 0.01 0 0.008]) for i = 0.002:0.002:0.008 for j = 0.002:0.002:0.006 pdecirc(i,j,0.0005) end end
Отрегулируйте пределы осей, выбрав Options > Axes Limits. Выберите Auto, чтобы использовать автоматическое масштабирование для обеих осей.
Экспортируйте матрицу описания геометрии, установите формулу и матрицу пространства имен в MATLAB® рабочей области путем выбора Draw > Export Geometry Description, Set Formula, Labels. Эти данные позволяют вам восстановить геометрию в рабочей области.
В Командном Окне MATLAB используйте decsg
функция для разложения экспортированной геометрии на минимальные области. Постройте график результата.
g = decsg(gd,sf,ns); pdegplot(g,'FaceLabels','on')
Создайте тепловую модель для переходного анализа.
model = createpde('thermal','transient');
Создайте 2-D геометрию из разложенной геометрической матрицы и присвойте геометрию тепловой модели.
g = geometryFromEdges(model,g);
Вытяните геометрию 2-D вдоль оси z на 0,0005 модули
g = extrude(g,0.0005);
Отобразите вытесненную геометрию так, чтобы вы могли видеть метки граней в верхней части графика.
figure pdegplot(g,'FaceLabels','on') view([0 90])
Вытесните круговые грани (грани с идентификаторами от 15 до 26) вдоль оси z еще на 0,005 модули Эти грани образуют ребра теплоотвода.
g = extrude(g,[15:26],0.005);
Присвойте измененную геометрию тепловой модели и постройте график геометрии.
model.Geometry = g; figure pdegplot(g)
Принимая, что теплоотвод выполнен из меди, задайте теплопроводность, массовую плотность и удельное тепло.
thermalProperties(model,'ThermalConductivity',400, ... 'MassDensity',8960, ... 'SpecificHeat',386);
Задайте константу Стефана-Больцмана.
model.StefanBoltzmannConstant = 5.670367e-8;
Применить граничное условие температуры на нижней поверхности теплоотвода, который состоит из 13 граней.
thermalBC(model,'Face',1:13,'Temperature',1000);
Задайте параметры конвекции и излучения на всех других поверхностях теплоотвода.
thermalBC(model,'Face',14:g.NumFaces, ... 'ConvectionCoefficient',5, ... 'AmbientTemperature',300, ... 'Emissivity',0.8);
Установите начальную температуру всех поверхностей равной температуре окружающей среды.
thermalIC(model,300);
Сгенерируйте mesh.
generateMesh(model);
Решите переходную тепловую задачу для времени от 0 до 0,0075 секунд с временным шагом 0,0025 секунд.
results = solve(model,0:0.0025:0.0075);
Постройте график распределения температуры для каждого временного шага.
for i = 1:length(results.SolutionTimes) figure pdeplot3D(model,'ColorMapData',results.Temperature(:,i)) title({['Time = ' num2str(results.SolutionTimes(i)) 's']}) end