资源预览内容
第1页 / 共53页
第2页 / 共53页
第3页 / 共53页
第4页 / 共53页
第5页 / 共53页
第6页 / 共53页
第7页 / 共53页
第8页 / 共53页
第9页 / 共53页
第10页 / 共53页
亲,该文档总共53页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
转贴转贴网友的网友的 flluent 问题汇总问题汇总 admin 发表于: 2007-7-10 16:56 来源: 水泵人PUMPREN社区门户 1 现在用 FLUENT 的 UDF 来加入模块,但是用 compiled udf 时,共享库老是连 不上? 解决办法: 1你的计算机必须安装 C 语言编译器。 2请你按照以下结构构建文件夹和存放文件: libudf/src/*.c (*.c 为你的源程序); libudf/ntx86/2d(二维为 2d,三维为 3d)/makefile(由 makefile_nt.udf 改过来 的) libudf/ntx86/2d( 二 维 为 2d , 三 维 为 3d ) /user_nt.udf ( 对 文 件 中 的 SOURCE,VERSION,P ARALLEL_NODE 进行相应地编辑) 3通过命令提示符进入文件夹 libudf/ntx86/2d/中,运行 C 语言命令 nmake, 如果 C 预言 编译器按装正确和你的源程序无错误,那么此时会编译出 Fluent 需要的库文件 (*.lib) 这时再启动 Fluent 就不会出错了。 2 在使用 UDF 中用编译连接,按照帮助文件中给出的步骤去做了,结果在连接 中报错:“系统找不到指定文件”。 udf 文件可能不在工作目录中,应该把它拷到工作目录下,或者输入它的全部路 径. 3 这个 1e-3 或者 1e-4 的收敛标准是相对而言的。在 FLUENT 中残差是以开始 5 步的平均值为基准进行比较的。如果你的初值取得好,你的迭代会很快收敛,但 是你的残差却依然很高;但是当你改变初场到比较不同的值时,你的残差开始会 很大,但随后却可以很快降低到很低的水平,让你看起来心情很好。其实两种情 况下流场是基本相同的。 由此来看,判断是否收敛并不是严格根据残差的走向而定的。可以选定流场中具 有特征意义的点,监测其速度,压力,温度等的变化情况。如果变化很小,符合 你的要求,即可认为是收敛了。 一般来说,压力的收敛相对比较慢一些的。 是否收敛不能简单看残差图,还有许多其他的重要标准,比如进出口流量差、压 力系数波动等等,尽管残差仍然维持在较高数值,但凭其他监测也可判断是否收 敛。最重要的就是是否符合物理事实或试验结论。 残差曲线是否满足只是一个表面的现象,还要看进口和出口总量差不得大于 1%, 而且即使这样子,收敛解也不一定准确,它和网格划分/离散化误差,以及屋里模 型的准确性都有关系.所以得有试验数据做对比活着理论分析了 当然最终是否正确是要看是否与实验数据相符合!但既然有残差图的话,总应该 可以大概的看出是否收敛吧?是否要残差要小到一定的程度, 或者是残差不在增 长,就可以一定程度上认为是收敛的 残差的大小不能决定是否收敛,我在用 FLUENT 计算时,多采用监测一个面的速 度(或者是压力、紊动能等参数)基本上不随着计算时间的推移而变化,就认为 基本达到收敛 4 据质量守恒,收敛时进、出口的流量数值应大致相等(一般认为进出口质量差 值比上入口质量的相对值小于 0.5时收敛,但是对特殊情况可能不同 ),但符 号相反,一般出口流量是负值。 5 在进行稳态计算时候,开始残差线是一直下降的,可是到后来各种残差线都 显示为波形波动,是不是不收敛阿? 答: 有些复杂或流动环境恶劣情形下确实很难收敛。计算的精度(2 阶),网格太疏, 网格质量太差等都会使残差波动。经常遇到,一开始下降,然后出现波动,可以 降低松弛系数,我的问题就能收敛,但如果网格质量不好,是很难的。通常,计 算非结构网格, 如果问题比较复杂, 会出现这种情况, 建议作网格时多下些功夫 。 理论上说, 残差的震荡是数值迭代在计算域内传递遭遇障碍物反射形成周期震荡 导致的结果,与网格亚尺度雷诺数有关。例如,通常压力边界是主要的反射源, 换成 OUTFLOW 边界会好些。这主要根据经验判断。所以我说网格和边界条件是 主要因素。 6 残差是 cell 各个 Face 的通量之和,当收敛后,理论上当单元体内没有源 相时各个面流入的通量也就是对物理量的输运之和应该为 0。最大残差或者 RSM 残差反映流场与所要模拟流场(指收敛后应该得到的流场,当然收敛后得到的流 场与真实流场之间还是存在一定的差距)的差距,残差越小越好,由于存在数值 精度问题,不可能得到 0 残差,对于单精度计算一般应该低于初始残差 1e-03 以下为好,但还要看具体问题。 一般在 Fluent 里可以添加进出口流量监控(print or plot),当残差收敛到一定 程度后,还要看进出口流量是否达到稳定平衡,才可以确认收敛与否。残差在较 高位震荡,需要检查边界条件是否合理,其次检查初始条件是否合适,比如在有 激波的流场,初始条件不合适,会带来流场的震荡。有时流场可能有分离或者回 流,这本身是非定常现象,计算时残差会在一定程度上发生震荡,这时如果进出 口流量是否达到稳定平衡,也可以认为流场收敛了(前提是要消除其他不合理因 数)。另外 Fluent 缺损地采用多重网格,在计算后期,将多重网格设置 为零可以避免一些波长的残差在细网格上发生震荡。 7 模型比较复杂,是在 pro/E 中建的模,然后用 igs 导入 gambit,不过这样就产 生了很多碎线和碎面并且在一些面交界的地方还存在尖角。 我曾经做成功过把它 们统统 merge 成一个虚面,中间设置了一个可以容忍尖角的参数,也可以划分 网格,但把生成的 msh 文件导入 fluent 就会出错,这是 virtual geometry 的原 因还是因为尖角的原因?还有,virtual geometry 和普通的真实的几何体到底有 什么区别?好像最大的区别是 virtual geometry 不能进行布尔操作,布尔操作 (boolean operation)又是什么?使用 virtual geometry 需要注意哪些问题? virtual geometry 是很头疼的问题。你把它们统统 merge 成一个虚面 按理说全是虚的也是可以算的。 可能是因为尖角的原因, 虚实最大差别: 是virtual geometry 不能进行布尔操作, boolean operation 即是并对于复杂外形的网格生 成,不可避免的会用到 virtual geometry,virtual face ,和 virtual edge 等, 1。作网格的时候,把所有的面全部合成一个虚面的做法不好,特别是对于复杂 外形的网格生成,你最好在模型变化剧烈的地方多分几个面,这样会更有效的控 制网格能够在模型表面曲率比较大的地方能够生成规则的结构或者非结构网格。 2 对于你输入 gambit 的时候产生很多碎片的问题, 你可以适当的把 proe 里面的 模型精度和它的公差降低,因为 gambit 的建模工具精度本事就不高。 3。布尔运算就是对于面与面,体与体的联合,相减等运算。这个在所有的 cad 建模过程中是经常见到的问题。 4。对于虚体生成的计算网格,和实体生成的计算网格,在计算的时候没有区别, 关键是看你网格生成的质量如何,与实体虚体无关。 我在作复杂模型计算的时候,大部分都是用的虚体,特别是从其他的建模软件里 面导进来的复杂模型,基本上不能够生成实体。 至于计算的效果如何,那是你对于 fluent 的设置问题和网格的质量问题,与模 型无关。可以用 gambit 里面的 check 功能检查一下你的网格质量,看看质量怎 么样 实体、实面与虚体、虚面的区别 在建模中,经常会遇到实.与虚.,而且虚体的计算域好像也可以进行计算并 得到所需的结果, 对二者的根本区别及在功能上的不同对于求解是没有任何区别 的,只要你能在虚体或者实体上划分你需要的网格 - gambit 的实体和虚体在生成网格和计算的时候对于结果没有任何影响,实体和 虚体的主要区别有以下几点: 1。实体可以进行布尔运算但是虚体不能,虽然不能进行布尔运算,但是虚体存 在 merge,split 等功能。 2,实体运算在很多 cad 软件里面都有,但是虚体是 gambit 的一大特色,有了 虚体以后,gambit 的建模和网格生成的灵活性增加了很多。 3。在网格生成的过程中,如果有几个相对比较评弹的面,你可以把它们通过merge 合成一个 ,这样,作网格的时候,可以节省步骤,对于曲率比较大的面,可能生成的网格 质量不好,这时候,你可以采取用 split 的方式把它划分成几个小面以提高网格 质量 8 问题一:在画体网格时总出现 initialization failed perturb boundary nodes and try again,但是还在继续画。我想一定是有问题的。但不知道问题出现在哪 里?谨请各位大虾赐教! 问题二:在画面网格时已经定义了 spacing,那么在画体网格时再定义,会不会有 冲突?还有,究竟怎样定义才是合理的? 第一个问题:在做网格时,所有的错误提示都表明部分网格生成要么有问题没有 生成,要么生成的质量很差,要重新检查一下几何体和网格类型. 第二个问题:如果能够生成网格的话,重复定义没有问题,但是可能会出现生成面 网格的 spacing 和体网格的 spacing 不一致而产生冲突,这种情况下 gambit 会自 动处理,但生成的网格质量未必好. 9 在用 gambit 生成体网格的时候,出现了问题,提示是 Initialization failed to mesh 23 nodes . ERROR:TG_mesh_domain failed with error code 1. ERROR:Tegrahedral meshing has failed for volume v_volume.1. this is usually caused by problems in the face meshs. check hte skewnesses of your face meshes and make sure the face mesh size are not too large in areas of small gaps . 我明白这是因为模型中的狭长面太多,但是在修改了大量的狭长面以后,还是存 在这个问题,每一个面我都挨着做了一下网格,看看生成的质量怎么样,检查应 该没有问题了,但是在生成体网格的时候,又出现这个问题,不知道该怎么办? 解决办法 1.减小体网格 size,当有多个体的时候,体网格从小到大过渡要合理,跨度不要 太大 2.合并小面(小面与小面合并,小面并入大面),变成虚体,我觉得合并小面是 个很有效的方法,网格质量也可以得到提升 关键是两个小面之间的夹角很大,合并之后会出现一个像角铁一样的拐角面,做 网格的时候效果更差了, 老兄说的合并成虚面的情况应该是两个面的夹角不是太 大的情况,减小 size 我也试验了,但是减小了以后,我的网格数量就太多了, 算东东的时候机子跑不动 那就把夹角很大的那两个小面部分单独切为一个体算了,对这个体给个很小的 size 再试试吧,不行就把它忽略掉 Gambit 生成的网格质量向来让人很头疼的,用 ICEM 几乎不出现负体积,这可 能跟 Gambit 的算法有关系, 对于曲率比较大的区域, 只能增加该处的网格密度, 只能这样了。 10 1 FLUENT 的 初 始 化 面 板 中 有 一 项 是 设 置 从 哪 个 地 方 开 始 计 算 (compute from),选择从不同的边界开始计算有很大的区别吗?该
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号