使用计算机解决问题的一般步骤是划分边界

使用计算机解决问题的一般步骤是划分边界,第1张

计算机和人类解决问题的最大不同就是:死板计算机解决问题是利用数据库里收集的一切可能性去分析、处理一件事情,根据计算机的计算能力不同解决问题的速度也不同,而且答案非常的科学、逻辑性强,但没有人性化。人类因为有跳跃思维能力和情感因素,所以解决问题往往出人意料,而且是以极大的保护人类利益或自身利益为前题的解决方案。 如果说计算机与人类解决问题的方式与步骤有相同的地方的话,那就是都会调用以往经验来判断,但计算机如果资料库里没有相关资料,就会无法进行下去;而人类会开发出新的解决方案。

一个典型的FLOTRAN分析有如下七个主要步骤:

1 确定问题的区域。

2 确定流体的状态。

3 生成有限元网格。

4 施加边界条件。

5 设置FLOTRAN分析参数。

6 求解。

7 检查结果

第一步:确定问题的区域

用户必须确定所分析问题的明确的范围,将问题的边界设置在条件已知的地方,如果并

不知道精确的边界条件而必须作假定时,就不要将分析的边界设在靠近感兴趣区域的地

方,也不要将边界设在求解变量变化梯度大的地方。有时,也许用户并不知道自己的问

题中哪个地方梯度变化最大,这就要先作一个试探性的分析,然后再根据结果来修改分

析区域。这些在后面章节中都有详述。

第二步:确定流体的状态

用户在此需要估计流体的特征,流体的特征是流体性质、几何边界以及流场的速度幅值

的函数。FLOTRAN能求解的流体包括气流和液流,其性质可随温度而发生显著变化,FLO

TRAN中的气流只能是理想气体。用户须自己确定温度对流体的密度、粘性、和热传导系

数的影响是否是很重要,在大多数情况下,近似认为流体性质是常数,即不随温度而变

化,都可以得到足够精确的解。

通常用雷诺数来判别流体是层流或紊流,雷诺数反映了惯性力和粘性力的相对强度,详

见第四章。

通常用马赫数来判别流体是否可压缩,详见第七章。流场中任意一点的马赫数是该点流

体速度与该点音速之比值,当马赫数大于03时,就应考虑用可压缩算法来进 行求解;

当马赫数大于07时,可压缩算法与不可压缩算法之间就会有极其明显的差 异。

第三步: 生成有限元网格

用户必须事先确定流场中哪个地方流体的梯度变化较大,在这些地方,网格必须作适当

的调整。例如:如果用了紊流模型,靠近壁面的区域的网格密度必须比层流模型密得多

,如果太粗,该网格就不能在求解中捕捉到由于巨大的变化梯度对流动造成的显著影响

,相反,那些长边与低梯度方向一致的单元可以有很大的长宽比。

为了得到精确的结果,应使用映射网格划分,因其能在边界上更好地保持恒定的网格特

性,映射网格划分可由命令MSHKEY,1或其相应的菜单Main Menu>Preproce ssor > -Mes

hing-Mesh>-entity-Mapped来实现。

第四步:施加边界条件

可在划分网格之前或之后对模型施加边界条件,此时要将模型所有的边界条件都考虑进

去,如果与某个相关变量的条件没有加上去,则该变量沿边界的法向值的梯度将被假定

为零。求解中,可在重启动之间改变边界条件的值,如果需改变边界条件的值或不小心

忽略了某边界条件,可无须作重启动,除非该改变引起了分析的不稳定。

第五步:设置FLOTRAN分析参数

为了使用诸如紊流模型或求解温度方程等选项,用户必须激活它们。诸如流体性质等特

定项目的设置,是与所求解的流体问题的类型相关的,该手册的其他部分详细描述了各

种流体类型的所建议的参数设置。

第六步:求解

通过在观察求解过程中相关变量的改变率,可以监视求解的收敛性及稳定性。这些变量

包括速度、压力、温度、动能 (ENKE自由度) 和动能耗散率 (ENDS自由度) 等 紊流量以

及有效粘性(EVIS)。一个分析通常需要多次重启动。

第七步:检查结果

可对输出结果进行后处理,也可在打印输出文件里对结果进行检查,此时用户应使用自

己的工程经验来估计所用的求解手段、所定义的流体性质、以及所加的边界条件的可信

程度。

FLOTRAN分析中产生的一些文件

在ANSYS中进行的大多数流体分析都是通过多次中断和重启动来完成的,通常,

分析人员需要在各个重启动之间改变诸如松弛系数等参数或开关某些项(如求解温度方

程的开关)。每当用户继续一个分析时,ANSYS程序会自动将数据附加在所有的 由FLOT

RAN单元产生的文件中。下面将对FLOTRAN单元产生的所有文件进行说明:

· 结果文件, Jobname RFL,包含节点结果。

· 打印文件, JobnamePFL,包含各量的收敛记录及进/出口状态(如流量等)。

· 壁面文件, JobnameRSW,包含壁面剪切应力以及Y-Plus信息。

· 残差文件, JobnameRDF,包含节点残差。

· 调试文件, JobnameDBG,包含数学求解器的有关信息。

· 结果备份文件, JobnameRFO,包含结果文件数据的一个拷贝。

· 重启动文件, JobnameCFD,包含FLOTRAN的数据结构。

结果文件

FLOTRAN分析的结果并不自动保存在ANSYS的数据库中,在每次求解之后,程序会将一个

结果集附加在结果文件JobnameRLF中。用户可对结果文件的内容及程序 对结果文件的

更新频率进行控制,ANSYS命令手册中对FLDATA5,OUTP命令的介绍就详细说明了结果文件

会基于用户的选择而保存些什么内容。

在一个稳态FLOTRAN分析中,结果文件能保存多少个结果集是没有限制的,在求解的初

期多保存几个结果有很多好处:可以比较各结果集之间的变化、可以使用不同的选项或

松弛系数来从一个分析的较早状态重新开始分析。

当开始一个新分析时(在其第一次迭代之前),ANSYS程序会保存一个结果, 然 后在当

中断发生时保存再保存结果,在这些事件之间,用户还可通过设置将一些中间结果附在

结果文件里,这样就可以从较早的分析状态开时,通过激活一些不同的选项和特征来重

新分析,例如,可以通过这种方式来提高分析的稳定性。

使用 ANSYS 的覆盖频率选项是一个明智的方法,它就可以周期性地保存和更新 一个临

时的结果集,这样,当由于断电或其他系统原因而发生求解中断时,总可以有一个可用

的结果集用于重新开始分析。设置覆盖频率的方式如下:

命令:FLDATA2,ITER,OVER,value

菜单: Main Menu>Solution>FLOTRAN Set Up>Execution Ctrl

设置附加频率的方式如下:

命令:FLDATA2,ITER,APPE,value

菜单: Main Menu>Solution>FLOTRAN Set Up>Execution Ctrl

打印文件( JobnamePFL)

JobnamePFL文件包含了所有FLOTRAN输入参数的完整记录,该信息每在发出一个求解命

令时就保存一次以完整地记录整个分析历程。同时,所有激活了的变量的收敛过程也记

录了下来,还有一个对结果的总结,即每个性质和自由度的最大最小值,这些记录的频

率都由用户自己设定。所记录的其他量还有:各记录量的平均值、质量流的边界、质量

平衡的计算、所有热传导和热源的相关信息。

节点残差文件

节点残差文件,即JobnameRDF,显示了当前解的收敛好坏程度。在求解过程的每一个

阶段,流场、性质场、温度场都用于对每个自由度计算系数矩阵和强迫函数,如果解完

全收敛,这些矩阵和强迫函数将会生成一个与产生它们的速度场一样的速度场,同时,

矩阵方程的残差也会变得很小。要得到一个残差文件,必须至少执行一次迭代。

当求解过程发生振荡时,残差的幅值将显示分析的错误所在。(矩阵的主对角元素对残

差作归一化处理)这种归一化使用户可对自由度的值及其残差作比较。

对每一个激活了的自由度计算残差并将其存入残差文件的方式如下:

命令:FLDATA5,OUTP,RESI,TRUE

菜单:Main Menu>Solution>FLOTRAN Set Up>Additional Out>Residual File

要读取残差文件,可通过菜单Main Menu>General Postproc>FLOTRAN 21A或命令 FLRE

AD来实现。

重启动文件

通常,FLOTRAN在一个重启动的起始处计算数据结构,对于一个大模型,这种计算将消

耗大量的时间,为了避免这种重新计算,可要求FLOTRAN将数据结构保存在重启动文件

JobnameCFD中,FLOTRAN从ANSYS的数据库中产生该文件。

对 JobnameCFD文件的读和写的方式如下:

命令: FLDATA32,REST,RFIL,T

菜单: Main Menu>Preprocessor>FLOTRAN Set Up>Restart Options>CFD

Restart File

可将RFIL状态设置为开(ON)或关(OFF),若设为开,则FLOTRAN开始执行分析 时将读入

重启动文件,若此时重启动文件不存在,则将产生一个重启动文件。

如果在改变了边界条件之后再进行重启动分析,则必须覆盖掉业已存在的CFD 文件 以

使得ANSYS能用新的边界条件进行重新分析,覆盖CFD文件的方式如下:

命令: FLDATA32,REST, WFIL,T

菜单: Main Menu>Preprocessor>FLOTRAN Set Up>Restart Options>CFD Rest

art File

这就使FLOTRAN在下一载荷步产生一个新的重启动文件,并自动将RFIL状态设置为关闭。

当新的重启动文件产生之后,用FLDATA32,REST,RFIL,T命令使随后的重启动能使用新的

重启动文件。

FLOTRAN重启动分析(续算)

用户可在结果文件 JobnameRFL中任意一个解集的基础上开始一个重启动分析, 重启

动位置的设置可基于解集号(NSET)、迭代数(ITER)、载荷步/子步号(LSTP)或瞬 态分析

的时间(TIME),方式如下:

命令: FLDATA32,REST,lable,value

其中,lable为上面的NSET、ITER、LSTP、TIME等

菜单:Main Menu>Preprocessor>FLOTRAN Set Up>Restart Options>

Restart/Iteratio(或Restart/Load step, Restart/Set, 等)

当重启动一个分析时,ANSYS将原始的结果文件拷贝到JobnameRSO中并将重启动点、所

有在重启动点之前的结果集、所有的后续结果集放在新的结果文件中。如果在 FLDATA3

2,REST命令中的value值是一个负值,则将不产生JobnameRSO文件,而 重启动的点将由

value的绝对值来指定。

提高收敛性和稳定性的常用的工具

ANSYS程序提供几个有助于收敛和求解稳定的工具,理论手册对其机理有详述。

松弛系数

松弛系数是一个其值介于0和1之间的小数,它表示旧结果与附加在旧结果上以形成新结

果的最近一次计算量之间的变化量。设置松弛系数的方式如下:

命令:FLDATA25,RELX,lable,value

菜单: Main Menu>Preprocessor>FLOTRAN SetUp>Relax/Stab/Cap>DOF Relaxation

Main Menu>Preprocessor>FLOTRAN SetUp>Relax/Stab/Cap>Prop Relaxation

Main Menu>Solution>FLOTRAN SetUp>Relax/Stab/Cap>DOF Re

laxation

Main Menu>Solution>FLOTRAN SetUp>Relax/Stab/Cap>Prop R

elaxation

注:命令手册中对该命令的自由度和性质量有详述。

惯性松弛

对某个自由度的方程组的惯性松弛就是使其矩阵的主对角占优以保持求解的稳定性。如

果当一个解在收敛过程中没有发生舍入误差,则惯性释放的值不会影响到求解的最终结

果。但是通常的求解过程都会发生舍入误差,故惯性松弛可能对结果产生影响。用户可

对动量方程(MOME)、紊流方程(TURB)。压力方程(PRES) 和温度 方程(TEMP)施加

惯性松弛,其方式如下:

命令:FLDATA26,STAB,lable,value

菜单:Main Menu>Preprocessor>FLOTRAN SetUp>Relax/Stab/Cap>Stability Parms

Main Menu>Solution>FLOTRAN SetUp>Relax/Stab/Cap>Stability Parms

惯性松弛系数是以所加项的分母的形式出现的,故其值越小,所起作用越大,其典型值

介于10(作用中等)到10×10-7(作用很大)之间。

人工粘性

人工粘性用于在梯度较大的区域平抑速度解。它有助于可压缩问题的收敛,也有助于对

有分布阻力的不可压缩问题的速度解进行平抑。对于不可压缩问题,应使人工粘性的幅

值与有效粘性的幅值处于相同的数量级。施加人工粘性的方式如下:

命令:FLDATA26,STAB,VISC,value

菜单:Main Menu>Preprocessor>FLOTRAN SetUp>Relax/Stab/Cap>Stability Parms

Main Menu>Solution>FLOTRAN SetUp>Relax/Stab/Cap>Stability Parms

速度限值

速度限值使所求解量不能超出用户所定义的值,可对速度、压力和温度自由度进行限制

(VX、VY、VZ、PRES、TEMP),方式如下:

命令:FLDATA31,CAPP

菜单:Main Menu>Preprocessor>FLOTRAN SetUp> Relax/Stab/Cap>Results Capping

Main Menu>Solution>FLOTRAN SetUp>Relax/Stab/Cap>Results Capping

速度限值可消除速度尖峰的不利影响,这种速度尖峰通常发生在收敛过程中的较早阶段

。它还特别适合用于可压缩流分析,因这类分析中速度尖峰通常使动能项大到产生负的

静温。

当对压力进行限值时,所限的值是由压力方程解算出来的压力而不是松弛后的压力,故

当限值后作重启动时,压力值仍有可能超出限值。

注意:当有速度限值时,质量有可能不守恒。

面积积分阶次(Quadrature Order)

缺省的用于计算单元面积积分的阶次是单点积分,用户可对其进行控制。对于轴对称问

题,求解时,该值自动设为2,因为当面积积分阶次为2时,可使含有异常形状单元的问

题收敛到更精确的解。用下面的方式改变动量、压力、热或紊流项的面积积分阶次:

命令:FLDATA30,QUAD,lable,value

其中,lable为要改变的单元积分,value为积分点的数目。

菜单:Main Menu>Preprocessor>FLOTRAN SetUp> Mod Res/Quad Ord> CFD Quad

Orders

Main Menu>Solution>FLOTRAN SetUp>Mod Res/Quad Ord>CFD Qua

d Orders

FLOTRAN分析过程中应处理的问题

确定总体迭代的数目

FLOTRAN分析是一个非线性的序列求解过程,故每次分析首先得确定要让程序执行多少

次迭代。一次总体迭代就是对所有相关的控制方程按序列进行求解,并且在求解过程中

流体性质会随时更新。在瞬态分析中,时间步循包含了总体迭代循环。在一个总体迭代

中,程序首先获得动量方程的近似解,再在质量守恒的基础上将动量方程的解作为强迫

函数来求解压力方程,然后用压力解来更新速度,以使速度场保持质量守恒。如果要求

了程序求解温度,则程序会同时求解温度方程并更新与温度相关的流体性质。最后,如

果激活了紊流模型,则程序将求解紊流方程并用紊流动能及其耗散率来计算有效粘性和

热传导系数,有效粘性和热传导系数将分别代替层流粘性和热传导系数以在平均流上模

拟紊流的影响。用下面的方式定义总体迭代的数目:

命令:FLDATA2,ITER,EXEC,value(value即为迭代数)

菜单:Main Menu>Preprocessor>FLOTRAN SetUp> Execution Ctrl

Main Menu>Solution>FLOTRAN SetUp>Execution Ctrl

收敛监测

在FLOTRAN求解过程中,程序在每一个总体迭代里对每一个自由度计算出一个收敛监测

量,这些自由度包括:速度(VX、VY、VZ)、压力(PRES)、温度(TEMP)、紊流动能(ENK

E)、动能耗散率(ENDS)、以及激活了的多组份传输方程(SP01 ~SP06)。收敛监测

量就是两次迭代之间结果改变量的归一化值,若以F表示任一自由度,则该自由度的收敛

监测量可由下式表示:

收敛监测量表示变量在当前迭代(kth)的结果和前一次迭代((k-1)th)的结果之间差

值的总和除以当前值的总和,这种求和是在所有节点上进行的,并且使用的是差值的绝

对值。

在批处理或交互式运行过程中,当求解进行时, 程序的“图形求解跟踪(GST)” 功能

将实时显示出所计算的收敛监测量,GST的缺省值在交互运行时是开(ON), 而 在批处

理运行时是关(OFF)。用户可用下面的方式定义其开关:

命令:/GST

菜单:Main Menu>Solution>Output Ctrls>Grph Solu Track

图2-1是两个典型的GST图形。图2-1(b)是一个FLOTRAN的瞬态分析过程,图中的每一

个尖峰表示了一个新时间步的开始。

在初始阶段可能出现的一些振荡之后,收敛监测量的大小将随着分析过程的收敛而逐渐

减小,但其减小的程度将依赖于几个因素,诸如:

· 几何边界的复杂程度

· 高梯度区域有限元网格的精度

· 紊流的严重程度(由雷诺数确定)

· 出口边界处流场的发展是否充分

当使用图形求解跟踪(GST)功能时,还应注意:

· 不单是FLOTRAN分析有GST功能,非线性的结构分析、非线性的热分析和非 线性的电

磁场分析都有GST功能。详见各自的分析指导手册。

· GST可同时显示多达10条的跟踪曲线,如果用户的模型有多于10个的自由度, 则GST将

只显示前10个自由度的收敛跟踪曲线。

· 当GST开始显示时,程序会d出一个带STOP按钮的对话框,用户可在任意时刻通过点

取该STOP按钮来中断求解过程,而后要进行重启动分析时,可通过执行命令SOLVE或其相

应的菜单Main Menu>Solution>Run Flotran来实现。

图2-1 由GST显示的收敛监测量

(a) 稳态求解

(b) 瞬态求解

中断一个FLOTRAN分析

用户可以定义一个基于压力和温度收敛监测量的目标值来中断一个FLOTRAN分析,定义

方式如下:

命令:FLDATA3,TERM,PRES,value

FLDATA3,TERM,TEMP,value

菜单:Main Menu>Preprocessor>FLOTRAN SetUp> Execution Ctrl

Main Menu>Solution>FLOTRAN SetUp>Execution Ctrl

压力和温度的收敛缺省值都是10×10-8,如果没有激活温度方程的求解,则程序只检

测压力的收敛值是否满足要求,而若同时激活了流体方程和温度方程的求解,则二者的

收敛标准都必须同时满足。在满足了压力和温度的收敛条件或总体平衡迭代数达到了所

要求的值后,FLOTRAN求解过程就自动中断。

要中断一个正在以批处理方式或后台方式执行的FLOTRAN分析,则需在当前工作目录下

生成一个JobnameABT文件 ,该文件的第一行应含有terminate字样 ,且该 字样的起始

位置应是第一行的第一列。在每一次总体迭代之前,FLOTRAN都会在当前目录下搜寻Job

nameABT文件,如果程序找到该文件并发现其含有terminate字样,则立即完成该次总体

迭代并正常中断程序的执行,而且将结果写入结果文件中。

对一个FLOTRAN分析进行评价

分析员必须回答的两个问题是:

1 所作的分析是何时结束的?

2 所作的分析是否是正确的?

这两个问题是相互关联的,因为,如果没有正确地设置和正确地分析一个流体问题,它

一般都是不会收敛的。

如果所输入的初始参数和所有的边界条件都是正确的,则当所有变量的收敛监测量都停

止增长,以及所有求解量的平均、最大、最小值都不再升降时,求解过程就算是完成了

。然而,这并不能保证所求解的结果是唯一正确的,因为自然界本身并不保证存在唯一

解。振荡问题(例如:柱体绕流的旋涡脱落问题)用稳态或瞬态求解技术都不能得到一

个稳定的解。要验证一个分析是稳定的或是振荡的,可以通过对它执行大量的迭代求解

来实现。

ANSYS将求解变量的平均、最小、最大值保存在文件JobnameRFL中,该文件同时还保存

了FLOTRAN的输入数据和计算出的收敛监测量、所有自由度的结果总结、层流特性和有效

特性。可用下面的方式来规定ANSYS进行结果总结的频率:

命令:FLDATA5,OUTP,SUMF,value

菜单:Main Menu>Preprocessor>FLOTRAN SetUp>Additional Out>RFL Out Derived

Main Menu>Solution>FLOTRAN SetUp>Additional Out>RFL Out Derived

验证结果

验证求解结果的可靠性是所有分析人员的责任,如果一个FLOTRAN分析得到了非预期的

结果,则应进行下列所示的一些 *** 作,这些 *** 作的大部分都可以在开始一个分析前完成

。即使只进行了零次迭代,ANSYS也会生成一个JobnameRFL文件并检查所有的输入数据

1 检查作为结果总结的一部分而打印出来的质量平衡情况。内部检查将确定是 否有任

何的可能会通过模型的质量流,允许质量流的边界条件是:

· 确定的速度边界条件

· 确定的压力边界条件

· 未确定的边界(这有可能是由于用户忘了施加边界条件而致)

ANSYS会将进口和出口边界编号列表,而这些应与所希望的条件相对应。

2 在ANSYS里检查边界条件,以保证其正确性。

3 检查所定义的流体性质及其随温度的可变动性正确与否,这可在RFL文件中方便地

检查。

4 检查用以建立模型的单位制与用以定义流体性质的单位制是否一致。

5 有时,还需确认与所选选项相联系的方程的求解是否正确(例如:可压缩流 中的压

力方程)。

6 如果求解发散,可能的原因还有:有限元网格不够精细、或者邻近出口处流 场梯度

太大,要解决这些问题,可以使用一些诸如惯性松弛等有助于收敛的 手段,本手册的后

面将详述各种松弛技术。

7 如果仅仅只有某个特定的量产生发散,则可将该量重新初始化到一个单值, 并作重

启动分析,方式如下:

命令:FLDATA29,MODV

菜单:Main Menu>Preprocessor>FLOTRAN SetUp> Mod Res/Quad Or

d>Modify Results

Main Menu>Solution>FLOTRAN SetUp> Mod Res/Quad Ord>

Modify Results

在测试求两个数的平均值的 C 程序时,通常需要考虑以下几种情况的测试数据:

正常情况:测试两个正整数、负整数、0、小数等不同类型的数字,确保程序能够正确计算平均值并返回正确的结果。

边界情况:测试输入数字的边界值,如最大整数、最小整数、最大浮点数、最小浮点数等,以验证程序在边界值情况下的处理能力。

特殊情况:测试特殊的输入情况,例如输入为负数但求平均值时应当舍弃负号的情况、输入为非数值类型时的处理情况(如字符串、字符等),以验证程序对异常输入的处理能力。

多组测试数据:使用多组不同的测试数据进行测试,包括正常情况、边界情况和特殊情况,以验证程序在不同输入情况下的稳健性和准确性。

具体的测试数据和测试组数可以根据具体的需求和程序逻辑来确定,一般来说,越全面的测试越能够帮助发现潜在的错误。在编写测试用例时,可以考虑边界值、常见的特殊输入和一般情况,以尽量覆盖不同情况下的可能性,从而提高程序的健壮性和可靠性。

以上就是关于使用计算机解决问题的一般步骤是划分边界全部的内容,包括:使用计算机解决问题的一般步骤是划分边界、ANSYS要提高边界处计算精度,如何处理、c语言求两个数的平均值要测试出该程序所有错误最好用什么样的值测试,最好用几组值测试等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9778901.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存