Найдите тепловые начальные условия присвоенными геометрической области
возвращает тепловое начальное условие, присвоенное заданной области.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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.