Задание граничных условий для тепловой модели
thermalBC( добавляет условие границы температуры в thermalmodel,RegionType,RegionID,'Temperature',Tval)thermalmodel. Граничное условие применяется к областям типа RegionType с идентификационными номерами в RegionID.
thermalBC( добавляет граничное условие теплового потока в thermalmodel,RegionType,RegionID,'HeatFlux',HFval)thermalmodel. Граничное условие применяется к областям типа RegionType с идентификационными номерами в RegionID.
Примечание
Использовать thermalBC с HeatFlux для задания теплового потока к внешнему источнику или от него. Чтобы задать внутреннее тепловыделение, то есть источники тепла, принадлежащие геометрии модели, используйте internalHeatSource.
thermalBC( добавляет граничное условие конвекции к thermalmodel,RegionType,RegionID,'ConvectionCoefficient',CCval,'AmbientTemperature',ATval)thermalmodel. Граничное условие применяется к областям типа RegionType с идентификационными номерами в RegionID.
thermalBC( добавляет граничное условие излучения в thermalmodel,RegionType,RegionID,'Emissivity',REval,'AmbientTemperature',ATval)thermalmodel. Граничное условие применяется к областям типа RegionType с идентификационными номерами в RegionID.
возвращает объект теплового граничного условия.thermalBC = thermalBC(___)
Применить температурное граничное условие к двум кромкам квадрата.
thermalmodel = createpde('thermal'); geometryFromEdges(thermalmodel,@squareg); thermalBC(thermalmodel,'Edge',[1,3],'Temperature',100)
ans =
ThermalBC with properties:
RegionType: 'Edge'
RegionID: [1 3]
Temperature: 100
HeatFlux: []
ConvectionCoefficient: []
Emissivity: []
AmbientTemperature: []
Vectorized: 'off'
Применить граничное условие теплового потока к двум граням блока.
thermalmodel = createpde('thermal','transient'); gm = importGeometry(thermalmodel,'Block.stl'); thermalBC(thermalmodel,'Face',[1,3],'HeatFlux',20)
ans =
ThermalBC with properties:
RegionType: 'Face'
RegionID: [1 3]
Temperature: []
HeatFlux: 20
ConvectionCoefficient: []
Emissivity: []
AmbientTemperature: []
Vectorized: 'off'
Применить граничное условие конвекции к четырем граням блока.
thermalModel = createpde('thermal','transient'); gm = importGeometry(thermalModel,'Block.stl'); thermalBC(thermalModel,'Face',[2 4 5 6], ... 'ConvectionCoefficient',5, ... 'AmbientTemperature',27)
ans =
ThermalBC with properties:
RegionType: 'Face'
RegionID: [2 4 5 6]
Temperature: []
HeatFlux: []
ConvectionCoefficient: 5
Emissivity: []
AmbientTemperature: 27
Vectorized: 'off'
Наложите граничное условие излучения на четыре грани блока.
thermalmodel = createpde('thermal','transient'); gm = importGeometry(thermalmodel,'Block.stl'); thermalmodel.StefanBoltzmannConstant = 5.670373E-8; thermalBC(thermalmodel,'Face',[2,4,5,6],... 'Emissivity',0.1,... 'AmbientTemperature',300)
ans =
ThermalBC with properties:
RegionType: 'Face'
RegionID: [2 4 5 6]
Temperature: []
HeatFlux: []
ConvectionCoefficient: []
Emissivity: 0.1000
AmbientTemperature: 300
Vectorized: 'off'
Используйте дескрипторы функций для задания температурных граничных условий, зависящих от координат.
Создайте тепловую модель для нестационарного анализа и включите геометрию. Геометрия представляет собой стержень с круглым поперечным сечением. Модель 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);
Постройте график геометрии.
figure pdegplot(thermalmodel,'EdgeLabels','on'); xlim([-2 2]); ylim([-2 2]); title 'Rod Section Geometry with Edge Labels';

Предположим, что на левом конце стержня имеется источник тепла, а на правом - фиксированная температура. Внешняя поверхность стержня благодаря конвекции обменивается теплом с окружающей средой.
Определите граничные условия для модели. Кромка у = 0 (кромка 1) расположена вдоль оси симметрии. Тепло не передается в направлении по нормали к этой кромке. По умолчанию эта граница моделируется как изолированная граница.
Температура на правом конце стержня (кромка 2) является фиксированной температурой, T = 100 C. Укажите граничное условие для кромки 2 следующим образом.
thermalBC(thermalmodel,'Edge',2,'Temperature',100)
ans =
ThermalBC with properties:
RegionType: 'Edge'
RegionID: 2
Temperature: 100
HeatFlux: []
ConvectionCoefficient: []
Emissivity: []
AmbientTemperature: []
Vectorized: 'off'
Коэффициент конвекции для внешней поверхности стержня (край 3) зависит от координаты y, 50y. Задайте граничное условие для этой кромки следующим образом.
outerCC = @(location,~) 50*location.y; thermalBC(thermalmodel,'Edge',3,... 'ConvectionCoefficient',outerCC,... 'AmbientTemperature',100)
ans =
ThermalBC with properties:
RegionType: 'Edge'
RegionID: 3
Temperature: []
HeatFlux: []
ConvectionCoefficient: @(location,~)50*location.y
Emissivity: []
AmbientTemperature: 100
Vectorized: 'off'
Тепловой поток на левом конце стержня (кромка 4) также является функцией y-координаты 5000y. Задайте граничное условие для этой кромки следующим образом.
leftHF = @(location,~) 5000*location.y; thermalBC(thermalmodel,'Edge',4,'HeatFlux',leftHF)
ans =
ThermalBC with properties:
RegionType: 'Edge'
RegionID: 4
Temperature: []
HeatFlux: @(location,~)5000*location.y
ConvectionCoefficient: []
Emissivity: []
AmbientTemperature: []
Vectorized: 'off'
thermalmodel - Тепловая модельThermalModel объектТепловая модель, заданная как ThermalModel объект. Модель содержит геометрию, сетку, тепловые свойства материала, внутренний источник тепла, граничные условия и исходные условия.
Пример: thermalmodel = createpde('thermal','steadystate')
RegionType - Тип геометрической области'Edge' для модели 2-D | 'Face' для модели 3-DТип геометрической области, указанный как 'Edge' или 'Face'.
Пример: thermalBC(thermalmodel,'Face',1,'Temperature',72)
Типы данных: char
RegionID - Идентификатор геометрической областиИдентификатор геометрической области, заданный как вектор положительных целых чисел. Поиск идентификаторов регионов с помощью pdegplot с 'FaceLabels' (3-D) или 'EdgeLabels' (2-й) набор значений к'on'.
Пример: thermalBC(thermalmodel,'Edge',2:5,'Temperature',72)
Типы данных: double
Tval - Температурное граничное условиеТемпературное граничное условие, указанное как число или дескриптор функции. Используйте дескриптор функции, чтобы указать температуру, которая зависит от пространства и времени. Дополнительные сведения см. в разделе Дополнительные сведения.
Пример: thermalBC(thermalmodel,'Face',1,'Temperature',72)
Типы данных: double | function_handle
HFval - Граничное условие теплового потокаГраничное условие теплового потока, указанное как число или дескриптор функции. Используйте дескриптор функции, чтобы указать тепловой поток, который зависит от пространства и времени. Дополнительные сведения см. в разделе Дополнительные сведения.
Пример: thermalBC(thermalmodel,'Face',[1,3],'HeatFlux',20)
Типы данных: double | function_handle
CCval - Коэффициент конвекции в состояние теплопередачи окружающей средыКонвекция в граничное состояние окружающей среды, указанное как число или дескриптор функции. Используйте дескриптор функции, чтобы указать коэффициент конвекции, который зависит от пространства и времени. Дополнительные сведения см. в разделе Дополнительные сведения.
Укажите температуру окружающей среды с помощью AmbientTemperature аргумент. Значение ConvectionCoefficient является положительным для тепловой конвекции в окружающую среду.
Пример: thermalBC(thermalmodel,'Edge',[2,4],'ConvectionCoefficient',5,'AmbientTemperature',60)
Типы данных: double | function_handle
REval - Коэффициент излучательной способностиКоэффициент излучательной способности, определяемый как число в диапазоне (0,1). Используйте дескриптор функции, чтобы указать излучательную способность излучения, которая зависит от пространства и времени. Дополнительные сведения см. в разделе Дополнительные сведения.
Укажите температуру окружающей среды с помощью AmbientTemperature и константу Штефана-Больцмана с использованием свойств тепловой модели. Значение Emissivity является положительным для теплового излучения в окружающую среду.
Пример: thermalmodel.StefanBoltzmannConstant = 5.670373E-8; thermalBC(thermalmodel,'Edge',[2,4,5,6],'Emissivity',0.1,'AmbientTemperature',300)
Типы данных: double | function_handle
ATval - Температура окружающей средыТемпература окружающей среды, указанная как число. Значение температуры окружающей среды необходимо для определения условий конвекции и границ излучения.
Пример: thermalBC(thermalmodel,'Edge',[2,4],'ConvectionCoefficient',5,'AmbientTemperature',60)
Типы данных: double
thermalBC - Обращение к термическому граничному условиюThermalBC объектОбращение к термическому граничному условию, возвращенному как ThermalBC объект. См. раздел Свойства ThermalBC.
thermalBC связывает тепловое граничное условие с геометрической областью.
Используйте дескриптор функции, чтобы задать эти температурные параметры, когда они зависят от пространства, температуры и времени:
Теплопроводность материала
Массовая плотность материала
Удельная теплота материала
Внутренний источник тепла
Температура на границе
Тепловой поток через границу
Коэффициент конвекции на границе
Коэффициент излучательной способности на границе
Начальная температура
Например, используйте дескрипторы функций, чтобы указать теплопроводность, внутренний источник тепла, коэффициент конвекции и начальную температуру для этой модели.
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 значения.
applyBoundaryCondition | internalHeatSource | Свойства ThermalBC | thermalIC | thermalProperties
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.