thermalProperties

Присвоение тепловых свойств материала для тепловой модели

Описание

пример

thermalProperties(thermalmodel,'ThermalConductivity',TCval,'MassDensity',MDval,'SpecificHeat',SHval) присваивает свойства материала, такие как теплопроводность, массовая плотность и удельное тепло. Для временного анализа задайте все три свойства. Для статического анализа достаточно задать теплопроводность. Этот синтаксис устанавливает свойства материала для всей геометрии.

Для неконстантного или нелинейного материала задайте TCval, MDval, и SHval как указатели на функцию.

пример

thermalProperties(___,RegionType,RegionID) присваивает свойства материала для заданной геометрической области.

mtl = thermalProperties(___) возвращает объект свойств материала.

Примеры

свернуть все

Присвойте свойства материала для статической тепловой модели.

model = createpde('thermal','steadystate');
gm = importGeometry(model,'SquareBeam.STL');
thermalProperties(model,'ThermalConductivity',0.08)
ans = 
  ThermalMaterialAssignment with properties:

             RegionType: 'cell'
               RegionID: 1
    ThermalConductivity: 0.0800
            MassDensity: []
           SpecificHeat: []

Присвойте свойства материала для временного анализа.

thermalmodel = createpde('thermal','transient');
gm = importGeometry(thermalmodel,'SquareBeam.STL');
thermalProperties(thermalmodel,'ThermalConductivity',0.2,...
                               'MassDensity',2.7*10^(-6),...
                               'SpecificHeat',920)
ans = 
  ThermalMaterialAssignment with properties:

             RegionType: 'cell'
               RegionID: 1
    ThermalConductivity: 0.2000
            MassDensity: 2.7000e-06
           SpecificHeat: 920

Создайте статическую тепловую модель.

thermalModel = createpde('thermal');

Создайте вложенные цилиндры для моделирования двухслойного изолированного участка трубопровода, состоящего из внутреннего металлического канала, окруженной изолированным материалом.

gm = multicylinder([20,25,35],20,'Void',[1,0,0]);

Присвойте геометрию тепловой модели и постройте график геометрии.

thermalModel.Geometry = gm;
pdegplot(thermalModel,'CellLabels','on','FaceAlpha',0.5)

Figure contains an axes. The axes contains 3 objects of type quiver, patch, line.

Задайте теплопроводность для металла и изоляции.

thermalProperties(thermalModel,'Cell',1,'ThermalConductivity',0.4)
ans = 
  ThermalMaterialAssignment with properties:

             RegionType: 'cell'
               RegionID: 1
    ThermalConductivity: 0.4000
            MassDensity: []
           SpecificHeat: []

thermalProperties(thermalModel,'Cell',2,'ThermalConductivity',0.0015)
ans = 
  ThermalMaterialAssignment with properties:

             RegionType: 'cell'
               RegionID: 2
    ThermalConductivity: 0.0015
            MassDensity: []
           SpecificHeat: []

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

Создайте тепловую модель для переходного анализа и включите геометрию. Геометрия представляет собой стержень с круглым сечением. Модель 2-D является прямоугольной полосой, размер y которой простирается от оси симметрии до внешней поверхности и размер X которой простирается по фактической длине стержня.

thermalmodel = createpde('thermal','transient');

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

Задайте теплопроводность как линейную функцию от температуры, k=40+0.003T.

k = @(location,state)40 + 0.003*state.u;

Задайте удельное тепло как линейную функцию y-координаты, cp=500y.

cp = @(location,state)500*location.y;

Задайте теплопроводность, массовую плотность и удельную теплоту материала.

thermalProperties(thermalmodel,'ThermalConductivity',k,...
                               'MassDensity',2.7*10^(-6),...
                               'SpecificHeat',cp)
ans = 
  ThermalMaterialAssignment with properties:

             RegionType: 'face'
               RegionID: 1
    ThermalConductivity: @(location,state)40+0.003*state.u
            MassDensity: 2.7000e-06
           SpecificHeat: @(location,state)500*location.y

Входные параметры

свернуть все

Тепловая модель, заданная как ThermalModel объект. Модель содержит геометрию, сетку, тепловые свойства материала, внутренний источник тепла, граничные условия и начальные условия.

Пример: thermalmodel = createpde('thermal','steadystate')

Тип геометрической области, заданный как 'Face' или 'Cell'.

Пример: thermalProperties(thermalmodel,'Cell',1,'ThermalConductivity',100)

Типы данных: char | string

Идентификатор геометрической области, заданный как вектор положительных целых чисел. Поиск идентификаторов областей при помощи pdegplot.

Пример: thermalProperties(thermalmodel,'Cell',1:3,'ThermalConductivity',100)

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

Теплопроводность материала, заданная как положительное число, матрица или указатель на функцию. Можно задать теплопроводность для статической или переходной модели. В случае ортотропной теплопроводности используйте матрицу теплопроводности.

Используйте указатель на функцию, чтобы задать теплопроводность, которая зависит от пространства, времени или температуры. Для получения дополнительной информации смотрите Дополнительные сведения.

Пример: thermalProperties(thermalmodel,'Cell',1,'ThermalConductivity',100) или thermalProperties(thermalmodel,'ThermalConductivity',[80;10;80]) для ортотропной теплопроводности

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

Массовая плотность материала, заданная в виде положительного числа или указателя на функцию. Задайте это свойство для модели анализа переходной тепловой проводимости.

Используйте указатель на функцию, чтобы задать массовую плотность, которая зависит от пространства, времени или температуры. Для получения дополнительной информации смотрите Дополнительные сведения.

Пример: thermalProperties(thermalmodel,'Cell',1,'ThermalConductivity',100,'MassDensity',2730e-9,'SpecificHeat',910)

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

Удельная теплота материала, заданная как положительное число или указатель на функцию. Задайте это свойство для модели анализа переходной тепловой проводимости.

Используйте указатель на функцию, чтобы задать конкретное тепло, которое зависит от пространства, времени или температуры. Для получения дополнительной информации смотрите Дополнительные сведения.

Пример: thermalProperties(thermalmodel,'Cell',1,'ThermalConductivity',100,'MassDensity',2730e-9,'SpecificHeat',910)

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

Выходные аргументы

свернуть все

Указатель на свойства материала, возвращенный как ThermalMaterialAssignment объект. См. раздел Свойства ThermalMaterialAssignment.

mtl связывает свойства материала с геометрической областью.

Подробнее о

свернуть все

Определение неконстантных параметров тепловой модели

Используйте указатель на функцию, чтобы задать эти тепловые параметры, когда они зависят от пространства, температуры и времени:

  • Теплопроводность материала

  • Массовая плотность материала

  • Удельная теплота материала

  • Внутренний источник тепла

  • Температура на контуре

  • Тепловой поток через контур

  • Коэффициент конвекции на контуре

  • Коэффициент излучательной способности на контуре

  • Начальная температура

Для примера используйте указатели на функцию, чтобы задать теплопроводность, внутренний источник тепла, коэффициент конвекции и начальную температуру для этой модели.

thermalProperties(model,'ThermalConductivity',@myfun)
internalHeatSource(model,'Face',2,@myfun)
thermalBC(model,'Edge',[3,4], ...
                'ConvectionCoefficient',@myfun, ...
                'AmbientTemperature',27)
thermalIC(model,@myfun)

Функция должна иметь форму:

function thermalVal = myfun(location,state)

Решатель передает location и state данные для вашей функции:

  • location - Структура, содержащая следующие поля:

    • location.x - X-координата точки или точки

    • location.y - Y-координата точки или точки

    • location.z - Для 3-D или осесимметричной геометрии координата Z точки или точки

    • location.r - Для осесимметричной геометрии r-координата точки или точки

    Кроме того, для граничных условий решатель передает эти данные в location структура:

    • location.nx - x-компонент вектора normal в точке вычисления или точках

    • location.ny - y-компонент вектора normal в точке оценки или точках

    • location.nz - Для 3-D или осесимметричной геометрии z-компонент вектора нормали в точке вычисления или точках

    • location.nz - Для осесимметричной геометрии z-компонент вектора нормали в точке вычисления или точках

  • state - структура, содержащая эти поля для переходных или нелинейных задач:

    • state.u - Температуры в соответствующих точках структуры местоположения

    • state.ux - Оценки x-составляющей температурных градиентов в соответствующих точках структуры местоположения

    • state.uy - Оценки y-составляющей температурных градиентов в соответствующих точках локационной структуры

    • state.uz - Для 3-D или осесимметричной геометрии оценивает z-составляющую градиентов температуры в соответствующих точках структуры местоположения

    • state.ur - Для осесимметричной геометрии оценки r-компонента градиентов температуры в соответствующих точках локационной структуры

    • state.time - Время в точках оценки

Свойства теплового материала (теплопроводность, массовая плотность и удельная теплота) и внутренний источник тепла получают эти данные от решателя:

  • location.x, location.y, location.z, location.r

  • Идентификатор поддомена

  • state.u, state.ux, state.uy, state.uz, state.r, state.time

Граничные условия (температура на контуре, тепловой поток, коэффициент конвекции и коэффициент излучения) получают эти данные от решателя:

  • location.x, location.y, location.z, location.r

  • location.nx, location.ny, location.nz, location.nr

  • state.u, state.time

Начальная температура получает следующие данные от решателя:

  • location.x, location.y, location.z, location.r

  • Идентификатор поддомена

Для всех тепловых параметров, кроме теплопроводности, ваша функция должна вернуть вектор-строку thermalVal с количеством столбцов, равным количеству точек оценки, например M = length(location.y).

Для теплопроводности ваша функция должна вернуть матрицу thermalVal с количеством строк, равным 1, Ndim, Ndim*(Ndim+1)/2, или Ndim*Ndim, где Ndim 2 для задач 2-D и 3 для задач 3-D. Количество столбцов должно равняться количеству точек оценки, например M = length(location.y). Для получения дополнительной информации о размерностях матрицы, см. c Коэффициент для specifyCofficients.

Если свойства зависят от времени или температуры, убедитесь, что ваша функция возвращает матрицу NaN правильного размера при state.u или state.time являются NaN. Решатели проверяют, является ли задача зависящей от времени передачей NaN значения состояния и поиск возвращенных NaN значения.

Введенный в R2017a