exponenta event banner

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 объект. См. раздел Свойства назначения тикематериалов.

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-компонент вектора нормали в точке оценки или точках

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

    • 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 Коэффициент для specifyCoefficients.

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

Представлен в R2017a