SteadyStateThermalResults

Установившееся тепловое решение и выведенные количества

Описание

SteadyStateThermalResults объект содержит градиент температуры и значения градиента температуры в форме, удобной для графического вывода и постобработки.

Температура и ее градиенты вычисляются в узлах треугольной или четырехгранной mesh, сгенерированной generateMesh. Температурные значения в узлах появляются в Temperature свойство. Три компонента градиента температуры в узлах появляются в XGradients, YGradients, и ZGradients свойства.

Интерполировать температуру или ее градиенты к пользовательской сетке (например, заданный meshgridИспользование interpolateTemperature или evaluateTemperatureGradient.

Чтобы оценить поток тепла теплового решения в узловых или произвольных пространственных местоположениях, использовать evaluateHeatFlux. Чтобы оценить интегрированный уровень теплового потока, нормальный к заданному контуру, использовать evaluateHeatRate.

Создание

Решите установившуюся тепловую задачу с помощью solve функция. Эта функция возвращает установившееся тепловое решение как SteadyStateThermalResults объект.

Свойства

развернуть все

Все установившиеся тепловые модели

Mesh конечного элемента, возвращенная как объект FEMesh Properties.

Температурные значения в узлах, возвращенных как вектор.

Типы данных: double

Неосесимметричные установившиеся тепловые модели

x- градиента температуры в узлах, возвращенных как вектор.

Типы данных: double

y- градиента температуры в узлах, возвращенных как вектор.

Типы данных: double

z- градиента температуры в узлах, возвращенных как вектор.

Типы данных: double

Осесимметричные установившиеся тепловые модели

r- градиента температуры в узлах, возвращенных как вектор.

Типы данных: double

z- градиента температуры в узлах, возвращенных как вектор.

Типы данных: double

Функции объекта

evaluateHeatFluxОцените поток тепла теплового решения в узловых или произвольных пространственных местоположениях
evaluateHeatRateОцените интегрированный уровень теплового потока, нормальный к заданному контуру
evaluateTemperatureGradientОцените градиент температуры теплового решения в произвольных пространственных местоположениях
interpolateTemperatureИнтерполируйте температуру в тепловом результате в произвольных пространственных местоположениях

Примеры

свернуть все

Решите 3-D установившуюся тепловую задачу.

Создайте тепловую модель для этой проблемы.

thermalmodel = createpde('thermal');

Импортируйте и постройте геометрию блока.

importGeometry(thermalmodel,'Block.stl'); 
pdegplot(thermalmodel,'FaceLabel','on','FaceAlpha',0.5)
axis equal

Присвойте свойства материала.

thermalProperties(thermalmodel,'ThermalConductivity',80);

Применяйтесь постоянная температура 100 °C к левой стороне блока (столкнитесь 1), и постоянная температура 300 °C к правой стороне блока (столкнитесь 3). Все другие поверхности изолируются по умолчанию.

thermalBC(thermalmodel,'Face',1,'Temperature',100);
thermalBC(thermalmodel,'Face',3,'Temperature',300);

Поймайте в сети геометрию и решите задачу.

generateMesh(thermalmodel);
thermalresults = solve(thermalmodel)
thermalresults = 
  SteadyStateThermalResults with properties:

    Temperature: [12691x1 double]
     XGradients: [12691x1 double]
     YGradients: [12691x1 double]
     ZGradients: [12691x1 double]
           Mesh: [1x1 FEMesh]

Решатель находит температуры и градиенты температуры в узловых местоположениях. Чтобы получить доступ к этим значениям, используйте thermalresults.Temperature, thermalresults.XGradients, и так далее. Например, постройте температуры в узловых местоположениях.

pdeplot3D(thermalmodel,'ColorMapData',thermalresults.Temperature)

Анализируйте теплопередачу в стержне с круглым сечением и внутренним выделением тепла путем упрощения 3-D осесимметричной модели до 2D модели.

Создайте установившуюся тепловую модель для того, чтобы решить осесимметричную задачу.

thermalmodel = createpde('thermal','steadystate-axisymmetric');

2D модель является прямоугольной полосой, x-размерность которой расширяет от оси симметрии до наружной поверхности и чья y-размерность расширяет по фактической длине стержня (от -От 1,5 м до 1,5 м. Создайте геометрию путем определения координат ее четырех углов. Для осесимметричных моделей тулбокс принимает, что ось вращения является вертикальной осью, проходящей r = 0.

g = decsg([3 4 0 0 .2 .2 -1.5 1.5 1.5 -1.5]');

Включайте геометрию в модель.

geometryFromEdges(thermalmodel,g);

Постройте геометрию с метками ребра.

figure
pdegplot(thermalmodel,'EdgeLabels','on')
axis equal

Стержень состоит из материала с этими тепловыми свойствами.

k = 40; % thermal conductivity, W/(m*C)
q = 20000; % heat source, W/m^3

Для установившегося анализа задайте теплопроводность материала.

thermalProperties(thermalmodel,'ThermalConductivity',k);

Задайте внутренний источник тепла.

internalHeatSource(thermalmodel,q);

Задайте граничные условия. Нет никакого тепла, переданного в направлении, нормальном к оси симметрии (ребро 1). Вы не должны изменять граничное условие по умолчанию для этого ребра. Ребро 2 сохранено при постоянной температуре T = 100 °C.

thermalBC(thermalmodel,'Edge',2,'Temperature',100);

Задайте граничное условие конвекции на внешней границе (ребро 3). Окружающая температура во внешней границе является 100 °C, и коэффициент теплопередачи 50W/(mC).

thermalBC(thermalmodel,'Edge',3,...
                       'ConvectionCoefficient',50,...
                       'AmbientTemperature',100);

Поток тепла в нижней части стержня (ребро 4) 5000W/m2.

thermalBC(thermalmodel,'Edge',4,'HeatFlux',5000);

Сгенерируйте mesh.

msh = generateMesh(thermalmodel);
figure
pdeplot(thermalmodel)
axis equal

Решите задачу.

thermalresults = solve(thermalmodel)
thermalresults = 
  SteadyStateThermalResults with properties:

    Temperature: [259x1 double]
     RGradients: [259x1 double]
     ZGradients: [259x1 double]
           Mesh: [1x1 FEMesh]

Решатель находит температуры и градиенты температуры в узловых местоположениях. Чтобы получить доступ к этим значениям, используйте thermalresults.Temperature, thermalresults.RGradients, и thermalresults.ZGradients. Например, постройте температуры в узловых местоположениях.

T = thermalresults.Temperature;
figure
pdeplot(thermalmodel,'XYData',T,'Contour','on')
axis equal
title 'Steady-State Temperature'

Введенный в R2017a