主要内容

thermalBC

指定热模型的边界条件

描述

例子

thermalBC (thermalmodelRegionTypeRegionID“温度”,Tval添加温度边界条件thermalmodel.边界条件适用于类型区域RegionType身份证号码RegionID

例子

thermalBC (thermalmodelRegionTypeRegionID“HeatFlux”,HFval添加热通量边界条件thermalmodel.边界条件适用于类型区域RegionType身份证号码RegionID

请注意

使用thermalBCHeatFlux参数来指定流入或来自外部源的热通量。要指定内部产热,即热源属于几何模型,使用internalHeatSource

例子

thermalBC (thermalmodelRegionTypeRegionID“ConvectionCoefficient”,CCval“AmbientTemperature”,ATval添加对流边界条件thermalmodel.边界条件适用于类型区域RegionType身份证号码RegionID

例子

thermalBC (thermalmodelRegionTypeRegionID“辐射”,瑞威尔“AmbientTemperature”,ATval添加辐射边界条件thermalmodel.边界条件适用于类型区域RegionType身份证号码RegionID

thermalBC (___“标签”,labeltext属性使用的热边界条件添加标签linearizeInput函数。这个函数允许你将热边界条件传递给线性化功能,提取稀疏线性模型与控制系统工具箱™使用。

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

例子

全部折叠

在正方形的两个边上应用温度边界条件。

Thermalmodel = createpde(“热”);geometryFromEdges (thermalmodel @squareg);thermalBC (thermalmodel“边缘”(1、3),“温度”, 100)
ans = ThermalBC with properties: RegionType: 'Edge' RegionID: [1 3] Temperature: 100 HeatFlux: [] ConvectionCoefficient: [] Emissivity: [] AmbientTemperature: [] Vectorized: 'off' Label: []

应用热流边界条件在一个块的两个面。

Thermalmodel = createpde(“热”“瞬态”);gm = importGeometry(热模型,“Block.stl”);thermalBC (thermalmodel“面子”(1、3),“HeatFlux”, 20)
ans = ThermalBC with properties: RegionType: 'Face' RegionID: [1 3] Temperature: [] HeatFlux: 20 ConvectionCoefficient: [] Emissivity: [] AmbientTemperature: [] Vectorized: 'off' Label: []

在块体的四个面上应用对流边界条件。

thermalModel = createpde(“热”“瞬态”);gm = importGeometry(thermalModel,“Block.stl”);thermalBC (thermalModel“面子”,[2 4 5 6],...“ConvectionCoefficient”5,...“AmbientTemperature”, 27)
ans = ThermalBC with properties: RegionType: 'Face' RegionID: [2 4 5 6] Temperature: [] HeatFlux: [] ConvectionCoefficient: 5 emisvity: [] AmbientTemperature: 27 Vectorized: 'off' Label: []

在一个块的四个面上应用辐射边界条件。

Thermalmodel = createpde(“热”“瞬态”);gm = importGeometry(热模型,“Block.stl”);thermalmodel。StefanBoltzmannConstant = 5.670373E-8;thermalBC (thermalmodel“面子”,(2、4、5、6),...“辐射”, 0.1,...“AmbientTemperature”, 300)
ans = ThermalBC with properties: RegionType: 'Face' RegionID: [2 4 5 6] Temperature: [] HeatFlux: [] ConvectionCoefficient: [] emisvity: 0.1000 AmbientTemperature: 300 Vectorized: 'off' Label: []

使用函数句柄指定依赖于坐标的热边界条件。

创建一个热模型进行瞬态分析,并包括几何。几何形状是一个具有圆形截面的杆。二维模型是一个矩形条带y-dimension从对称轴延伸到外表面,而其x-dimension扩展到杆的实际长度。

Thermalmodel = createpde(“热”“瞬态”);G = decsg([3 4 -1.5 1.5 1.5 -1.5 0 0 0.2 0.2]');geometryFromEdges (thermalmodel g);

画出几何图形。

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

图中包含一个轴对象。标题为“带边缘标签的棒截面几何”的axis对象包含5个类型为line, text的对象。

假设棒的左端有热源,右端有固定温度。棒的外表面通过对流与环境交换热量。

定义模型的边界条件。边缘在y= 0(边1)沿对称轴。没有热量在这条边的垂直方向上传递。默认情况下,该边界被建模为绝缘边界。

棒右端(边2)的温度为固定温度,T = 100 c。边2的边界条件如下所示。

thermalBC (thermalmodel“边缘”2,“温度”, 100)
ans = ThermalBC with properties: RegionType: 'Edge' RegionID: 2 Temperature: 100 HeatFlux:[]对流系数:[]发射率:[]AmbientTemperature: [] Vectorized: 'off' Label: []

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

outerCC = @(location,~) 50*location.y;thermalBC (thermalmodel“边缘”3,...“ConvectionCoefficient”outerCC,...“AmbientTemperature”, 100)
ans = ThermalBC与属性:RegionType: 'Edge' RegionID: 3温度:[]热流:[]对流系数:@(位置,~)50*位置。y发射率:[]AmbientTemperature: 100 Vectorized: 'off'标签:[]

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

leftHF = @(location,~) 5000*location.y;thermalBC (thermalmodel“边缘”4“HeatFlux”leftHF)
ans = ThermalBC属性:RegionType: 'Edge' RegionID: 4温度:[]热流:@(位置,~)5000*位置。y对流系数:[]发射率:[]AmbientTemperature: [] Vectorized: 'off'标签:[]

输入参数

全部折叠

热模型,指定为aThermalModel对象。该模型包含几何形状、网格、材料的热特性、内部热源、边界条件和初始条件。

例子:Thermalmodel = createpde("thermal","steadystate")

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

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

数据类型:字符

几何区域ID,指定为正整数向量。使用查找区域idpdegplot“FaceLabels”(3 - d)或“EdgeLabels”(2-D)值设置为“上”

例子: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.670373E-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)

中的数据进行计算和填充位置而且状态构造数组并将此数据传递给函数。您可以定义函数,使其输出依赖于此数据。你可以用任何名字来代替位置而且状态,但函数必须恰好有两个参数(如果函数指定初始温度,则只有一个参数)。

  • 位置-包含这些字段的结构:

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

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

    • location.z-对于三维或轴对称几何,使用z点的-坐标

    • location.r-对于轴对称几何,为r点的-坐标

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

    • location.nx- - - - - -x-法向量在评价点的分量

    • location.ny- - - - - -y-法向量在评价点的分量

    • location.nz-对于三维或轴对称几何,z-法向量在评价点的分量

    • location.nr-对于轴对称几何,r-法向量在评价点的分量

  • 状态包含这些字段的结构,用于瞬态或非线性问题:

    • state.u—位置结构对应点的温度

    • state.ux-估计的x-位置结构对应点的温度梯度分量

    • state.uy-估计的y-位置结构对应点的温度梯度分量

    • state.uz-对于三维或轴对称几何,估计的z-位置结构对应点的温度梯度分量

    • state.ur-对于轴对称几何,的估计r-位置结构对应点的温度梯度分量

    • state.time-评估点的时间

材料热特性(导热系数、质量密度和比热)和内热源从求解器得到这些数据:

  • location.xlocation.ylocation.zlocation.r

  • 子域ID

  • state.ustate.uxstate.uystate.uzstate.rstate.time

边界条件(边界上的温度、热通量、对流系数和辐射发射率系数)从求解器获得这些数据:

  • location.xlocation.ylocation.zlocation.r

  • location.nxlocation.nylocation.nzlocation.nr

  • state.ustate.time

初始温度由求解器得到如下数据:

  • location.xlocation.ylocation.zlocation.r

  • 子域ID

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

对于热导率,函数必须返回一个矩阵thermalVal行数等于1,NdimNdim * (Ndim + 1) / 2,或Ndim * Ndim,在那里Ndim对于二维问题是2,对于三维问题是3。列的数量必须等于求值点的数量,例如:M =长度(location.y).矩阵的维数请参见c系数为特定系数

如果属性依赖于时间或温度,请确保函数返回的矩阵为大小正确的时候state.ustate.time.求解器通过传递来检查问题是否与时间相关状态值和查找返回值值。

非恒定热参数函数中的附加参数

要在函数中使用附加参数,请将(接受附加参数的)函数包装为仅接受位置而且状态参数。例如:

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

版本历史

在R2017a中引入

全部展开

Baidu
map