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

9 篇文章 3 订阅
7 篇文章 0 订阅

         工程上,我们常常需要分析材料的温度场分布,编写程序是一种有效的计算方法。很多人对编程望而却步,其实相反,程序只是工具,我们是工程技术人员,有时候只关心结果,而不必精通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类,编译,运行,得到自己靓照。
 

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值