主要内容

internalHeatSource

指定内部热源的热模型

描述

例子

internalHeatSource (thermalmodel,heatSourceValue)指定一个内部热源的热模型。这个语法宣称整个几何是一个热源。

请注意

使用internalHeatSource用于指定内部热发电机,用于指定热源,属于几何模型。指定一个热量流入从外部来源,使用thermalBC函数与HeatFlux参数。

例子

internalHeatSource (thermalmodel,heatSourceValue,RegionType,RegionID)指定类型的几何区域RegionType与身份号码RegionID作为热源。总是指定heatSourceValue首先,然后指定RegionTypeRegionID

internalHeatSource (___“标签”,labeltext)添加一个标签内部热源的使用linearizeInput函数。这个函数允许您通过内部热源线性化使用函数,提取稀疏线性模型控制系统工具箱™。

heatSource= internalHeatSource (___)返回热源的对象。

例子

全部折叠

创建一个瞬态热模型。

thermalmodel = createpde (“热”,“瞬态”);

导入几何。

通用= importGeometry (thermalmodel,“SquareBeam.stl”);

导热系数设置为0.2,质量密度2700年e-9和比热920年

thermalProperties (thermalmodel“ThermalConductivity”,0.2,“MassDensity”2700 e-9,“SpecificHeat”,920)
ans = ThermalMaterialAssignment属性:RegionType:“细胞”RegionID: 1 ThermalConductivity: 0.2000 MassDensity: 2.7000 e-06 SpecificHeat: 920

指定整个几何产生热量的速度2的军医

internalHeatSource (thermalmodel、2)的军医
ans = HeatSourceAssignment属性:RegionType:“细胞”RegionID: 1 HeatSource: 2.0000 e-04标签:[]

创建一个稳态热模型。

thermalModel = createpde (“热”,“瞬态”);

创建几何。

于SQ1 = [3;4;0;3;3;0;0;0;3;3); D1 = [2; 4; 0.5; 1.5; 2.5; 1.5; 1.5; 0.5; 1.5; 2.5]; gd = [SQ1 D1]; sf =“于SQ1 + D1”;ns = char (“于SQ1”,“D1”);ns = ns ';dl = decsg (gd、科幻、ns);geometryFromEdges (thermalModel dl);

导热系数设置为50,600年2500年质量密度和比热。

thermalProperties (thermalModel“ThermalConductivity”,50岁,“MassDensity”,2500,“SpecificHeat”,600);

指定1产生的热量在25。

internalHeatSource (thermalModel, 25岁,“面子”,1)
ans = HeatSourceAssignment属性:RegionType:“脸”RegionID: 1 HeatSource: 25标签:[]

使用一个函数处理指定一个内部热源,取决于坐标。

创建一个热模型进行瞬态分析,包括几何。几何图形是圆形截面的杆。二维矩形带的模型y维度延伸对称轴的外表面,和的x维度延伸杆的实际长度。

thermalmodel = createpde (“热”,“瞬态”);g = decsg ([3 4 -1.5 1.5 1.5 -1.5 0 0。2。2]”);geometryFromEdges (thermalmodel g);

产生的热量在杆由于放射性衰变。因此,整个几何是一个内部非线性热源,可以表示为的函数y例如,协调 = 2000年 y

q = 2000 * location.y @(位置、状态);

指定的内部热源瞬态模型。

internalHeatSource (thermalmodel q)
ans = HeatSourceAssignment属性:RegionType:“脸”RegionID: 1 HeatSource: @(位置、状态)2000 *位置。y标签:[]

使用一个函数处理指定一个内部热源,取决于时间。

创建一个热模型进行瞬态分析,包括几何。几何是一个矩形地带。

thermalmodel = createpde (“热”,“瞬态”);g = decsg ([3 4 -1.5 1.5 1.5 -1.5 0 0。2。2]”);geometryFromEdges (thermalmodel g);

指定杆的热性能。

thermalProperties (thermalmodel“ThermalConductivity”现年40岁的“MassDensity”,7800,“SpecificHeat”,500);

指定边界条件和初始温度。

thermalBC (thermalmodel“边缘”2,“温度”,100);thermalBC (thermalmodel“边缘”3,“ConvectionCoefficient”,50岁,“AmbientTemperature”,100);thermalIC (thermalmodel 0);

指定整个几何生成热率20000t在第一次500秒,然后热源关闭。时间热源函数

internalHeatSource (thermalmodel @heatSource);

生成网格,解决了模型使用解决方案时间从0到50000秒,并画出结果。

generateMesh (thermalmodel);tfinal = 50000;tlist = 0:100: tfinal;结果=解决(thermalmodel tlist);T = result.Temperature;图次要情节(2,1,1)pdeplot (thermalmodel,“XYData”T (: 6),“轮廓”,“上”)轴平等的标题(sprintf (“温度% g s”,tlist(6)))次要情节(2,1,2)pdeplot (thermalmodel,“XYData”T(:,结束),“轮廓”,“上”)轴平等的标题(sprintf (“温度% g s”,tfinal))

图包含2轴对象。坐标轴对象1标题温度在500年代包含12块类型的对象。坐标轴对象2标题温度在50000年代包含12块类型的对象,线。

总是确保你的函数返回一个矩阵正确的尺寸时state.time。解算器正确认识到通过一个时间问题状态值和寻找回来值。如果没有这个条件,解算器可能会失败或返回不正确的结果。

internalHeatSource (thermalmodel @heatSourceInvalid);结果=解决(thermalmodel tlist);T = result.Temperature;图次要情节(2,1,1)pdeplot (thermalmodel,“XYData”T (: 6),“轮廓”,“上”)轴平等的标题(sprintf (“温度% g s”,tlist(6)))次要情节(2,1,2)pdeplot (thermalmodel,“XYData”T(:,结束),“轮廓”,“上”)轴平等的标题(sprintf (“温度% g s”,tfinal))

图包含2轴对象。坐标轴对象1标题温度在500年代包含12块类型的对象。坐标轴对象2标题温度在50000年代包含12块类型的对象,线。

时间热源函数

函数Q = heatSource(位置、状态)Q = 0(1,元素个数(location.x));如果(isnan (state.time))%返回NaN当时间=南告诉%的解决热源是时间的函数。问(:1)=南;返回结束如果state.time< 500 Q(1,:) = 20000*state.time;结束结束函数Q = heatSourceInvalid(位置、状态)%不检查NaNQ = 0(1,元素个数(location.x));如果state.time< 500 Q(1,:) = 20000*state.time;结束结束

输入参数

全部折叠

热模型,指定为一个ThermalModel对象。包含几何模型、网格、热性能的材料,内部热源,边界条件和初始条件。

例子:thermalmodel = createpde(“热”、“稳态”)

几何区域类型,指定为“面子”二维模型或“细胞”3 d模型。

例子:internalHeatSource (thermalmodel, 25岁的“细胞”,1)

数据类型:字符|字符串

几何区域ID指定为一个向量的正整数。发现该地区IDs使用pdegplot

例子:internalHeatSource (thermalmodel, 25岁的“细胞”,1:3)

数据类型:

热源的值,指定为一个数字或一个函数处理。使用一个函数处理指定内部热源,取决于空间,时间,或温度。有关详细信息,请参见更多关于

例子:internalHeatSource (thermalmodel, 25)

数据类型:|function_handle

标签内部热源,指定为一个特征向量或一个字符串。

数据类型:字符|字符串

输出参数

全部折叠

热源处理,作为一个返回HeatSourceAssignment对象。看到HeatSourceAssignment属性

heatSourceValue将热源的值与几何区域。

更多关于

全部折叠

指定非常数的热模型的参数

使用一个函数处理指定这些热参数取决于空间时,温度,和时间:

  • 导热系数的材料

  • 质量密度的材料

  • 比热容的材料

  • 内部热源

  • 温度对边界

  • 通过边界热流

  • 对流系数的边界

  • 辐射发射率系数的边界

  • 初始温度(只能依赖于空间)

例如,使用功能处理指定导热,内部热源,对流系数和初始温度模型。

thermalProperties(模型,“ThermalConductivity”,@myfunConductivity) internalHeatSource(模型,“面子”2、@myfunHeatSource) thermalBC(模型、“边缘”(3、4),“ConvectionCoefficient”@myfunBC,“AmbientTemperature”27)thermalIC(模型、@myfunIC)

对所有参数,除了初始温度,表单的功能必须:

函数thermalVal = myfun(位置、状态)

初始温度的函数必须的形式:

函数thermalVal = myfun(位置)

解算器计算和填充数据位置状态结构数组并将此数据传递到你的函数。您可以定义函数,使其输出取决于这些数据。您可以使用任何名称代替位置状态,但函数必须有两个参数(或一个参数如果函数指定了初始温度)。

  • 位置——一个包含这些字段的结构:

    • location.x- - -x坐标的点或点

    • location.y- - -y坐标的点或点

    • location.z——3 d或一个轴对称几何z坐标的点或点

    • location.r——对于一个轴对称几何r坐标的点或点

    此外,边界条件,求解传递这些数据位置结构:

    • location.nx- - - - - -x分法向量的评估点或点

    • location.ny- - - - - -y分法向量的评估点或点

    • location.nz——3 d或一个轴对称几何,z分法向量的评估点或点

    • location.nr——对于一个轴对称几何,r分法向量的评估点或点

  • 状态——一个包含这些字段的结构瞬态或非线性问题:

    • 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

  • 子域ID

  • 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

  • 子域ID

所有热参数,除了热导率,你的函数必须返回一个行向量thermalVal列的数量等于评估点的数量,例如,M =长度(location.y)

热导率,你的函数必须返回一个矩阵thermalVal的行数等于1,Ndim,Ndim * (Ndim + 1) / 2,或Ndim * Ndim,在那里Ndim2为二维问题和3三维问题。列数必须等于评估点的数量,例如,M =长度(location.y)。矩阵的维度详细信息,请参阅specifyCoefficients c系数

如果属性依赖于时间和温度,确保你的函数返回一个矩阵正确的尺寸时state.ustate.time。解决检查是否一个问题是与时间有关的通过状态值和寻找回来值。

附加参数在函数非常数的热参数

在你的函数中使用附加参数,用你的函数(这需要附加参数)与一个匿名函数,只需要位置状态参数。例如:

thermalVal =@(位置、状态)myfunWithAdditionalArgs(位置、状态、__arg1最长)thermalBC(模型,“边缘”3,“温度”thermalVal) thermalVal = @(位置)myfunWithAdditionalArgs(位置、__arg1最长)thermalVal thermalIC(模型)

版本历史

介绍了R2017a

全部展开