类是对事物的描述:属性(成员变量)和行为(成员函数)
给出本教程使用的两个类,节点类和材料类。
材料类,描述材料的参数,如密度、比热和初始温度等,这里特别给出了凝固潜热;这里要注意Math.pow(2,0)的意义,读者自己琢磨,用于判断节点间的界面:
package Soong.Solver
{
public class Material
{
public static var HeatInsulation:uint = Math.pow(2,0);
public var ID:uint = Material.HeatInsulation;
public var Tini:Number = 1550;//Initial Temperature
public var lmd:Number = 0;//Heat Conductivity @ Right Side of Control Volume
public var Cp:Number = 0;//Heat Capacity
public var Rho:Number = 0;//Density
public var LatentHeat:Number = 0;//Leatent Heat
public var Tsol:Number = 1504;//Temperature of Solidus
public var Tliq:Number = 1531;//Temperature of Liquidus
public function Material(ID:uint=0,Tini:Number=1550)
{
this.ID = ID;
this.Tini = Tini;
}
}
}
节点类,节点上存储了程序的所有计算变量,也存储了该节点上的物性参数:
package Soong.Solver
{
public class Node
{
public var materialIndex:uint = Material.HeatInsulation;
public var T:Number=0;//Current Temperature
public var T0:Number=0;//Initial Temperature
public var lmd:Number=0;//Heat Conductivity on Control Volume
public var Cp:Number = 0;//Heat Capacity
public var Rho:Number = 0;//Density
public var eHeatExchangeFactor:Number = 0;// Heat of Exchange Factor in East Interface
public var wHeatExchangeFactor:Number = 0;// Heat of Exchange Factor in West Interface
public var nHeatExchangeFactor:Number = 0;// Heat of Exchange Factor in North Interface
public var sHeatExchangeFactor:Number = 0;// Heat of Exchange Factor in Sorth Interface
public function Node()
{
}
public function ApplyMaterial(mtrl:Material):void
{
this.materialIndex = mtrl.ID;
this.T0 = mtrl.Tini;
this.lmd = mtrl.lmd;
this.Cp = mtrl.Cp;
this.Rho = mtrl.Rho;
}
}
}
可能你注意到了这四个HeatExchangeFactor东西,这是什么?其实是热阻的倒数。电阻的倒数称为电导,这里不妨叫做热导吧;电压差乘以电导是电流,温差乘以热导是热流密度,2D平面上我们做矩形网格,某节点温度受其四周(东南西北节点)传导热影响,所以定义了东南西北热导,用于计算某节点的四周传导的热量。不完全是笔者故弄玄虚,读者可以看看不同材质较界面上的热导如何计算,参考文献[1]里面有,另外对于边界节点,我们也可以使用热导的概念,比如对流换热系数也是我们的热导(仔细琢磨),这样我们就可以将3类边界条件都当成内部节点计算了,具体过程读者慢慢去想。如果说苹果申请了“倒角矩形”的专利,我想我是不是可以申请“热导”的概念,如果成功,每使用一次,收取使用授权费1元。
导热一般是内部节点才有的;对流和辐射等是边界节点传热渠道,但非全部。所以内部节点热导的计算主要是计算:导热系数除以步长,故这就简化了非均匀网格的计算。除了可以处理非均匀网格,另外可以将边界节点当作内部节点处理。但这样会导致一项新的可能繁琐工作:计算热导。
东部热导分布:
南部热导分布:
西部热导分布:
北部热导分布:
什么是类,如果初次接触,就当其是结构体好了,如果不知道结构体,您看C语言吧:
明天继续,回去抱媳妇儿,笔者很着急回去