internalHeatSource

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

Описание

пример

internalHeatSource(thermalmodel,heatSourceValue) задает внутренний источник тепла для тепловой модели. Этот синтаксис объявляет, что целая геометрия является источником тепла.

Примечание

Используйте internalHeatSource для определения внутренних генераторов тепла, то есть, для определения источников тепла, которые принадлежат геометрии модели. Чтобы задать приток тепла из внешнего источника, используйте thermalBC функция с HeatFlux параметр.

пример

internalHeatSource(thermalmodel,heatSourceValue,RegionType,RegionID) задает области геометрии типа RegionType с идентификационными номерами в RegionID как источники тепла. Всегда задавайте heatSourceValue во-первых, затем задайте RegionType и RegionID.

heatSource = internalHeatSource(___) возвращает объект источника тепла.

Примеры

свернуть все

Создайте переходную тепловую модель.

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

Импортируйте геометрию.

gm = importGeometry(thermalmodel,'SquareBeam.STL');

Установите теплопроводность на 0.2, массовая плотность к 2700e-9, и удельная теплоемкость к 920.

thermalProperties(thermalmodel,'ThermalConductivity',0.2, ...
                               'MassDensity',2700e-9, ...
                               'SpecificHeat',920)
ans = 
  ThermalMaterialAssignment with properties:

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

Укажите, что целая геометрия вырабатывает тепло на уровне 2e-4.

internalHeatSource(thermalmodel,2e-4)
ans = 
  HeatSourceAssignment with properties:

    RegionType: 'cell'
      RegionID: 1
    HeatSource: 2.0000e-04

Создайте установившуюся тепловую модель.

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

Создайте геометрию.

SQ1 = [3; 4; 0; 3; 3; 0; 0; 0; 3; 3];
D1 = [2; 4; 0.5; 1.5; 2.5; 1.5; 1.5; 0.5; 1.5; 2.5];
gd = [SQ1 D1];
sf = 'SQ1+D1';
ns = char('SQ1','D1');
ns = ns';
dl = decsg(gd,sf,ns);

geometryFromEdges(thermalModel,dl);

Установите теплопроводность на 50, массовую плотность к 2 500 и удельную теплоемкость к 600.

thermalProperties(thermalModel,'ThermalConductivity',50, ...
                               'MassDensity',2500, ...
                               'SpecificHeat',600);

Укажите, что стоят 1, вырабатывает тепло в 25.

internalHeatSource(thermalModel,25,'Face',1)
ans = 
  HeatSourceAssignment with properties:

    RegionType: 'face'
      RegionID: 1
    HeatSource: 25

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

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

Тепло выработано в стержне из-за радиоактивного затухания. Поэтому целая геометрия является внутренним нелинейным источником тепла и может быть представлена функцией y-координаты, например, q=2000y.

q = @(location,state)2000*location.y;

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

internalHeatSource(thermalmodel,q)
ans = 
  HeatSourceAssignment with properties:

    RegionType: 'face'
      RegionID: 1
    HeatSource: @(location,state)2000*location.y

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

свернуть все

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

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

Геометрический тип области, заданный как 'Face' для 2D модели или 'Cell' для 3-D модели.

Пример: internalHeatSource(thermalmodel,25,'Cell',1)

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

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

Пример: internalHeatSource(thermalmodel,25,'Cell',1:3)

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

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

heatSourceValue = heatSourceFun(location,state)

Решатель передает location данные как массив структур с полями location.x, location.y, и, для 3-D проблем, location.z. state данные являются массивом структур с полями state.u, state.ux, state.uy, state.uz (для 3-D проблем), и state.time (для переходных проблем). state.u поле содержит вектор решения. state.ux, state.uy, state.uz поля являются оценками частных производных решения в соответствующих точках структуры местоположения. state.time поле содержит время в точках оценки.

heatSourceFun должен возвратить вектор-строку heatSourceValue с количеством столбцов равняются количеству точек оценки, M = length(location.x).

Пример: internalHeatSource(thermalmodel,25)

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

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

свернуть все

Обработайте к источнику тепла, возвращенному как объект. heatSourceValue сопоставляет значение источника тепла с геометрической областью.

Смотрите также

|

Введенный в R2017a