主要内容

thermalBC

为热模型指定边界条件

描述

例子

thermalBC (thermalmodel,RegionType,RegionID“温度”,Tval)添加一个温度边界条件thermalmodel。这一边界条件适用于区域类型RegionType与身份号码RegionID

例子

thermalBC (thermalmodel,RegionType,RegionID“HeatFlux”,HFval)添加一个热流边界条件thermalmodel。这一边界条件适用于区域类型RegionType与身份号码RegionID

请注意

使用thermalBCHeatFlux参数指定一个热流或从外部源。指定内部生热性,即热源,属于几何模型的使用internalHeatSource

例子

thermalBC (thermalmodel,RegionType,RegionID“ConvectionCoefficient”,CCval“AmbientTemperature”,ATval)添加一个对流边界条件thermalmodel。这一边界条件适用于区域类型RegionType与身份号码RegionID

例子

thermalBC (thermalmodel,RegionType,RegionID“辐射”,瑞威尔“AmbientTemperature”,ATval)添加一个辐射边界条件thermalmodel。这一边界条件适用于区域类型RegionType与身份号码RegionID

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

thermalBC= thermalBC (___)返回热边界条件的对象。

例子

全部折叠

应用温度边界条件的两条边广场。

thermalmodel = createpde (“热”);geometryFromEdges (thermalmodel @squareg);thermalBC (thermalmodel“边缘”(1、3),“温度”,100)
ans = ThermalBC属性:RegionType:“边缘”RegionID: 3[1]温度:100 HeatFlux: [] ConvectionCoefficient:[]发射率:[]AmbientTemperature:[]矢量化:“关闭”标签:[]

应用热流边界条件的两副面孔。

thermalmodel = createpde (“热”,“瞬态”);通用= importGeometry (thermalmodel,“Block.stl”);thermalBC (thermalmodel“面子”(1、3),“HeatFlux”,20)
ans = ThermalBC属性:RegionType:“脸”RegionID: 3[1]温度:[]HeatFlux: 20 ConvectionCoefficient:[]发射率:[]AmbientTemperature:[]矢量化:“关闭”标签:[]

应用对流边界条件四个脸上一块。

thermalModel = createpde (“热”,“瞬态”);通用= importGeometry (thermalModel,“Block.stl”);thermalBC (thermalModel“面子”(2 4 5 6),“ConvectionCoefficient”5,“AmbientTemperature”,27)
ans = ThermalBC属性:RegionType:“脸”RegionID:[2 4 5 6)温度:[]HeatFlux: [] ConvectionCoefficient: 5辐射率:[]AmbientTemperature: 27矢量化:“关闭”标签:[]

应用辐射边界条件四个脸上一块。

thermalmodel = createpde (“热”,“瞬态”);通用= importGeometry (thermalmodel,“Block.stl”);thermalmodel。StefanBoltzmannConstant = 5.670373 e-8;thermalBC (thermalmodel“面子”,(2、4、5、6),“辐射”,0.1,“AmbientTemperature”,300)
ans = ThermalBC属性:RegionType:“脸”RegionID:[2 4 5 6)温度:[]HeatFlux: [] ConvectionCoefficient:[]发射率:0.1000 AmbientTemperature: 300矢量化:“关闭”标签:[]

使用函数处理指定热边界条件取决于坐标。

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

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

绘制几何图形。

图pdegplot (thermalmodel,“EdgeLabels”,“上”);xlim (2 [2]);ylim (2 [2]);标题“杆截面几何边缘标签”

图包含一个坐标轴对象。坐标轴对象与标题杆截面几何边缘标签包含5线类型的对象,文本。

假设有一个热源在杆的左端和右端固定温度。杆的外表面与环境交换热量对流。

定义模型的边界条件。在边缘y= 0(1)边缘沿对称轴。没有热量转移的方向正常这条边。这个边界被建模为一个绝缘边界,默认情况下。

温度在合适的杆(2)边缘是一个固定的温度,T = 100 c为边缘2指定边界条件如下。

thermalBC (thermalmodel“边缘”2,“温度”,100)
ans = ThermalBC属性:RegionType:“边缘”RegionID: 2温度:100 HeatFlux: [] ConvectionCoefficient:[]发射率:[]AmbientTemperature:[]矢量化:“关闭”标签:[]

杆的外表面的对流系数(边缘3)取决于y协调,50y。指定这条边的边界条件如下。

outerCC = @(位置,~)50 * location.y;thermalBC (thermalmodel“边缘”3,“ConvectionCoefficient”outerCC,“AmbientTemperature”,100)
ans = ThermalBC属性:RegionType:“边缘”RegionID: 3温度:[]HeatFlux: [] ConvectionCoefficient: @(位置,~)50 *位置。y辐射率:[]AmbientTemperature: 100矢量化:“关闭”标签:[]

热通量的左端杆(4)边缘也的一个函数y协调,5000y。指定这条边的边界条件如下。

leftHF = @(位置,~)5000 * location.y;thermalBC (thermalmodel“边缘”4“HeatFlux”leftHF)
ans = ThermalBC属性:RegionType:“边缘”RegionID: 4温度:[]HeatFlux: @(位置,~)5000 *位置。y ConvectionCoefficient:[]发射率:[]AmbientTemperature:[]矢量化:“关闭”标签:[]

输入参数

全部折叠

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

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

几何区域类型,指定为“边缘”“面子”

例子:thermalBC (thermalmodel,“面子”,“温度”,72年)

数据类型:字符

几何区域ID指定为一个向量的正整数。发现该地区IDs使用pdegplot“FaceLabels”(3 - d)或“EdgeLabels”(二)值设置为“上”

例子:2:5 thermalBC (thermalmodel,“边缘”,“温度”,72年)

数据类型:

温度边界条件,指定为一个数字或一个函数处理。使用一个函数处理指定的温度取决于时间和空间。有关详细信息,请参见更多关于

例子:thermalBC (thermalmodel,“面子”,“温度”,72年)

数据类型:|function_handle

热流边界条件,指定为一个数字或一个函数处理。使用一个函数处理指定的热通量取决于时间和空间。有关详细信息,请参见更多关于

例子:thermalBC (thermalmodel,“面子”,[1,3],“HeatFlux”, 20)

数据类型:|function_handle

对流环境边界条件,指定为一个数字或一个函数处理。使用一个函数处理指定的对流系数依赖于时间和空间。有关详细信息,请参见更多关于

指定使用的环境温度AmbientTemperature论点。的价值ConvectionCoefficient是正对热对流到周围环境中。

例子:thermalBC (thermalmodel,“边缘”(2、4),“ConvectionCoefficient”, 5,“AmbientTemperature”, 60)

数据类型:|function_handle

辐射发射率系数,指定为一个数字(0,1)范围。使用一个函数处理指定的辐射发射率依赖于时间和空间。有关详细信息,请参见更多关于

指定使用的环境温度AmbientTemperature参数和斯蒂芬玻尔兹曼常数使用热模型属性。的价值发射率阳性热量辐射到周围环境中。

例子:thermalmodel。StefanBoltzmannConstant = 5.670373 e-8;thermalBC (thermalmodel,“边缘”(2、4、5、6),“辐射”,0.1,“AmbientTemperature”, 300年)

数据类型:|function_handle

环境温度,指定为一个数字。环境温度的值指定需要对流和辐射边界条件。

例子:thermalBC (thermalmodel,“边缘”(2、4),“ConvectionCoefficient”, 5,“AmbientTemperature”, 60)

数据类型:

标签的热边界条件,指定为一个特征向量或一个字符串。

数据类型:字符|字符串

输出参数

全部折叠

热边界条件处理,作为一个返回ThermalBC对象。看到ThermalBC属性

thermalBC将热边界条件与几何区域。

更多关于

全部折叠

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

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

  • 导热系数的材料

  • 质量密度的材料

  • 比热容的材料

  • 内部热源

  • 温度对边界

  • 通过边界热流

  • 对流系数的边界

  • 辐射发射率系数的边界

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

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

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

全部展开