Найдите тепловые начальные условия присвоенными геометрической области
возвращает тепловое начальное условие, присвоенное заданной области.tica = findThermalIC(thermalmodel.InitialConditions,RegionType,RegionID)
Создайте переходную тепловую модель, которая имеет три поверхности.
thermalmodel = createpde('thermal','transient'); geometryFromEdges(thermalmodel,@lshapeg); pdegplot(thermalmodel,'FaceLabels','on') ylim([-1.1 1.1]) axis equal

Установите начальные температуры для каждой поверхности.
thermalIC(thermalmodel,10,'Face',1); thermalIC(thermalmodel,20,'Face',2); thermalIC(thermalmodel,30,'Face',3);
Проверяйте начальную спецификацию условия на поверхность 1.
ticaFace1 = findThermalIC(thermalmodel.InitialConditions,'Face',1)ticaFace1 =
GeometricThermalICs with properties:
RegionType: 'face'
RegionID: 1
InitialTemperature: 10
Проверяйте начальные температурные спецификации на поверхности 2 и 3.
tica = findThermalIC(thermalmodel.InitialConditions,'Face',[2 3]);
ticaFace2 = tica(1)ticaFace2 =
GeometricThermalICs with properties:
RegionType: 'face'
RegionID: 2
InitialTemperature: 20
ticaFace3 = tica(2)
ticaFace3 =
GeometricThermalICs with properties:
RegionType: 'face'
RegionID: 3
InitialTemperature: 30
Создайте геометрию, которая состоит из трех вложенных цилиндров, и включайте геометрию в переходную тепловую модель.
gm = multicylinder([5 10 15],2)
gm =
DiscreteGeometry with properties:
NumCells: 3
NumFaces: 9
NumEdges: 6
NumVertices: 6
thermalmodel = createpde('thermal','transient'); thermalmodel.Geometry = gm; pdegplot(thermalmodel,'CellLabels','on','FaceAlpha',0.5)

Установите начальные температуры для каждой ячейки.
thermalIC(thermalmodel,0,'Cell',1); thermalIC(thermalmodel,100,'Cell',2); thermalIC(thermalmodel,0,'Cell',3);
Проверяйте начальную спецификацию условия на ячейку 1.
ticaCell1 = findThermalIC(thermalmodel.InitialConditions,'Cell',1)ticaCell1 =
GeometricThermalICs with properties:
RegionType: 'cell'
RegionID: 1
InitialTemperature: 0
Проверяйте начальную спецификацию условия на ячейки 2 и 3.
tica = findThermalIC(thermalmodel.InitialConditions,'Cell',[2:3]);
ticaCell2 = tica(1)ticaCell2 =
GeometricThermalICs with properties:
RegionType: 'cell'
RegionID: 2
InitialTemperature: 100
ticaCell3 = tica(2)
ticaCell3 =
GeometricThermalICs with properties:
RegionType: 'cell'
RegionID: 3
InitialTemperature: 0
Создайте тепловую модель и включайте квадратную геометрию.
thermalmodel = createpde('thermal','transient'); gm = @squareg; geometryFromEdges(thermalmodel,gm); 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);
Сгенерируйте mesh и решите задачу.
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]
Проверяйте в настоящее время активную начальную температурную спецификацию.
tica = findThermalIC(thermalmodel.InitialConditions,'Face',1)tica =
GeometricThermalICs with properties:
RegionType: 'face'
RegionID: 1
InitialTemperature: 0
Теперь возобновите анализ и решите задачу в течение многих времен с 10 до 15 секунд. Используйте ранее полученное решение в течение 10 секунд как начальное условие. С 10 секунд последний элемент в tlist, вы не должны задавать индекс времени решения. По умолчанию, thermalIC использует последний индекс решения.
ic = thermalIC(thermalmodel,result1);
Решите задачу
tlist = 10:0.5:15; result2 = solve(thermalmodel,tlist);
Проверяйте в настоящее время активную начальную температурную спецификацию.
tica = findThermalIC(thermalmodel.InitialConditions,'Face',1)tica =
NodalThermalICs with properties:
InitialTemperature: [1541x1 double]
pdeplot(thermalmodel,'XYData',tica.InitialTemperature)
thermalmodel.InitialConditions — Начальные условия тепловой моделиInitialConditions свойство тепловой моделиНачальные условия тепловой модели, заданной как InitialConditions свойство ThermalModel объект.
RegionType — Геометрический тип области'Edge' | 'Face' | 'Vertex' | 'Cell' для 3-D моделиГеометрический тип области, заданный как 'Edge', 'Face', или 'Vertex' для 2D или 3-D модели модели или 'Cell' для 3-D модели.
Типы данных: char | string
RegionID — Геометрический ID областиГеометрический ID области, заданный как вектор положительных целых чисел. Найдите идентификаторы области с помощью pdegplot функция с 'FaceLabels' (3-D) или 'EdgeLabels' (2D) набор значений к 'on'.
Типы данных: double
tica — Тепловое начальное условие для конкретной областиGeometricThermalICs возразите | NodalThermalICs объектТепловое начальное условие для конкретной области, возвращенной как объект GeometricThermalICs Properties или NodalThermalICs Properties.
Свойства GeometricThermalICs | Свойства NodalThermalICs | thermalIC
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.