电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

有限差分法-导热模拟VIP免费

有限差分法-导热模拟_第1页
1/4
有限差分法-导热模拟_第2页
2/4
有限差分法-导热模拟_第3页
3/4
有限差分法-导热模拟有限差分法(FiniteDifferentialMethod)是基于差分原理的一种数值计算法。其基本思想:将场域离散为许多小网格,应用差分原理,将求解连续函数的泊松方程的问题转换为求解网格节点上的差分方程组的问题。一、利用有限差分法离散三维傅立叶热传导微分方程:TzTyTxTtT2222222(1-1)解:将三维温度场域划分为足够小的正方体网格,网格之间距离为h,图一显示为节0(i,j,k)及其周围的节点1(i-1,j,k)、2(i+1,j,k)、3(i,j-1,k)、4(i,j+1,k)、5(i,j,k-1)、6(i,j,k+1)。节点上的电位分别用6543210TTTTTTT,,,,,,表示由有限差分法得:2220122)1()(2)1(2)(0hkjiTkjiTkjiThTTTxTxx,,,,,,(1-2)同理:2240322)1()(2)1(2)(0hkjiTkjiTkjiThTTTyTyy,,,,,,(1-3)2260522)1()(2)1(2)(0hkjiTkjiTkjiThTTTzTzz,,,,,,(1-4)将时间t划分为足够小的时间段,时间节点之间的距离为g,则采用有限差分法的后向差分法得:gTTdtdTnn1(1-5)ZYX1(i-1,j,k)0(i,j,k)2(i+1,j,k)3(i,j-1,k)4(i,j+1,k)5(i,j,k-1)6(i,j,k)图1三维节点图将式(1-2)、(1-3)、(1-4)、(1-5)代入式(1-1)得:2121)()1()1()1()1()1()1()(61)](6)1()1()1()1()1()1([)()(hgrkjiTkjirTkjirTkjirTkjirTkjirTkjirTkjiTrkjiTkjiTkjiTkjiTkjiTkjiTkjiThgkjiTkjiTnnnnnnnnnnnnnnnnn其中:,,,,,,,,,,,,,,,,传导差分公式上式整理可推出三维热,,,,,,,,,,,,,,,,,,求解完毕。二、用C或C++编写一个计算二维传热的有限差分程序。1、条件假设:初始热量密度大小均匀分布,且为1000的平面置于边界温度为0的环境中,仿真其降温过程。平面大小为50100宽长,仿真时长为10(可变)。2、网格划分:在平面上,以长为i向,以宽为j向建立坐标系,设网格间距1h将平面划分为50100个网格。在时间上,假设时间增量1g。3、二维热传导差分公式:参照上面三维热传导差分公式可得二维热传导差分公式:)()1()1()1()1()(411jiTjirTjirTjirTjirTjiTrnnnnnn,,,,,,其中:2hgr(2-1)在公式中,)(1jiTn,为前一时间节点下当前点的热量密度。为后续迭代,可将公式整理为:)1()1()1()1()(411)(1jirTjirTjirTjirTjiTrjiTnnnnnn,,,,,,其中:2hgr(2-2)4、差分方程组的求解方法:在此选择高斯——赛德尔迭代法。对于每一个温度节点,迭代公式:)1()1()1()1()(411)(1111jirTjirTjirTjirTjiTrjiTnknknknknnk,,,,,,其中:2hgr(2-3)式中k为迭代次数。迭代停止条件为:.....3,2,150,....2,1100,....2,1|)()(max1kjijiTjiTkk、、,,5、算法实现:1)初始化:输入2hgr,定义实型数TIN为初始热量值,实型数PERCI为迭代精度。定义数组Tdate(TIME,LENGTHI,LENGTHJ),10TIME为离散时间长度,102LENGTHI(加上两个边界条件)为i向离散量,52LENGTHLJ(加上两个边界条件)为j向离散量。三维数组每个组元存放时间TIME时刻坐标(LENGTHI,LENGTHJ)处的热量密度。边界条件:{Tdate(n,0,j)=0|n=0,1,2,3,⋯..j=0,1,2,3,⋯.51}{Tdate(n,101,j)=0|n=0,1,2,3,⋯..j=0,1,2,3,⋯.51}{Tdate(n,i,0)=0|n=0,1,2,3,⋯..i=0,1,2,3,⋯.101}{Tdate(n,i,0)=0|n=0,1,2,3,⋯..j=0,1,2,3,⋯.101}初始条件:{Tdate(0,i,j)=TIN|i=1,2,3,⋯..100,j=1,2,3,⋯.50}定义Maxv存放迭代时的停止条件变量:.....3,2,150,....2,1100,....2,1|)()(max1kjijiTjiTkk、、,,2)迭代:Fort=1:TIME://以上一时间点的值作为下一个时间点迭代的初始值。{Tdate(n,i,j)=Tdate(n-1,i,j)|i=1,2,3,⋯..100,j=1,2,3,⋯.50}定义中间变量TWhileMaxv>PERCI*PERCIForj=1:50:Fori=1:100:)1()1()1()1()(411111jirTjirTjirTjirTjiTrTnknknknkn,,,,,50,...3,2,1100...3,2,1|)(max2jijiTTMaxvn,Tki,nTEndforEndforDowhileEndfor3)图形输出将C++语言编写程序迭代计算出的Tdate[10][102][52]数组输出到matlab/Tdate.txt中,用matab导入Tdate.txt中和数据,经处理后以灰度位图显示。数值计算代码见文件夹thermal中的thermal.cpp文件,图形显示代码见文件夹matlab中的picture.m中。文件结构Picture.m,data.txt,thermal.cpp作为独立的三个文档发表为picture(改为.m).txt,tdate(产生数据).txt,thermal(改为.CPP).txt。下载改名后创建相应文件夹,然后运行,thermal.cpp在visualstdio2005环境编译,picture.m在matlab7.0以上版本运行!你可以看到动态效果,goodluck!展开效果

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

有限差分法-导热模拟

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部