Найдите тепловые начальные условия, присвоенные геометрической области
возвращает начальное тепловое условие, присвоенное указанной области.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 Vertices: [6x3 double]
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'
для модели 2-D или 3-D модели или 'Cell'
для модели 3-D.
Типы данных: char
| string
RegionID
- Идентификатор геометрической областиИдентификатор геометрической области, заданный как вектор положительных целых чисел. Найдите идентификаторы областей, используя pdegplot
функция со 'FaceLabels'
(3-D) или 'EdgeLabels'
(2-D) значение установлено на 'on'
.
Типы данных: double
tica
- Тепловое начальное условие для конкретной областиGeometricThermalICs
| объекта NodalThermalICs
объектНачальное тепловое условие для конкретной области, возвращаемое как объект GeometricThermalICs Properties или NodalThermalICs Properties.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.