Установка начальных условий или начальных предположений для тепловой модели
thermalIC( задает начальную температуру или начальное предположение для температуры для всей геометрии.thermalmodel,T0)
thermalIC( задает начальную температуру или начальное предположение для температуры для определенной области геометрии.thermalmodel,T0,RegionType,RegionID)
thermalIC( устанавливает начальную температуру или начальное предположение для температуры с использованием раствора thermalmodel,Tresults)Tresults из предыдущего теплового анализа той же геометрии и сетки. Если Tresults достигается путем решения нестационарной тепловой задачи, thermalIC использует решение Tresults для последнего шага времени.
thermalIC( устанавливает начальную температуру или начальное предположение для температуры с использованием раствора thermalmodel,Tresults,iT)Tresults для временного шага iT из предыдущего теплового анализа той же геометрии и сетки.
для любого предыдущего синтаксиса возвращает дескриптор объекту «thermal initial conditions».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-образной геометрии мембраны.
Создайте модель и включите 2-D геометрию.
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
Используйте дескриптор функции, чтобы указать начальную температуру, которая зависит от координат.
Создайте тепловую модель для нестационарного анализа и включите геометрию. Геометрия представляет собой стержень с круглым поперечным сечением. Модель 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);
Установите начальную температуру в стержне в зависимости от координаты 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',500,... 'MassDensity',200,... 'SpecificHeat',100); internalHeatSource(thermalmodel,2); thermalBC(thermalmodel,'Edge',[1,3],'Temperature',100); thermalIC(thermalmodel,0);
Создайте сетку, решите проблему и постройте график решения.
generateMesh(thermalmodel); tlist = 0:0.5:10; result1 = solve(thermalmodel,tlist)
result1 =
TransientThermalResults with properties:
Temperature: [1541x21 double]
SolutionTimes: [1x21 double]
XGradients: [1541x21 double]
YGradients: [1541x21 double]
ZGradients: []
Mesh: [1x1 FEMesh]
pdeplot(thermalmodel,'XYData',result1.Temperature(:,end))
Теперь возобновите анализ и решите проблему в течение времени от 10 до 15 секунд. В качестве исходного условия используйте ранее полученный раствор в течение 10 секунд. Поскольку 10 секунд - последний элемент в tlist, не требуется указывать индекс времени решения. По умолчанию thermalIC использует последний индекс решения.
thermalIC(thermalmodel,result1)
ans =
NodalThermalICs with properties:
InitialTemperature: [1541x1 double]
Решите проблему и постройте график решения.
result2 = solve(thermalmodel,10:0.5:15)
result2 =
TransientThermalResults with properties:
Temperature: [1541x11 double]
SolutionTimes: [10 10.5000 11 11.5000 12 12.5000 13 13.5000 14 14.5000 15]
XGradients: [1541x11 double]
YGradients: [1541x11 double]
ZGradients: []
Mesh: [1x1 FEMesh]
pdeplot(thermalmodel,'XYData',result2.Temperature(:,end))
Чтобы использовать ранее полученное решение для определенного времени решения вместо последнего, укажите индекс времени решения в качестве третьего параметра thermalIC. Например, используйте решение в момент времени 5 секунд, который является 11-м элементом в tlist.
tlist(11)
ans = 5
thermalIC(thermalmodel,result1,11);
result2 = solve(thermalmodel,5:0.5:15)
result2 =
TransientThermalResults with properties:
Temperature: [1541x21 double]
SolutionTimes: [1x21 double]
XGradients: [1541x21 double]
YGradients: [1541x21 double]
ZGradients: []
Mesh: [1x1 FEMesh]
pdeplot(thermalmodel,'XYData',result2.Temperature(:,end))
thermalmodel - Тепловая модельThermalModel объектТепловая модель, заданная как ThermalModel объект. Модель содержит геометрию, сетку, тепловые свойства материала, внутренний источник тепла, граничные условия и исходные условия.
Пример: thermalmodel = createpde('thermal','steadystate')
T0 - Начальная температура или начальное предположение для температурыНачальная температура или начальное предположение для температуры, указанное как число или дескриптор функции. Используйте дескриптор функции для задания пространственно изменяющейся начальной температуры. Дополнительные сведения см. в разделе Дополнительные сведения.
Типы данных: double | function_handle
RegionType - Тип геометрической области'Vertex' | 'Edge' | 'Face' | 'Cell' только для модели 3-DТип геометрической области, указанный как 'Vertex', 'Edge', 'Face', или 'Cell' для модели 3-D. Для модели 2-D используйте 'Vertex', 'Edge', или 'Face'.
Пример: thermalIC(thermalmodel,10,'Face',1)
Типы данных: char | string
RegionID - Идентификатор геометрической областиИдентификатор геометрической области, заданный как вектор положительных целых чисел. Поиск идентификаторов регионов с помощью 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',@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 значения.
Свойства GeometricThermalIc | internalHeatSource | Свойства NodalThermalICs | setInitialConditions | thermalBC | thermalProperties
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.