加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

温度场有限容积法程序入门之一:综述

发布时间:2020-12-15 18:11:08 所属栏目:百科 来源:网络整理
导读:?????????工程上,我们常常需要分析材料的温度场分布,编写程序是一种有效的计算方法。很多人对编程望而却步,其实相反,程序只是工具,我们是工程技术人员,有时候只关心结果,而不必精通C++亦可解决问题,未必是编程高手才能解决工程中的编程问题。 ??????

?????????工程上,我们常常需要分析材料的温度场分布,编写程序是一种有效的计算方法。很多人对编程望而却步,其实相反,程序只是工具,我们是工程技术人员,有时候只关心结果,而不必精通C++亦可解决问题,未必是编程高手才能解决工程中的编程问题。

??????? 笔者在学习有限差分法过程中走了很多弯路,希望把方法写出来,希望能够让初学者入门。其次,笔者不是编程高手,也没有完全精通所有算法,属于现学现卖,也希望和大家一起进步。另外,笔者有一师兄A,写了一个2D温度场有限差分程序,但是不肯教给师弟;一次,在另外一个师兄B的计算机上有类似程序,师兄A发现后立即删除,并说别到处乱传;笔者当时很寒心,觉得这类程序其实不难,于是想自己写一个,打破实验室的技术封锁。人和人的智商不会相差一百吧,只要努力,任何问题都有可能解决。最近的日子里,笔者打算写一些粗浅的教程出来,希望使初学者理解其原理,不要把会程序的师兄当神看,你也可以的。

?????? 笔者是一个不入流不资深Flash爱好者,打算统编使用Flash的编程语言AS3(Action Script 3.0),.笔者认为AS3是最优雅的计算机语言。运行本教程的程序需要使用Adobe Flash Builder,笔者使用的是最新的版本号为4.7试用版,可以到Adobe官方网站上申请试用,开发Flash程序还有很多开发环境,此处不再列举。为什么不使用C/C++,因为作者想借用Flash的Stage 3D技术,使用该技术直接操纵显卡绘制温度场云图,而较少的CPU资源;算法是一样的,很容易翻译到C/C++ et. al.。另外如果希望将计算结果到处到常见后处理软件Tecplot中,大家可以去其官方网站申请试用。

???? 本教程打算分为如下几个部分:

1 ,有限差分发原理及本程序结构;

2,类的概念:节点类和材料类的;

3,前处理,网格及材料;

4,温度场的显示迭代计算;

5,温度场求解结果后处理,基于Adobe Flash Stage 3D技术;

6,展望:3D,对流传热,一阶迎风格式,非线性材料,非均匀网格。

????? 阅读基础,读者应当初步了解如下概念:

1,温度场的控制微分方程及其定解条件;

2,有限差分法,一阶导数,二阶导数的离散方法;

3,一定编程基础,了解任何一门C-Style的语言。

????? 参考文献:

1,陶文铨:数值传热学(第2版);

2,孙颖:Flash ActionScript3殿堂之路(含光盘1张);

3,李庆:我的Flex我精通:RIA高级开发指南(含CD-ROM光盘1张) ;

4,Adobe AS3 API 文档 http://www.adobe.com/go/as3lr

???? 注意事项:

1,笔者的注释往往使用英文,原因:一故弄玄虚,二其它编辑器打开不至于出现乱码,三有拼写错误及时告知;

2,笔者近视,错别字可能会有;

3,程序勿用于商业价值;

4,程序解决不了你的问题,不要骂笔者,笔者不欠你什么,来去自如。

?

?? 示例,我们以钢液冷却过程为例(考虑凝固潜热),计算其连续冷却过程中的温度场分布。由于对称考虑其对称性,我们仅仅计算其1/4横截面,下图是网格节点及材质(绝热、钢液、空气,初始温度分别为0,1550,30摄氏度),如下图。

???? 下图(看不完整,可将其下载后查看)是2D温度场控制微分方程及其离散方法,全是冷冰冰的符号。本文不使用该类方法,而使用物理意义明确的有限容积法。

??? 本程序的架构划分如下:

1,前处理:网格剖分

2,前处理:设置材料,初始条件,边界条件;

3,迭代计算;

4,后处理,计算结果可视化。

?

???? 主程序如下:

				solution=new TSolverMgr();

				solution.SetDim(15,15,1,1);
				
				solution.SetMaterial();
				
				solution.UpdateHeatExchangeFactor();
				
				//solution.ExportSetting();
				
				for(var i:uint=0;i<100;i++)
				{
					solution.Step(1);
				}
				
				solution.Export2Tecplot();

今天理发了,LP要看我的尊容,无奈笔记本上没有安装摄像头软件,于是在AS3 API里面参考了flash.media.Camera类,编译,运行,得到自己靓照。 ?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读