常物性温度场有限单元法计算程序使用说明1.程序编译以CVF6.5为例说明编译过程,先打开CVF6.5,点击软件界面最上面菜单栏的File,在点击New按钮,这时会弹出新建窗口New。选择并点击Projects页面下的FortranConsoleApplication。在新建窗口右方,输入项目的名称,不要有中文及特殊符号,例如HT1DFGMTD,然后点击下方的OK。一定要知道你的项目文件夹建立的目录路径。选择Anemptyproject,点击Finish,在点击OK。这时项目文件已经建立完成。项目文件建立好之后,它还是一个空的没用的项目,现在要将程序源文件添加进项目中。接着上面的操作继续。在CVF6.5左方出现了Workspace窗口,点击加号,会出现三个文件夹。选中SourceFiles并右键点击鼠标,会弹出一个菜单,选择点击AddFilestoFolder。这时出现文件添加窗口,选择源文件所在目录选中要编译的源文件点击OK。注意这个源文件存放目录不要有中文和特殊符号。现在要对项目中的源文件进行编译,生成一个可运行的以.exe为后缀的程序文件。在CVF6.5上方的菜单栏中有Build按钮。点击它会出现Build菜单,选择并点击BuildHT1DFGMTD.exe。CVF6.5会在Build命令下对源文件编译及连接过程,最后会生成.exe文件。这个可执行文件会存放在项目文件夹下的Debug文件夹中。2.数据文件建立有了可以执行的有限元程序,现在来说明如何使用它进行计算。使用程序进行计算需要建立与题目相应的数据文件,这里我们需要建立两个数据文件,注意存放位置要与项目文件夹下Debug文件夹同级。两个文件一个是MESHRESULT.TXT,这个文件是网格划分信息,里面的数据包含节点坐标及三角形单元三节点整体编号信息,是由网格自动划分程序计算得到的。第二个数据文件是温度场计算参数文件,不同的源文件会有不同的文件名称,需要对照源文件来看。文件名称及扩展名一定要建立正确。我们实现对宽厚为100mm×20mm平板剖分成3200个单元,1717个节点,总共101条纵向线,每一线条上17个节点。假定已经建立好网格划分信息文件。下面以一维常物性FGM加热温度场程序的HT-1D-TFDATA.TXT说明温度场计算参数文件如何建立。L0网格划分的总节点数。这里取的是1717。L1第一类边界节点数。注意是节点数。要根据不同的网格划分和第一类边界条件来确定。这里的网格划分在x方向上有101个节点,上下边界都存在第一类边界条件时总共会有202个第一类边界节点。E0最后一个内部单元的单元编号。上下两个边界都作用有边界条件,取3000。E1最后一个第一类边界单元编号。由于不存在第二第三类边界条件,取3200。E2最后一个第二类边界单元编号,不存在第二类边界条件,取3200。E3最后一个第三类边界单元编号,不存在第三类边界条件,取3200。B6第二类边界条件的分组数。不存在第二类边界条件,取0。B7第三类边界条件的分组数。不存在第三类边界条件,取0。H0平面温度或轴对称问题的逻辑判别参数。对于平面问题来说取1。T0初始温度值。加热计算时取300。单位K。T1初始时间步长。即Δt,控制瞬态计算时间,取0.01。计算稳态温度场时则取大于99999的数。单位s。C5时间变步长参数。我们始终对时间进行等步长计算,取1.0。U0瞬态计算次数。瞬态计算时取1000。计算次数越多计算程序运行时间就越长。根据计算次数,初始时间步长及时间变步长参数可以知道能够计算到的最后时刻。稳态时取1。QV0内热源的判别参数。取0为不存在。C4网格尺寸放缩系数。不对网格进行放缩,取1.0。XB板的厚度。取20。单位mm。NR一维功能梯度材料y方向组分分布形状参数。根据任务要求取值,这里取0.5。X(1:L0)R(1:L0)网格划分所有节点坐标x,y。单位mm。LNDS(1:E3,1:3)网格划分所有单元的节点编号信息,按照i,j,m逆时针顺序排列。O(1:L1)L(1:L1)第一类边界条件信息。成对输入第一类边界节点编号以及所在节点处的温度值。依据任务要求取值。在边界上作用第一类线性或其他形式的边界条件时,根据边界条件表达式,带入边界节点的坐标值计算出此点处作用的边界温度值。注意表达式中的是无量纲坐标,要用节点坐标x比上板宽度100mm。二维常物性FGM加热温度场程序计算参数文件HT-2D-TFDATA.TXT的建立,与一维时基本相同,但需要多输入几个参数。XL板的宽度。NX功能梯度材料x方向组分分布形状参数,与NR对应。一维常物性FGM冷却温度场程序计算参数文件CL-1D-TFDATA.TXT的建立,与加热温度场大部分参数选取都相同,需要注意的是初始温度T0不再是一个温度值而是一个温度场数组,需要使用加热稳态计算结果为它赋值。TI(1:L0)冷却程序中的初始温度场。二维常物性FGM冷却温度场程序计算参数文件CL-2D-TFDATA.TXT的建立,与可参考上面说明。应当注意,建立数据文件时要对照源程序文件进行输入,检查是否正确,数据个数是否与源文件要求输入的个数一致,是否与计算任务要求一致。3.运行程序计算将建立好的两个数据文件放到项目文件夹中,与Debug文件夹同级。在CVF6.5中打开HT1DFGMTD项目,如果在建立好项目并完成编译关闭了CVF6.5,可以找到并打开项目文件下的.dsw文件,CVF6.5会重新打开项目。找到菜单栏中的Build按钮点击,并且选择点击Execute。会跳出DOS命令提示符窗口说明程序开始运行了,不要关闭它,等待程序运行。直到DOS命令提示符窗口中出现Pressanykeytocontinue。这时点击键盘上的任意键它就会自动关闭。程序计算完成后,打开项目目录,会出现HT-1D-SP-TFRESU.TXT文件,这就是我们需要的温度场结果文件。附件中的算例是对宽厚为100mm×20mm平板,总共101条纵向线,每一线条上17个节点,剖分成3200个单元,1717个节点。计算了Tb=(700+1000x)K,Ta=300K,nx=0.5,nr=0.5时的稳态温度场,可参考它的数据文件进行修改计算。自动网格划分程序使用说明使用CVF6.5对不同功能的源文件进行编译方法,以及编译完成的执行文件的用法都是一样的。这里只说明自动网格划分程序的数据文件如何建立。首先设计区域网格的剖分,一般在网格划分时习惯纵向线条分层,但是这样做在划分长度较大而厚度尺寸较小的板时需要输入很多纵向线条的起点终点坐标,比较麻烦,但是也可以借助文本编辑器的列模式快速输入。先要确定单元个数N2的值,然后选取LINE的值,LINE是控制线条的数量,尽量选取LINE的个数位是1且(LINE-1)*2可以被N2整除的数。根据单元个数计算公式:N2=NPOIN*(LINE-1)*2计算出NPOIN。NPOIN是每条线上的总节点数量减1后的值。还可以依据节点个数计算公式得到所有节点的数量N1:N1=(NPOIN+1)*LINE另外也可先根据划分区域的尺寸确定纵向控制线条数量及每条线上节点的数量。这样可以使划分出的网格节点坐标规则整齐,而不控制划分的单元数。在进行网格划分时,既要控制好单元数量,也要使节点坐标值整齐规则,以方便与出图程序能够很好的衔接。现在新建MESHDATA.TXT输入数据:LINE控制线条数目。NPOIN每条线上的总节点数减1。每条线上NPOIN都相同。CC线条上的节点疏密控制系数。大于1会趋于疏散,小于1会趋于稠密。X1(I0)Y1(I0)第I0条线上的起点坐标。其中I0=1,2,…,LINE。X2(I0)Y2(I0)第I0条线上的终点坐标。其中I0=1,2,…,LINE。输入完这些数据后,将MESHDATA.TXT放到MESH项目文件夹中运行Execute。第一次运行会跳出错误。这是因为数据文件中的数据还不完整。但是在项目文件夹中仍然会得到MESHRESULTX.TXT与MESHRESULT.TXT。但MESHRESULT.TXT文件是空的。打开MESHRESULTX.TXT并从中找到CHARMESHGRID下面的数据,CHARMESHGRID表示的是网格中所有节点编号的一个编排位置,它不是很清楚的表示了整个网格的节点分布。需要从此分布中复制选取边界节点编号用来给下面的BP1(I0),BP2(I0),BP3(I0)数组赋值。现在对MESHDATA.TXT数据文件进行数据补充,注意是在刚才建立的数据文件最后补充数据:BZ1第一类边界节点的总数。BC1第一类边界条件的分组数。BC1N(I0)第一类第I0组边界节点个数。I0=1时为第一类第1组边界节点个数,I0=2时为第一类第1,2组边界节点数量相加,注意数量叠加。BP1(I0)存储第一类边界节点编号。可从上面得到的CHARMESHGRID中复制。要注意按分组顺序输入。BZ2第二类边界节点的总数。BC2第二类边界条件的分组数。BC2N(I0)第二类第I0组边界节点个数。I0=1时为第二类第1组边界节点个数,I0=2时为第二类第1,2组边界节点数量相加,同样要注意数量叠加。BP2(I0)存储第二类边界节点编号。可从上面得到的CHARMESHGRID中复制要注意按分组顺序输入。BZ3第三类边界节点的总数。BC3第三类边界条件的分组数。BC3N(I0)第三类第I0组边界节点个数。I0=1时为第三类第1组边界节点个数,I0=2时为第三类第1,2组边界节点数量相加,同样要注意数量叠加。BP3(I0)存储第三类边界节点编号可从上面得到的CHARMESHGRID中复制。按分组顺序输入。补充完成后,在对程序进行Execute,就得到两个结果文件。程序运行的网格划分的完整信息存储在MESHRESULTX.TXT中,供温度场使用的网格划分信息存储到了MESHRESULT.TXT中。MATLAB等温线出图程序使用说明这里使用的是MATLAB2010a。使用旧版本MATLAB可能会出现出图程序中某些语句无法运行的问题。为了不浪费时间学习旧版本的MATLAB程序语言,尽量使用2010a版本。首先打开MATLAB,将出图脚本文件drawcontour.m放到MATLAB工作文件夹中。这个.m后缀的文件是可以做出等温线图形的一个小程序。在工作文件夹中新建data.txt作为温度场数据文件。使用UE文本编辑器打开数据温度场结果文件,如HT-2D-SP-TFRESU.TXT,使用快捷键Ctrl+F进入数据搜索状态,输入关键词将文件定位到需要的温度场数据附近。然后按下快捷键Alt+C使文件状态进入列模式。列模式下可以列为目标进行数据选取。接着用鼠标或键盘选取温度场数据进行复制,选取数据时一定要注意数据必须选取完整,不能少了位数及数据个数,快捷键Shift+Pgdn或Pgup或方向键可以加快选取速度。选取完成后将数据复制到data.txt中并保存,在MATLAB工作文件夹窗口出图鼠标右键点击程序文件drawcontour.m,选择并点击run运行出图程序,或者在MATLAB命令窗口输入drawcontour运行程序就能得到图形文件conto.fig和conto.bmp。数据复制到data.txt中时,如果存在先前的数据,需要将原先的数据清除,注意使用快捷键Ctrl+A选取全部数据清除之,再复制作图数据。得到图形文件后将它们复制到相应文件夹中。第一次出图得到的图形如果不便于分析,还要再对出图脚本文件中的程序语句进行修改。尽可能使所有等温线图形上的显示数值统一,这样便于分析。要调节它的显示数值可以修改drawcontour.m程序中的下面语句,[C,h]=contour(x1,y1,temper,[300:25:1650]);右面中括号里的设置了要作出等温线数值的上下限,中间的数为步长。程序文件夹中还给出一个能够画出曲面图形的drawsurfc.m出图程序。可以配合等温线图形出两套图形,曲面图形更直观但不方便分析。在网格划分发生变化时,作图程序中的下列语句需要修改,