thermalIC

Установите начальные условия или исходное предположение для тепловой модели

Описание

пример

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-координаты, например, 103(0.2-y2).

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);

Сгенерируйте 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]

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 объект. Модель содержит геометрию, mesh, тепловые свойства материального, внутреннего источника тепла, граничных условий и начальных условий.

Пример: thermalmodel = createpde('thermal','steadystate')

Начальная температура или исходное предположение для температуры, заданной как номер или указатель на функцию. Используйте указатель на функцию, чтобы задать пространственно различную температуру. Функция должна иметь форму

T0 = T0fun(location)

Решатель передает location как структура с полями location.x, location.y, и, для 3-D проблем, location.z. T0fun должен возвратить вектор-строку T0 с количеством столбцов равняются M = length(location.x).

Типы данных: double | function_handle

Геометрический тип области, заданный как 'Vertex', 'Edge', 'Face', или 'Cell' для 3-D модели. Для 2D модели используйте 'Vertex', 'Edge', или 'Face'.

Пример: thermalIC(thermalmodel,10,'Face',1)

Типы данных: char | string

Геометрический ID области, заданный как вектор положительных целых чисел. Найдите идентификаторы области при помощи pdegplot.

Пример: thermalIC(thermalmodel,10,'Edge',2:5)

Типы данных: double

Тепловое решение модели, заданное как ThermalResults объект. Создайте Tresults при помощи solve.

Индекс времени, заданный как положительное целое число.

Пример: thermalIC(thermalmodel,Tresults,21)

Типы данных: double

Выходные аргументы

свернуть все

Обработайте к начальному условию, возвращенному как объект. thermalIC сопоставляет тепловое начальное условие с геометрической областью в случае геометрического присвоения или узлами в случае основанного на результатах присвоения.

Введенный в R2017a