Установите начальные условия или исходное предположение для тепловой модели
thermalIC(
температура начальной буквы наборов или исходное предположение для температуры к целой геометрии.thermalmodel
,T0
)
thermalIC(
температура начальной буквы наборов или исходное предположение для температуры в конкретную область геометрии.thermalmodel
,T0
,RegionType
,RegionID
)
thermalIC(
температура начальной буквы наборов или исходное предположение для температуры с помощью решения thermalmodel
,Tresults
)Tresults
от предыдущего теплового анализа той же геометрии и mesh. Если Tresults
получен путем решения переходной тепловой задачи, thermalIC
использует решение Tresults
в течение прошлого такта.
thermalIC(
температура начальной буквы наборов или исходное предположение для температуры с помощью решения thermalmodel
,Tresults
,iT
)Tresults
в течение такта iT
от предыдущего теплового анализа той же геометрии и mesh.
, для любого предыдущего синтаксиса, возвращает указатель на тепловой объект начальных условий.thermalIC
= thermalIC(___)
Создайте тепловую модель, импортируйте геометрию и установите начальную температуру на 0 на целой геометрии.
thermalModel = createpde('thermal','transient'); geometryFromEdges(thermalModel,@lshapeg); thermalIC(thermalModel,0)
ans = GeometricThermalICs with properties: RegionType: 'face' RegionID: [1 2 3] InitialTemperature: 0
Установите различные начальные условия на каждом фрагменте L-образной мембранной геометрии.
Создайте модель и включайте 2D геометрию.
thermalModel = createpde('thermal','transient'); geometryFromEdges(thermalModel,@lshapeg); pdegplot(thermalModel,'FaceLabels','on') axis equal ylim([-1.1 1.1])
Установите начальные условия.
thermalIC(thermalModel,0,'Face',1)
ans = GeometricThermalICs with properties: RegionType: 'face' RegionID: 1 InitialTemperature: 0
thermalIC(thermalModel,10,'Face',2)
ans = GeometricThermalICs with properties: RegionType: 'face' RegionID: 2 InitialTemperature: 10
thermalIC(thermalModel,75,'Face',3)
ans = GeometricThermalICs with properties: RegionType: 'face' RegionID: 3 InitialTemperature: 75
Используйте указатель на функцию, чтобы задать начальную температуру, которая зависит от координат.
Создайте тепловую модель для анализа переходных процессов и включайте геометрию. Геометрия является стержнем с круглым сечением. 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-координаты, например, .
T0 = @(location)10^3*(0.2 - location.y.^2); thermalIC(thermalmodel,T0)
ans = GeometricThermalICs with properties: RegionType: 'face' RegionID: 1 InitialTemperature: @(location)10^3*(0.2-location.y.^2)
Создайте тепловую модель и включайте квадратную геометрию.
thermalmodel = createpde('thermal','transient'); geometryFromEdges(thermalmodel,@squareg); pdegplot(thermalmodel,'FaceLabels','on') ylim([-1.1,1.1]) axis equal
Задайте свойства материала и внутренний источник тепла, и условия границы множества и начальные условия.
thermalProperties(thermalmodel, ... 'ThermalConductivity',40,... 'MassDensity',7800,... 'SpecificHeat',500); internalHeatSource(thermalmodel,2); thermalBC(thermalmodel,'Edge',[1,3], ... 'Temperature',100); thermalIC(thermalmodel,0);
Сгенерируйте mesh, решите задачу и постройте решение.
generateMesh(thermalmodel);
tlist = 0:10:100;
result1 = solve(thermalmodel,tlist);
pdeplot(thermalmodel,'XYData',result1.Temperature(:,end))
Теперь возобновите анализ и решите задачу в течение многих времен с 100 до 1 000 секунд. Используйте ранее полученное решение в течение 100 секунд как начальное условие. С 10 секунд последний элемент в tlist
, вы не должны задавать индекс времени решения. По умолчанию, thermalIC
использует последний индекс решения.
thermalIC(thermalmodel,result1);
Решите задачу и постройте решение.
result2 = solve(thermalmodel,100:100:1000);
pdeplot(thermalmodel,'XYData',result2.Temperature(:,end))
Чтобы использовать ранее полученное решение в течение конкретного времени решения вместо последнего, задайте индекс времени решения как третий параметр thermalIC
. Например, используйте решение во время 50 секунд, который является 6-м элементом в tlist
.
tlist(6)
ans = 50
thermalIC(thermalmodel,result1,6);
result2 = solve(thermalmodel,50:100:1000);
pdeplot(thermalmodel,'XYData',result2.Temperature(:,end))
thermalmodel
— Тепловая модельThermalModel
объектТепловая модель в виде ThermalModel
объект. Модель содержит геометрию, mesh, тепловые свойства материального, внутреннего источника тепла, граничных условий и начальных условий.
Пример: thermalmodel = createpde('thermal','steadystate')
T0
— Начальная температура или исходное предположение для температурыНачальная температура или исходное предположение для температуры в виде номера или указателя на функцию. Используйте указатель на функцию, чтобы задать пространственно различную начальную температуру. Для получения дополнительной информации смотрите Больше О.
Типы данных: double |
function_handle
RegionType
— Геометрический тип области'Vertex'
| 'Edge'
| 'Face'
| 'Cell'
для 3-D модели толькоГеометрический тип области в виде 'Vertex'
, 'Edge'
, 'Face'
, или 'Cell'
для 3-D модели. Для 2D модели используйте 'Vertex'
, 'Edge'
, или 'Face'
.
Пример: thermalIC(thermalmodel,10,'Face',1)
Типы данных: char |
string
RegionID
— Геометрический ID областиГеометрический ID области в виде вектора из положительных целых чисел. Найдите идентификаторы области при помощи pdegplot
.
Пример: thermalIC(thermalmodel,10,'Edge',2:5)
Типы данных: double
Tresults
— Тепловое решение моделиThermalResults
объектТепловое решение модели в виде ThermalResults
объект. Создайте Tresults
при помощи solve
.
iT
— Индекс времениИндекс времени в виде положительного целого числа.
Пример: thermalIC(thermalmodel,Tresults,21)
Типы данных: double
thermalIC
— Обработайте к начальному условиюGeometricThermalICs
возразите | NodalThermalICs
объектОбработайте к начальному условию, возвращенному как GeometricThermalICs
или NodalThermalICs
объект. Смотрите Свойства GeometricThermalICs и Свойства NodalThermalICs.
thermalIC
сопоставляет тепловое начальное условие с геометрической областью в случае геометрического присвоения или узлами в случае основанного на результатах присвоения.
Используйте указатель на функцию, чтобы задать эти тепловые параметры, когда они будут зависеть от пробела, температуры, и время:
Теплопроводность материала
Массовая плотность материала
Удельная теплоемкость материала
Внутренний источник тепла
Температура на контуре
Нагрейте поток через контур
Коэффициент конвекции на контуре
Коэффициент излучаемости излучения на контуре
Начальная температура (может зависеть только от пробела),
Например, используйте указатели на функцию, чтобы задать теплопроводность, внутренний источник тепла, коэффициент конвекции и начальную температуру для этой модели.
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.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
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
значения.
thermalProperties
| internalHeatSource
| thermalBC
| setInitialConditions
| Свойства GeometricThermalICs | Свойства NodalThermalICs
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.