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');

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

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

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

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

Figure contains an axes object. The axes object 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: []

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

Создайте тепловую модель для анализа переходных процессов и включайте геометрию. Геометрия является стержнем с круглым сечением. 2D модель является прямоугольной полосой, 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 объект. Модель содержит геометрию, mesh, тепловые свойства материального, внутреннего источника тепла, граничных условий и начальных условий.

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

Геометрический тип области в виде 'Face' или 'Cell'.

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

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

Геометрический ID области в виде вектора из положительных целых чисел. Найдите идентификаторы области при помощи 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', ...
                        @myfunConductivity)
internalHeatSource(model,'Face',2,@myfunHeatSource)
thermalBC(model,'Edge',[3,4], ...
                'ConvectionCoefficient',@myfunBC, ...
                'AmbientTemperature',27)
thermalIC(model,@myfunIC)

Для всех параметров, кроме начальной температуры, функция должна иметь форму:

function thermalVal = myfun(location,state)

Для начальной температуры функция должна иметь форму:

function thermalVal = myfun(location)

Решатель вычисляет и заполняет данные в location и state массивы структур и передачи эти данные к вашей функции. Можно задать функцию так, чтобы ее выход зависел от этих данных. Можно использовать любые имена вместо location и state, но функция должна иметь точно два аргумента (или один аргумент, если функция задает начальную температуру). Чтобы использовать дополнительные аргументы в вашей функции, перенесите свою функцию (который берет дополнительные аргументы) с анонимной функцией, которая берет только location и state аргументы. Например:

thermalVal = ...
@(location,state) myfunWithAdditionalArgs(location,state,arg1,arg2...)
thermalBC(model,'Edge',3,'Temperature',thermalVal)

thermalVal = @(location) myfunWithAdditionalArgs(location,arg1,arg2...)
thermalIC(model,thermalVal)
  • location — Структура, содержащая эти поля:

    • location.xX-координата точки или точек

    • location.yY-координата точки или точек

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

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

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

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

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

    • 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

  • ID субдомена

  • 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

  • ID субдомена

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

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

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

Введенный в R2017a