В этом примере показано, как создать простую 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');
Создайте 2D геометрию из анализируемой матрицы геометрии и присвойте геометрию тепловой модели.
g = geometryFromEdges(model,g);
Вытесните 2D геометрию вдоль 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);
Задайте Stefan-постоянную-Больцмана.
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