Задайте граничные условия для тепловой модели
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';
Предположим, что в левом конце стержня имеется источник тепла, а в правом - фиксированная температура. Внешняя поверхность штока обменивается теплом с окружением за счет конвекции.
Задайте граничные условия для модели. Значение ребра при y = 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, 50 y. Задайте граничное условие для этого ребра следующим образом.
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-D) значение установлено на '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-компонент вектора 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
значения.
applyBoundaryCondition
| internalHeatSource
| Свойства ThermalBC | thermalIC
| thermalProperties
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.