至理名言

时间:2024.3.31

有些路很远,走下去会很累。可是,不走,会后悔。

最难过的,莫过于当你遇上一个特别的人,却明白永远不可能在一起,或迟或早,你都不得不放弃。

小时候,幸福是一件东西,拥有就幸福;长大后,幸福是一个目标,达到就幸福;成熟后,发现幸福原来是一种心态,领悟就幸福。

宁愿像个孩子,不肯看太多的事,听太多的不是,单纯一辈子。

女人的脸不经近看,男人的心不经细看。有些人,身近了,心也就远了。

不要过分在意一些人,如果有人问起,就说忘了。不解释,不悲伤。

真正的爱情不是一时好感,而是明明知道没结果,还想要坚持下去的冲动。

前面的路还很远,你可能会哭,但是一定要走下去,一定不能停。

不要等我变了以后,才说怀念以前的我。

总有那么一天,有一个人,会走进你的生活,让你明白,为什么你和其他人都没有结果。

有些路,只能一个人走,路上的艰辛,只有自己知道。 其实,没有什么东西是不能放手的。时日渐远,当时回望,你会发现,你曾经以为不可以放手的东西,只是生命里的一

块跳板,令你成长。

坚强的内心,往往会被一句简单的安慰打败,然后泪流满面。 当你觉得你可以为之奋斗的时候,别放弃。等待是很难过的,但后悔会更难过。

心情不好时,闭上眼,告诉自己,这是幻觉。

可笑的是,我们在朋友面前假装心理专家,但却连自己的问题都解决不了。

哭给自己听,笑给别人看,这就是所谓的人生。

即使自己不快乐,也绝不去打扰别人的幸福,这是原则。 如果你早认清你在别人心中没那么重要,你会快乐很多…… 朋友不是先来的人或者人生最久的人,而是那个来了以后再也没有走的人。

我觉得,人们分开总有一些原因,不过有些人,你应该等。 其实对你真正好的人,你一辈子,也不会遇到几个。

最好的朋友,平时互相调侃,是嘴最狠的那个,在你需要的时候,却是心最软的那个。

有的时候,你选择放手并不是无法坚持,只是因为你发现有些事情注定无法实现。

其实这个世界上没有那么多的如果,有时候,我们一瞬间失去的东西就是永恒。

好的生活就是不瞎想,做得多,要得少,常微笑,懂知足。 有时候不是不信任你,只是我比别人更在乎,更怕失去你。

有些事,不是不在意,而是在意了又能怎样。


第二篇:CFXANSYS使用高手流固耦合至理名言


CFX user Fortran: 在每个时间步输出结果

问题是这样的,用CFX user CEL完成变量的同时,还希望CFX输出每个时间步的变量值(比如,每个时间步的压力值)到一个文本文件。虽然在程序中作了一些控制(以避免在每个coefficient loop都输出结果),但是CFX总是在一个时间步输出同样的变量多次。 User CEL的功能其实是和CFX的内置CEL一样的,只是用户化的CEL。User CEL会在―需要时‖,被实时引用。如果user CEL是用来定义边界条件,在一个coefficient loop,user CEL会被运行多次。这样结果也会被多次重复输出。 其实CFX user Fortran有两种,第一种是user CEL,它的主要功能是表达式的计算;第二种是junction box routine,它的主要功能是控制计算流程。user CEL会被实时引用,而junction box routine只在用户设定的运行点运行。下图是从CFX帮助里复制的流程图。要完成上面所说的功能,只要定义个junction box routine,然后把运行点设成End of Time Step (transient only)就可以了。 /?p=116}

Fri, 14 Dec 2007 18:34:57 +0000

Fluent: 计算叶轮功率

问题是这样的,Fluent可以不可以计算驱动搅拌器叶轮所需要的功率;如果可以的话,是不是要做面积分。 按照物理学上的定义,对于旋转的系统,功率=力矩*转速。通过表面积分(把每个壁面单元,wall face,的功率相加)可以得到整个系统的功率。但是,这个方法比较麻烦,需要用UDF计算,可能比较费时间。 既然功率=力矩*转速。转速我们是已经知道的。力矩可以在Fluent->Report->Forces…上计算得到。因此,如果叶轮转动轴是和x,y,z轴其中之一方向一致的话,我们可以直接用Fluent图形界面进行计算。当然如果转动轴方向不和系统坐标一致,UDF还是需要的(有兴趣的朋友可以email给我)。这是因为力矩和转速都是矢量,只是在和系统坐标一致时,才可以方便的找到转动轴方向的力矩分量。 具体的做法是这样的: 1. Fluent -> Report -> Forces … 把Options选成Moments,把Moment Center设成转动轴上任意一点(但必须要是转动轴上的一点,否则就错了)。在Wall Zones里选择所要计算的壁面。然后点击Print。 2. Fluent会输出力矩的三个放量,单位是Nm,牛顿米。 3. 假设转动轴是在x方向的,把x分量乘以转速(单位是弧度每秒),就得到所需的功率了。 /?p=117}

Wed, 12 Dec 2007 18:58:45 +0000

在Fluent里设置回流边界条件(recirculation opening)

这里的回流边界和流体力学里说的回流是不一样的。在室内通风系统,由很多设备,比如空调室内机,空气过滤器,会从房间内吸走一定量的空气,然后返还等量的空气。这一过程中,可能空气的温度会发生变化(空调室内机),空气的组分会发生变化(空气过滤器)。空气的质量总是等量的。 在Airpak里面有一种特别的opening条件,可以定义recirculation opening。在这种边界条件中,必须是两个边界组成一对,质量保持守恒,但是可以有热量和组分的变化。 问题是这样的,怎么在Fluent里面定义这样的边界条件呢。 要在Fluent里面定义这样的边界条件,需要输入下面两行scheme(和输入TUI一样): (rpsetvar ?icepak? #t) (models-changed) 如果觉得每次输入很麻烦的话,可以把这两行放在一个文本文件中,然后把这个文本文件命名为*.scm。在Fluent -> File -> Read -> Scheme …可以读入这个文件,完成设定。 完成设定后在Fluent的boundary conditions面板,就会多出来两个选项,然下图所示(Fluent 6.3.26)。 具体的做法就不多说了,因

为界面还是相当直观的。 当然,另外一种办法是用DEFINE_ADJUST UDF来做,但是这个办法会复杂一些。

/?p=118}

Tue, 11 Dec 2007 19:21:34 +0000 ESI发布CFD-Ace+ v2008.0

主要的提升有:1. 多面体网格;2. 燃料电池模型;3. 新的边界层网格生成技术。 新闻链接 CFX-Ace+网站

/?p=119}

Mon, 10 Dec 2007 19:43:37 +0000 在Tgrid里划分多个体网格

很多时候我们需要一个网格里面有多个体(例如,定义源项,有转动部分),但是默认情况下Tgrid只划分其中一个体的网格(严格说,只输出其中一个体的网格到*.msh文件)。要解决这个问题,需要改变Tgrid的默认设置:Tgrid -> Mesh -> Tri/Tet -> Controls -> Init/Mesh,然后把Non-Fluid Type选成Fluid(默认选项是dead)。 和ICEM CFD一样,Tgrid里面是没有体的。体是由面组成的封闭空间决定的。是用默认设置的话,Tgrid只会把最大的体输出,其余的体设成dead,不会输出。 Tgrid Tutorial的第一个练习题就是有关多个体划分网格的。具体操作可以练习第一题。 /?p=120}

Sun, 09 Dec 2007 19:58:24 +0000

Fluent安装后不能启动

问题是这样的,Fluent安装后不能启动,并且给出下面的错误消息: The application failed to initialize properly (0XC0150002). Click OK to terminate the application 出现这样的问题是因为在64位windows上,Fluent需要Microsoft .NET Framework 2.0 libraries。需要下载.NET framework Version 2.0 Redistributable Package。x64版本可以在微软网站免费下载到。当然最好的方法是,使用windows的自动更新功能,下载安装所有的补丁和升级程序。 下载链接:/en-us/netframework/aa731542.aspx /?p=121}

Sat, 08 Dec 2007 20:07:51 +0000

Airpak 3.0.16 发布

Fluent刚刚发布了Airpak 3.0.16。在此以前的版本是Airpak 3.0.12(链接)。我还没有具体试用过,应该没用功能性的提高,主要是提高稳定性。最重要的是从这个版本起,Airpak开始支持64位系统(Windows和Linux)。用户可以求解更大更复杂的问题。Airpak可以在Fluent用户服务中心下载。 /?p=115}

Fri, 14 Dec 2007 04:32:00 +0000

Fluent for Catia V5 3.1 发布

包括32位windows和64位windows版本。产品介绍网页:/ Technorati : Catia, Fluent

/?p=114}

Wed, 10 Oct 2007 02:34:00 +0000

本博客主要介绍ANSYS,CFX,Fluent的最新更新,使用技巧等。同时也有CFD和FEA基本理论,及其他CAE软件的介绍。

CFX 11.0的两个CEL新功能

1.inside()函数 有时候我们需要在不同的区域设置不同的属性。比如,要初始化一个自有表面问题,在volume A体积比是1,在volume B体积比是0。在10.0时,需要把这两个区域防近两个domain,然后对各自domain进行初始化。这样,需要建立domain interface来连接domain。可能只能使用GGI来连接,这样精度就会受到影响。 在11.0,inside()函数可以方便解决这个问题。inside()函数的功能和step()函数的功能类似(if…else…语法)。如果在指定区域内,返回1;否则,返回0。 首先,找到volume A和B的原始区域名。只要把树形目录里的mesh展开,就可以看到下面所有的面和体区域。面区域以F开头。体区域以B开头。然后,写出inside()@REGION:B****函数。最后把这个CEL函数放到模型中。 下面是一个利用inside()函数进行初始化的例子: Initial_C = 1 [kg m^-3]*inside()@REGION:B3872 在区域B387内,初始值为1;否则为0。 2. REGION:语法 在10.0时,基于区域的函数如area()@只能基于已定义边界条件的面。也就是说,@后面只能跟边界条件名,而不能是网格中的原始区域(primitive region)。这样,如果要定义基于原始区域的函数,而这个区域不是边界条件时,就会比较麻烦。 11.0提供的REGION:语法可以方便的解决这个问题。其实REGION:的用法已经在上面的例子解释了,这里就不多说了。 Technorati : CEL, CFX

/?p=109

Sun, 07 Oct 2007 05:03:29 +0000 简化Airpak模型的小经验

Airpak虽然提供了非常强大的划分网格功能,不过如果不认真控制的话,还是会产生非常大的网格。最近遇到一个问题在32位PC上,Airpak不能显示大于一百万网格的PMV和PPD。我猜想PMV和PPD结果并没有保存在最终结果中,需要暂存在内存中,因此对内存的要求会增加。 在使用Airpak的过程中,还遇到过其它和网格质量相关的问题。网格质量低的话,会导致收敛问题。下面总结一些我发现的经验(有新发现的话,持续添加)。 1. 尽量使用Hexa unstructured方法。Tetra生成的单元数最多,Hexa Cartesian次之,Hexa unstructured最少。Hexa Cartesian不能划分弯曲、倾斜的几何形状,不推荐使用。Tetra可以用在复杂的几何形状。Tetra生成需要很长时间。Hexa dominant是指混合使用Hexa unstructured和Tetra。 2. 少用CAD,多用polygon。虽然Airpak 3.0允许直接使用CAD几何形状,但是由于CAD本身的缺陷或者过于复杂,生成Tetra网格会很慢,并且单元数太多,浪费计算资源。用Polygon可以近似复杂的形状,进而生成效率高的Hexa unstructured网格。 3. 使用Non-conformal Meshing。如果room里有比较小的细节的话,把这些细节放到assembly,然后mesh seperately,能够显著减少单元数。网格质量也能大大提高。 4. 控制Minimum gap。默认的minimum gap是1毫米。在模拟大的流域时,如果一些object没有对齐,会生成非常大纵横比的单元,影响收敛。如果object很多,对齐困难的话,使用大一点的minimum gap就可以解决这个问题。 5. 使用Per object control。可以更好的控制,物体旁边的边界层等。 6. 检查网格质量。网格质量的第一项Face Alignment非常重要,如果有很多单元在0 - 0.15的范围的话,会很难收敛或发散。把下面的max改成0.15,然后点击柱状图,可以检查低质量单元的位置。 7.

如果有收敛问题,可以暂时deactivate所有object,然后依次activate进行测试,找出问题所在。 Airpak的帮助文件对网格生成有比较详细的阐述,如果认真阅读的话,会有很大的帮助。网格生成是CFD模拟中最重要的环节之一,因此磨刀不误砍柴工。 Technorati : Airpak, 网格

/?p=104

Sat, 06 Oct 2007 03:50:23 +0000 CFX:用动网格来转动固体表面

在一些CFD模拟中,用户需要测试流场对一系列尺寸的反应。比如所当管道的直径为10 mm,12 mm,和14 mm时,流场各有什么不同。DesignModeler里面的parameter可以做到这一点。如果使用CAD interface的话,DesignModeler可以读进上游软件的parameter,比如Pro/E。这样做的问题是每次都需要重新生成网格(用DesignXplorer可以自动化这一过程)。其实我们可以用CFX的Mesh deformation功能实现这个目的。 问题是这样的,要测试控制叶片在0-5度内,每转动一度时流场的不同。做法是这样的: 1. 在domain上设定mesh deformation。 2. 设定所有的wall边界。如果没有移动,设置成Unspecfied;如果有移动,设置成Spcified Location。 要计算出转动后的location,需要用CEL进行坐标变换。下面的连接介绍了转动坐标变换的公式: /theory/transform/rot.html 如果转动轴和z轴平行,并且位于(x0,y0)的话,我们可以算出转动后的坐标为: x2 - x0 = (x1-x0)*cos(phi) - (y1-y0)*sin(phi) y2 - y0 = (y1-y0)*cos(phi) + (x1-x0)*sin(phi) x0, y0:转动中心 x1, y1:转动前的坐标 x2, y2:转动后的坐标 把x2,y2输入就可以模拟转动了。 下面是一段CEL例子: LIBRARY:CEL:EXPRESSIONS:phi = 5*pi/180x2 = xy0 = 0 [m]y1 = yy2 = y0+(y1-y0)*cos(phi)-(z1-z0)*sin(phi)z0 = -0.21 [m]z1 = zz2 = z0+(z1-z0)*cos(phi)+(y1-y0)*sin(phi)ENDENDEND Technorati : CFX, 动网格 /?p=105

Fri, 05 Oct 2007 04:48:00 +0000

CFX:opening temperature vs. static temperature

前面一篇帖子讨论了在CFX里面应该使用什么样opening边界条件。当时只是讨论了动量方程边界条件,没有讨论能量方程边界条件。问题是这样的,在CFX做通风系统模拟时,环境温度是32度,流场内只有热源,没有热量损失。根据常识,温度不可能低于32度,但是实际模拟结果却有部分区域温度低于32度。 问题是稳态的,我只算了两个迭代,在CFX-Post里面发现温度的global range是低于32度的。但是在切面上很难看到那些区域温度低于32度。使用isosurface功能可以方便的看到低温区域。低温区域位于一个opening边界条件旁边。 检查了opening的定义后,发现温度定义为opening temperature。也就是说,如果空气流入时,total temperature是32度;如果空气流出时,static temperature是32度。换句话说,如果空气流入,static temperature实际上低于32度。空气流速越大,static temperature越低。这样就会造成没有热损失,温度却低于32度的情形。 在做通风系统模拟时,opening条件应该统一设成静压和静温。 Technorati : CFX, 边界条件 /?p=106

Thu, 04 Oct 2007 05:45:00 +0000

用CFX模拟二维问题

CFX只有3d求解器,在求解二维问题时,需要有特别的设置。当然,Fluent有专门的2d求解器,求解速度要快得多。 二维问题可以分为平面二维(planar 2D)问题和轴对称二维(axisymmetric 2D)问题。 1. 几何形状 平面二维:在DesignModeler里面,extrude二维sketch。延伸的长度不重要,但是厚度要比较薄。 轴对称二维: 在DesignModeler里面,revolve二维sketch。转动的角度部重要,1度到5度比较合适。 2. 网格 平面二维:在CFX-Mesh里面,把Option -> Meshing Strategy改成Extruded 2D Mesh,Number of Layers = 1,然后定义Extruded Pair,Option = Translational 轴对称二维:在CFX-Mesh里面,把Option -> Meshing Strategy改称Extruded 2D Mesh, Number of Layers = 1,然后定义Extruded Pair,Option = Rotational,并定义轴。 生成的网格主要由锲形(prism)网格组成。轴对称情况下,靠近轴的地方会有退化网格。 3. 定义 二维问题使用和三维问题类似的边界条件。对前面和后面,定义成symmetry(对称)边界条件就可以了。如果没有定义成对称条件的话,CFX-Solver回提示不能正确计算梯度,求解器会自动中止。 Technorati : CFX, 二维 /?p=107

Wed, 03 Oct 2007 07:27:00 +0000

用CFX模拟流体在不同材料里的扩散

在生物医药的应用上,有时候需要模拟药物在不同材料里的扩散。流体本身没有流动,但是药物会从高浓度区域扩散到低浓度区域。 要求解这个问题,不需要求解速度场和对流项。只要求解一个扩散方程。因此自己开发程序或者用matlab可能会更适合。用CFX可以模拟比较复杂的几何形状。 1. 不求解动量方程。Insert -> Solver -> Expert Parameter -> Model Over-rides,把solve fluid的选项改成f。 2. 不求解湍流方程。把湍流模型设成laminar 3. 不使用任何其他模型。没有传热,多相流等。 4. 定义一个Additional variable。然后再domain里面激活这个additional variable,使用diffusive transport equation。并且定义该additional variable在里面的扩散系数。 5. 定义边界条件。 在CFX里,默认情况下,CFX-Pre会对所有的domain使用同样的设定。如果要给不同的domain设定不同的扩散系数的话,需要作一个高级设置。Edit -> Options -> CFX-Pre -> Enable Beta Features。最后在树形目录的Simulation上点右键,选空Constant Domain Physics。这样便可以给不同的区域顶以不同的扩散系数了。当然,在做网格时,要先把domain划分好。 Technorati : CFX, 扩散 /?p=108

Mon, 01 Oct 2007 07:56:00 +0000

CFX:Insufficient Catalogue Size

前面一篇帖子,介绍了CFX求解器堆栈长度不足的处理。最近遇到一个实例,在进行瞬态计算时,CFX报告了下面的错误消息: +——————————————————————–+| *** INSUFFICIENT CATALOGUE SIZE *** || ACTION REQUIRED : Increase the file catalogue size. || If the situation persists please contact the CFX Customer Helpline || giving the following details:- || Current catalogue size : 50822 |+——————————————————————–+ 这是由于CFX的存储管理系统(Memory Management System, MMS)没有分配足够的内存给所要求解的问题。这种问题是不常见的。 有两个办法可以解决这个问题,在CFX-Pre里面用CCL控制,或者在CFX-Solver里,配置相应的参量。它们的作用是一样的。 1. 在CFX-Pre里用CCL控制 在Solver Control上点右键,然后选择‖Edit in Command Editor‖。在CCL里插入下面的语句: Catalog

ue Size Multiplier = 1.2 这句定义可以直接放在‖SOLVER CONTROL‖下面。点击Process确认。 2. 在CFX-Solver里配置参量 如果是用命令行提交CFX,在CFX5solve命令里加上‖-size-mms 1.2″控制。这个控制是让MMS请求1.2倍的内存。根据情况不同,可以使用更大的值。 如果是用图形界面提交CFX,在solver标签下面,可以输入advanced arguments。 [...] /?p=110

Sun, 30 Sep 2007 05:40:00 +0000

配置windows系统CFX并行计算

最近被问到怎么给windows系统配置CFX并行计算。其实CFX的并行计算功能是很容易配置的。32位windows上使用mpich,64位windows上使用mpich2。 如果已经安装了ANSYS Workbench的话,帮助里会有一本Installation and Licensing Documentation。在里面搜索mpich会看到具体的配置方法: 1.在CFX-Launcher上,Tools -> Command Line 2.安装mpi 2.1 32位系统,输入: cfx5parallel -install-mpich-service 2.2 64为系统,输入: cfx5parallel -install-mpich2-service 3.注册用户 3.1 32位系统,输入: cfx5parallel -register-mpich-user 3.2 64位系统,输入: cfx5parallel -register-mpich2-user 4. 输入用户名和密码。个人认为这个用户名和密码并不是很重要,可以输入任意值。 如果使用分布式并行计算的话,还需要安装rsh服务和配置防火墙。对于前者,安装帮助上的说明安装就可以了;对于后者,通常我是直接把windows防火墙关了。 另外,在windows上使用mpich要比pvm快很多很多。用pvm不需要特别的设置。 Technorati : CFX, 并行计算 /?p=111

Sat, 29 Sep 2007 06:08:00 +0000

ICEM CFD:extrude mesh操作的side part name

问题: ………………………………………………….Subject…: 关于ICEM的一个问题………………………………………………….请问通过平面网格通过extrude mesh操作,转化为六面体网格以后,边界条件(part)不能从原来的线对应成面,是什么原因? 回答: 请参见附件的截图。设定一个side part name就可以了。 /?p=112

Fri, 28 Sep 2007 06:17:00 +0000

ANSYS 11.0 service pack 1发布

ANSYS 11.0 SP1已经发布了。ANSYS, Workbench和ICEM CFD已经支持Windows Vista,CFX对Windows Vista的支持是beta版本。 Technorati : ANSYS, Vista /?p=103

Tue, 02 Oct 2007 13:12:07 +0000

本博客主要介绍ANSYS,CFX,Fluent的最新更新,使用技巧等。同时也有CFD和FEA基本理论,及其他CAE软件的介绍。

CFX:如果确定timescale

CFX的求解器是比较特别的,和普通教科书上的不太一样。它使用耦合求解器(coupled solver),并且使用求解瞬态方程的方法来求解稳态问题。时间步长(timescale)是影响收敛的最重要的因素。时间步长在耦合求解器里的重要性,相当于松弛因子(underrelaxation fac

tor)在分离求解器(segregated solver)里的重要性。前面有一篇帖子,讲了时间步长在流固耦合传热问题中的作用。 打个比方,在开车时。如果速度很慢,就会比较安全,但是需要比较长的时间才能到达目的地;如果速度很慢,就会节省时间,但是可能会不安全。同样的,在用CFX求解时,如果timescale很小,收敛会很稳定,但是需要很多的迭代,速度较慢;如果timescale很大,需要的迭代次数较少,但也可能引起求解器不稳定,甚至发散。因此合适的timescale对于收敛是很重要的。 通常情况下,timescale可以根据(特征时间=特征长度/特征速度)这个公式算出来。但是对于复杂的流场而言,直接推算出合适的时间步长还是有一定难度的,需要试出合适的timescale。 在CFX里,auto timescale是让系统自动估算出timescale,而physical timescale是由用户直接输入timescale。通常情况下,系统估算出的auto timescale过于保守,用户需要使用较大的physical timescale。另外,由于使用耦合求解器的缘故,CFX一般能在100-200个迭代步内收敛。如果在200步内还没有收敛的话,需要考虑改大timescale,而不是让系统跑更多的迭代(例如,把最大迭代数设成1000),这样会浪费很多宝贵的时间。 最近碰到一个室内空调系统的模拟问题,由于浮力(buoyancy)的存在,动量方程和能量方程的耦合会导致收敛困难。使用的是CFX 11.0。11.0提供了时间步长系数(Timescale factor)这个新选项,可以方便的测试不同的timescale。timescale factor = 10代表timescale = 10 * auto timescale。 上面所说的空调模拟问题,我测试了timescale factor = 1、10、100三种情况。平均残差(RMS residual)和全局不平衡(global imbalance)的曲线图附在下面。 从曲线图可以清楚地看出,使用小的时间步,收敛曲线呈波浪形,或收敛缓慢,全局不平衡较大;使用大的时间步,收敛曲线呈‖之‖字形上下跳动。下面这个例子,timescale factor = 10可能较快得到收敛结果,最终我使用了timescale factor = 20。曾经尝试修改能量方程的时间步长,但是效果不太好。 timescale factor = 1 timescale factor = 10 timescale factor = 100 Technorati : CFX, 收敛, 时间步长 /?p=97

Sun, 26 Aug 2007 01:16:46 +0000

CFX:带压力差的周期性边界条件

带压力差的周期性边界条件(translational periodic boundary with pressure drop)是一种常见的边界条件。比如很多用DNS/LES的管道流动,以及换热器流动。CFX在11.0才正式支持这种边界条件。要定义周期性边界条件,需要定义一个fluid-fluid interface。 阅读了帮助后,发现位移周期性边界条件可以有两种应用(除了模拟周期性条件以外): 1.连接网格。这个时候位移周期性边界条件的作用是和通用连接(general connect with no frame change or pitch change)一样的。CFX的第8个练习题(Tutorial 8: Supersonic Flow Over a Wing)便是使用周期性边界条件来连接三块网格。个人认为,这个时候使用周期性边界条件或通用连接并没有区别,完全是个人的使用习惯问题。 2.模拟porous jump。前面有一篇帖子讲过Fluent里可以定义porous jump,但是CFX不可以。其实这个功能可以使用带压力差的周期性边界条件来实现。具体做法是:1)用周期性边界条件来连接相邻的网格;2)设定一个压力差。具体的公式推导在CFX帮助里已经提到: ANSYS CFX-Solver Modeling Guide | Domain Interface Modeling | Interface Models | Mass and Momentum Models 在这个帮助里还提到,除了在位移周期性边界条件上设定压力差,用户还可以设定质量流量(massflow rate)。通常情况下,设定质量流量会比较难收敛。因为CFX使用的是基于压力的求解器,如果使用质量流量的话,系统需要根据质量流量来收敛得到压力差;而如果设定压力差的话,系统会直接使用压力差来计算,因此比较容易收敛。 Technorati : CFX, 周期性边界条件

/?p=98

Sat, 25 Aug 2007 02:23:00 +0000

Fluent UDF:为什么不能使用C_R_G

在写Fluent UDF时,不能使用C_R_G macro,但是其它mcro,例如C_P_G和C_U_G可以正常使用。求解器是基于压力的隐式耦合求解器。 查看了UDF manual后发现,C_R_G的功能是取出密度梯度,在帮助中有下里面的注解: C_R_G can be used only in the density-based solver and C_P_G can be used only in the pressure-based solver. 也就是说在使用基于压力的求解器时,系统并不支持C_R_G;使用基于密度的求解器时,系统不支持C_R_P。 要解决这个问题,可以根据理想气体方程计算密度,而不是直接从求解器中取密度。 Technorati : Fluent, UDF /?p=99

Fri, 24 Aug 2007 02:46:00 +0000

GAMBIT:OPENGL_DEVICE_DRIVER not supported

在运行GAMBIT时,会出现下面的警告: Gambit build SP2006032921.Warning: locale not supported by Xlib, locale set to COPENGL_DEVICE_DRIVER not supportedDefaulting to X_DEVICE_DRIVER with standard visual 我在网络上也发现不少问同样问题的帖子。出现这个警告信息的原因是没有安装Hummingbird Exceed 3D。Exceed 3D是一个附加模块,它并不是运行GAMBIT所必须的,因此我们可以忽略这个警告。 Technorati : GAMBIT /?p=100

Thu, 23 Aug 2007 04:48:00 +0000

CFX:MPICH运行失败

最近遇到了一个并行计算的例子,用serial(1个CPU)和2个CPU的并行计算,求解器可以正常收敛,用4个CPU或者更多,在开始求解第一步时,求解器自动终止,并且没有错误消息。 刚开始是怀疑patitioner的问题,但是CFX的默认patitioner是MeTis,而且通常情况下patitioner的选择只会影响效率,很少会引起求解器失败。 测试使用的MPI(message passing interface)是local MPICH(CFX 10.0, IBM UNIX)。模型有很多interface。 在换用local PVM后,系统可以在8个CPU上正常运行。这个实例说明如果MPICH不能运行的话,可以换用PVM MPI试试。另外这也可能是10.0里面的bug。PVM其实是CFX里默认的MPI。MPICH虽然速度较快,但是可能不如PVM稳定。 Technorati : CFX, MPI /?p=101

Wed, 22 Aug 2007 05:12:00 +0000

CFX:读取CGNS网格

CGNS(CFD General Notation System, /)是一种通用的CFD文件交换标准。很多软件可以输出、输入CGNS格式。下面的链接提供了一些CGNS例子:/CGNSFiles.html 很多CGNS格式网格是multi-block structred mesh。在读入CFX-Pre之后,在图形界面上,显示为很多block。但是,网格实际上是连续的。用户并不需要用interface把网格连接起来。 在CFX Tutorial 8里面的例子使用的是Patran Neutral格式,需要用interface把三个区域连接起来。 如果不太熟悉这些网格格式的话,

可以用简单的方法测试出来: 1)定义一个简单的边界条件,计算一下,看看流场是不是连续。事实上,如果网格不连续的话,在CFX-Solver刚开始求解时,会提示有isolated fluid region。 2)如果网格是不连续的,CFX-Pre会自动把界面处的网格放在Domain Default边界条件里面。如果网格是连续的,界面处的网格会被默认为是连通的,被忽略掉。因此,这要选中Domain Default,看看里面有没有界面网格就行了。 CGNS网格里的界面会被忽略,而Patran网格的界面会被放在Domain Default里,当成是壁面条件。 另外我试用了用ICEM CFD把CGNS structured mesh转换成unstructured mesh。ICEM CFD虽然能完成转换,但是不能更新part名,还需要看看有什么其他解决方法。 Technorati : CFX, CGNS, 网格

/?p=102

Tue, 21 Aug 2007 05:17:00 +0000 Workbench环境下CFX-Post背景色的设定

CFX 11.0提供的report功能可以快速的在CFX-Post里后处理结果并且发布为html格式。用户可以方便的更新模型的方向、显示方式等选项。Report里的设定可以重复使用在相同的模型上,而不必每次重复操作。 用户可以更改report开头的ANSYS图标(logo),但是每个图片右上角的ANSYS图表是去不掉的(如果有谁知道怎么去掉这个图标,欢迎email给我)。 问题是这样的,默认的图片背景色是Workbench默认的蓝白过渡背景色,通常情况下,我们可以通过CFX-Post -> Edit -> Options来修改(如下图所示),但是实际上用户看不到改变背景色的选项(另一幅截图)。 当CFX单独运行时,选项如第一幅图;当CFX在Workbench里运行时,选项如第二幅图。 当在Workbench里运行时,需要通过修改Workbench的背景色来设定CFX背景色。[Project] tab -> Tools -> Options -> Common Settings -> Graphics Style。 一点题外话,CFX-Post的report功能还是新功能,还不太稳定。比如在comment里插入的图片在发布后不能正常显示。这个问题可能在以后的版本中得到解决。 Technorati : CFX, Workbench, 背景色

/?p=96

Tue, 14 Aug 2007 03:21:24 +0000 Flomerics发布EFD 8

新闻连接在这里。 EFD是Engineering Fluid Dynamics的缩写,基于和通用CFD同样的数学理论。同时和CAD软件有更好的协作性,使用也相对容易。 Technorati : EFD, Flomerics /?p=95

Sun, 12 Aug 2007 12:36:51 +0000

CFX:最大堆栈长度

在求解很大的CFX模型时,可能会遇到下面的错误信息#001100279(其实在正常求解时,求解器也会给出内存分布的信息)。 这个信息其实并不是因为系统物理内存不够。而是由于实型堆栈(real stack)容量不足。在CFX里,堆栈的最大容量是2^31-1。任何堆栈大于这个长度,系统都会给出这个错误信息,即使系统内存足够。这个时候解决问题的唯一办法是使用并行计算。 怎么解读这个错误信息? 错误消息的第一行是:实型堆栈长度为2481110.5千字(word),平均每个节点需要318.47字,每个单元需要330.24字,总共需要的内存是9691838.0千字节,平均每个节点需要1273.89字节。 这个模型使用的是六面体网格,因此单元和节点的比例为1:1。模型有大概8百万节点。需要9.6GB内存来

存储实型变量,2.7GB内存来存储整型变量,总共需要12GB多内存。 在CFX里,任何一个堆栈的长度都不能超过2147483647。 +——————————————————————–+ | Memory Allocated for Run (Actual usage may be less) | +——————————————————————–+ Data Type Kwords Words/Node Words/Elem Kbytes Bytes/Node Real 2481110.5 318.47 330.24 9691838.0 1273.89 Integer 712176.8 91.41 94.79 2781940.8 365.66 Character 2480.0 .32 .33 2421.9 .32 Logical 40.0 .01 .01 15

6.2 .02 Double 1208.0 .16 .16 9437.5 1.24 +——————————————————————–+ | ERROR #001100279 has occurred [...] /?p=90

Sun, 05 Aug 2007 06:33:08 +0000

CFX:浮力和对称边界条件

前面有两篇文章(文章1、文章2)提到大气边界层的定义。流场的顶面(天空)可以定义成对称边界条件。 在有些情况下,可能需要考虑浮力项,比如在大气边界层内有一个热源。在Domain上加上浮力项后,求解器可能会给出下面的错误信息: ERROR #001100279 has occurred in subroutine ErrAction. Message:When buoyancy is active, all symmetry plane normals must be perpendicular to the gravity vector. Writing crash recovery file ERROR #001100279 has occurred in subroutine ErrAction. Message: Stopped in routine ASS_GLOB_SYM 起初我以为这是由于软件问题,在把expert parameter里的vector parallel tolerance设为90或大于90后,可以让求解器继续运行。 这个错误信息说的是,如果激活浮力项,所有对称面的法线方向必须要和重力矢量垂直。也就是说对称面必须和重力方向平行。因为有浮力项时,在重力方向会有对流速度。如果对称面和重力不平行的话,在对称面上会有一个垂直于该面的速度分量。而对称面的物理意义是速度场只和该面相平行。这两点之间是矛盾的,因此对称面必须和重力方向相平行。 因此要解决上面的问题,需要定义一个合适的边界条件,而不是修改expert parameter。 Technorati : CFX, 对称边界条件, 浮力 /?p=91

Sat, 04 Aug 2007 07:22:00 +0000

本博客主要介绍ANSYS,CFX,Fluent的最新更新,使用技巧等。同时也有CFD和FEA基本理论,及其他CAE软件的介绍。

Airpak收敛问题的解决

由于Airpak使用Fluent求解器,默认情况下对流项使用一阶迎风(first order upwind)离散格式。通常情况下,收敛性还是很好的。最近帮忙解决了几个收敛问题,现在把解决方法列在下面,本帖将持续更新。 1. slack value。在使用Airpak 3.0做non-conformal mesh的时候,需要填写slack值。slack值可以让assembly的范围比Airpak对象稍大。有时候,assembly和room之间会有一个很小的缝隙,使网格质量很差。 由于slack值是一个相对值,当更新了模型的尺寸后,assembly的大小也会随之变化,这样也容易导致小的缝隙。 2. 多面体(ploygon)高度的差别。比如有两个多面体,起始高度都为z = 0 m。如果第一个多面体的高度为10 m,第二个多面体的高度为10.01 m。这两者之间会有0.01 m的缝隙,网格质量会很低。 要检查网格质量,可以检查face alignment。把网格质量范围设成0.0到0.15之间,检查有没有质量低于0.15的网格。如果有的话,可以点中相应的柱状图,检查低质量网格所在的位置。另外align face功能可以帮助精确对齐表面。

另外使用较小的动量和压力松驰因子也有助于加快收敛。 /?p=92

Fri, 03 Aug 2007 07:41:00 +0000

LES/DES里可以用对称或周期边界条件吗?

很多时候,我们可以使用对称性边界条件或者周期性边界条件来简化问题、节省计算时间。通常情况下,对称性或周期性是指几何形状和流场两者都具有对称性/周期性。当然,对称性也适用于几何形状不对称,而流场对称的情形(速度和边界平行,标量在垂直于边界的方向上梯度为0)。 在做LES/DES时,通常不能使用对称或周期性边界条件。因为平均速度场也许是对称或周期性,但是湍流是没有规律、紊乱的,它们不可能是对称或周期性的。 如果用LES/DES模拟透平机械内部或者汽车外部流动,需要模拟所有的叶片以及整个汽车,而不可以用对称或周期性条件来进行简化。 但是当边界距离重要区域比较远的时候,对称性/周期性边界条件是可以使用的。比如做汽车外部流场分析时,需要建立一个相当大的外部流畅,除了进口、入口和地面外,两个侧面和顶面可以使用对称条件。虽然这种情况下对称边界条件并不成立,但是相对而言,对称条件比较接近实际的远场流场。 同样,有的时候位移周期性边界条件也是可以接受的。比如,用DNS/LES模拟管道内流场时,带有压力差的位移性边界条件是很常用的。 Technorati : DES, LES, 周期性, 对称, 边界条件 /?p=93

Thu, 02 Aug 2007 09:47:00 +0000

Flowizard 3.0.4发布

Fluent的产品发布好像都是无声无息的,只有经常查看用户服务中心才知道。最新版本的Flowizard是3.0.4,发布于7月。 New Features in FloWizard V3.0.4 CAD Connections FloWizard V3 provides CAD connections for Pro/ENGINEER, SolidWorks, Autodesk Inventor, and UGS‘ NX users. These CAD connections let you send your geometry from your CAD software to FloWizard with the click of a button. This reduces the time it takes to generate CFD models from your CAD models. One license [...] /?p=94

Wed, 01 Aug 2007 13:32:00 +0000

我的email地址

昨天夜里把我的email地址写在一片帖子里,不到10个小时就有垃圾邮件。 终于找了一个网站,把email地址做成图片。 刚刚看了一些CFD的幻灯片,CFD的应用还是很浩渺的!有问题大家一起讨论。 Technorati : email /?p=87

Sun, 29 Jul 2007 06:53:07 +0000

CFX:求解时实时显示阻力系数和升力系数

问题是怎么用CEL计算阻力系数(drag coefficient, cd)和升力系数(lift coefficient, cl),并且在求解时实时显示cd和cl。 碰巧遇到一个例子,现在把CEL贴在下面。应该把这个CEL稍微修改一下,可以轻松应用到其他模型上。 在CFX-Pre里定义一个新的monitor point的方法是点击‖Create Output Files and Monitor Points‖图标,然后到Monitor tab下面把CEL表达式定义成一个monitor point。 LIBRARY:CEL:EXPRESSIONS:DragForc

e = 2*(force_x()@DLRF6*cos(alpha)+force_z()@DLRF6*sin(alpha))DynamicPres = 0.5*ReferenceDensity*Vinlet^2LiftForce = max(2*(force_z()@DLRF6*cos(alpha)-force_x()@DLRF6*sin(alpha)), 1[N])MachNumber = 0.75PitchingMoment = torque_y()@DLRF6*2PitchingMomentatQuaterChord=-1*(-torque_y()@DLRF6*2/LiftForce-QuaterChordLocation)*LiftForce QuaterChordLocation = 0.1579 [m]ReferenceArea = 0.1453 [m^2]ReferenceChord = 0.1412 [m]ReferenceDensity = StaticPres/(287 [J K^-1 kg^-1]*Temp)ReferenceViscosity = ReferenceDensity*ReferenceChord*Vinlet/ReynoldsNumberReynoldsNumber = 3000000StaticPres = 119750 [Pa]Temp = 293.0 [K]Timestep = 1e-5 [s] +TimeStepRamp(atstep)*2e-4 [s]ToTemp = [...]

/?p=89

Sun, 24 Jun 2007 15:58:00 +0000 ANSYS:部分浸没固体模态分析

模态分析是常见的动态分析形式,通常我们都忽略周围流体对固体模态的影响。在一些结构中,固体会部分浸没在油中。液体可能会影响固体的频率。ANSYS Verification Manual里的VM177介绍了固体全部浸没在液体中时的模态分析方法。可以使用频率扫描或者模态分析的方法,找到共振频率。仿照这个例子,我做了一个圆柱形固体部分浸没在水中的模态分析的例子。APDL帖在下面。 具体的理论可以在流体分析部分的声学模块里找到。模块分析时,要使用unsymmetric方法来提取模。 我对结构分析不是很了解,不知道这样分析是否合理; 这只是一个简单的练习,网格质量和求解控制不是很好。欢迎指教。 我的朋友帮我比较了一个有水和没有水时候模态分析结果。其实对这个例子,流体对结果的影响很小。 提示:把文件保存为demo.inp,运行会比较方便。 finish/clear,start*ABBR,INPUT,/input,demo,inp/prep7et,1,fluid30 ! interface fluidet,2,solid45 ! solidet,3,fluid30,,1 ! non-interface fluidmp,ex,1,1mp,dens,1,1000mp,sonc,1,1482mp,ex,2,2e11mp,dens,2,7850mp,nuxy,2,0.3r,1,1CYL4, , ,0.01CYL4, , ,0.05AOVLAP,allVEXT,all, , ,0,0,0.05,,,,SMRT,4type,3MAT,1REAL,1VSWEEP,2type,2MAT,2VSWEEP,1EXTOPT,ESIZE,10,0VOFFST,2,0.05CSYS,1NSEL,S,LOC,X,0.01!NPLOTESLN,sESEL,R,TYPE,,3!EPLOTEMODIF,all,TYPE,1,allselCSYS,1NSEL,S,LOC,X,0.01NSEL,R,LOC,Z,0,0.05ESEL,S,TYPE,,1SF,ALL,FSIallselNSEL,S,LOC,X,0.05D,ALL,PRES,0.0NSEL,S,LOC,Z,0NSEL,R,LOC,x,0,0.01D,all, , , , , ,ALL, , , , ,Allselfinish/solutionantype,modalmodopt,unsym,10,-1mxpand,10solvefinish Technorati : ANSYS, 声学, 模态分析 /?p=88

Sat, 23 Jun 2007 15:48:00 +0000

Workbench里怎么划分non-manifold geometry网格?

在Workbench里,manifold geometry是指对三维体而言,每个边只和两个面相连接。这是几何形状里最常见的一种拓朴结构。但是有些情况下,可能会生成non-manifold geometry,就是说有的边会和超过两个面相连接。 通常的基本形状如长方体、圆柱体都是manifold geometry。但是如下图所示的复杂情况,会有non-manifold geometry。左图最上面一条边和四个面相连接。要解决这个问题,可以把体切成两份,这样就把几何形状转换成manifold geometry。 对于二维情况而言,manifold geometry是指一个点只和两条边相连接;而non-manifold geometry是指一个点和超过两条边相连接。 在CFX-Mesh的帮助里明确指出CFX-Mesh是不支持non-manifold geometry。要划分non-manifold geometry生成CFD网格,除了上面提到的切割方法外,还可以试试用patch indepedent方法来划

分网格。Patch independent方法是Workbench 11.0的新功能,实际是使用ICEM CFD Octree的内核来划分网格,因此对几何形状的要求相对较低,网格划分成功率较高。具体做法是这样的: 1. 在DesignModeler里面定义Named Selection。因为在目前版本的workbench,无法在划分网格是定义表面的名字(CFX-Mesh 除外)。在把几何形状传递到Meshing以前,要在Project tab下,选中DesignModeler,然后在左侧选项(Default Geometry Options)中选中Named Selection,并把参量中的NS去掉(不使用前缀)。 2. 把几何形状转到Meshing下面,插入一个新的网格划分方法(Method),选中所要划分网格的几何形状,Method = Tetrhedons,Algorithm = Patch Independent,根据实际情况定义最大(Max Element Size)和最小(Minimum Size Limit)单元大小。当然也可以根据需要定义一些size control。 由于Patch-Indepent和CFX-Mesh比较适合CFD应用,所以我没有测试其它方法。CFX-Mesh是一个入门级的产品,总体而言对几何的要求较高。 Technorati : Non-manifold geometry, Workbench, 网格 /?p=82

Fri, 22 Jun 2007 02:58:00 +0000

CFX:怎么把用模拟结果作为初始条件

在CFX里,我们可以把前一次模拟结果输出为*.csv文件,然后作为后一次模拟的边界条件。有时,可能需要把前一次模拟结果作为初始条件。例如,在做污染物扩散模拟时,可能需要把污染物的浓度保存下来,作为下一次模拟的初始条件。 最方便的方法是,在Solver-Manager里定义求解时,使用*.res作为初始条件。但是,使用这种方法,不光会初始化浓度,还会初始化速度、压力等。 要解决这样的问题,可以使用three-dimensional interpolation(三维插值)功能。做法是这样的: 1. 在CFX-Post里面保存所要初始化的变量为*.csv文件。CFX-Post -> File -> Export …编辑*.csv文件,删除开始部分的描述性文字。 2. 在CFX-Pre里定义一个三维插值函数。工具栏上的fx图标(Define a User Function (Interpolation or User Fortran))。定义一个名字,Option = Interpolation (Data Input),Argument Unit = 三个长度单位,Result Unit = 所要插值的变量单位,Interpolation Data Option = Three Dimensional,在下面的列表框点右键,选择Import,然后读入刚才的*.csv文件。 3. 在初始化窗口,使用刚才定义的三维插值函数即可。如果刚才定义的函数为initialconcentration,那么在浓度初始值出应填initialconcentration(x,y,z)。 除了三维插值函数外,CFX还提供了一维插值函数,可以应用于和时间相关的插值。 Technorati : CFX, 三维插值函数, 初始化 /?p=81

Wed, 20 Jun 2007 21:04:00 +0000

大气边界层模拟边界条件的设定

前面一篇文章提到了在Airpak里定义大气边界层边界条件的方法。这篇文章只提到了进口处的设定,而没有提到流场其他面的边界条件的设定。最近在网上看到一篇相当流行的文章:《建筑群流场模拟中边界条件的设定》,对边界条件的设定进行了比较详尽的论述。 个人在进行试用后,觉得实际应用中会分成以下两种情况: 1. 如左图所示,来风方向和迎风面垂直。这种情况底面和顶面分别设成壁面和对称面。图中所示的四个面分别设成:左面为入口,使用速度和湍流函数;右面为出口,只定义压力;上面和下面设成对称面。 2. 如右图所示,来风方向和迎风面有一个角度。这种情况底面和顶面的情况和前面一样。图中所示的四个面分别设成:左面和上面为入口,使用速度和湍流函数;右面和下面为出口,只定义压力。 通常情况下,我们只看到情形1。但是如果要测试不

同的来风方向,情形2会比较方便,因为不用重复定义网格。尤其在Airpak里,很难定义倾斜的流域。 在使用CFX时,有人会把图中所示的对称面设成opening。这样其实和实际情形是不一致的,因为opening需要定义压力条件,而实际上在对称面上压力并不是恒定的。如果不定义对称面的话,定义成入口条件也是可以的,定义速度和湍流函数。但是个人觉得使用对称面条件比较容易收敛。 在模拟大气边界层的时候,另外一个问题是CFD得到的速度场在水平方向并不是恒定的。在入口处定义的速度函数会随着流动而改变,也就是在下游大气边界层和原先定义的函数会不一样。在一些高精度的模拟中,这种误差可能会影响精度。今天看到一篇文章摘要,也许能解决这个问题。 Technorati : CFD, 大气边界层

/?p=80

Tue, 19 Jun 2007 19:35:00 +0000 Gambit 2.4.6发布

Gambit 2.4现在已经可以在Fluent用户服务中心下载了。 GAMBIT Version 2.4.6-Release Notes GAMBIT 2.4 includes incremental improvements in geometry and meshing operations, enhancements to existing features, and bug fixes. Enhanced Features in GAMBIT 2.4 include: geometry enhancements, including: an upgrade of the ACIS geometry kernel to R16, better import of IGES, STEP, Parasolid and native CATIA V4 files, enhanced CAD readers for Pro/ENGINEER and Parasolid CAD systems, an upgraded [...] /?p=76

Sun, 08 Jul 2007 13:23:00 +0000

本博客主要介绍ANSYS,CFX,Fluent的最新更新,使用技巧等。同时也有CFD和FEA基本理论,及其他CAE软件的介绍。

CFX:怎么模拟固体化学反应?

问题是这样的,在高温环境内放入碳和钛会反应生成碳钛复合材料,不知道在CFX里面可不可以模拟这一过程。 碳颗粒和钛颗粒(直径均约为2微米)被压缩成圆柱状。因此反应是在固体内部进行的,而不是在流体内。模拟化学反应实际是模拟多组分流体(multi-component fluid)内的传热传质过程。而在CFX里,不可以把固体材料定义成多组分固体。 要解决这个问题,需要用到CFX V11.0的一个测试功能:共轭附加变量(conjugate transfer of additional variables)。Additional Variable(AV)和Fluent的User Defined Scalar (UDS)基本类似。但是由于CFX的CEL功能,因此使用上相对要容易很多。默认的AV功能,只支持在流体内的传递,在固体内只可以定义代数方程(algebraic equation),而不可以模拟扩散。 使用CFX测试功能,需要到CFX-Pre -> Edit -> Options … -> 选中‖CFX-Pre‖ -> 选择‖Enable Beta Features‖ -> OK。 在CFX-Pre里面,可以定义一些AV,分别代表反应物和生成物。化学反应过程可以通过定义反应物和生成物的质量源/损失(mass source/sink)来模拟,同时也可以定义热量源来模拟化学反应所产生的热量。具体的做法可以参考CFX里对燃烧过程的模拟。 如果固体成分在内体内有传质过程的话,可以把AV在固体内的传递定义成扩散传递方程(diffusive transport equation)。 Technorati : CFX, additional variable, 固体反应 /?p=75

Sat, 16 Jun 2007 14:27:00 +0000

怎么在一个系统上同时安装Airpak 2.1和3.0?

Airpak 3.0的界面提高了很多,但是在熟悉新界面以前,很多人想同时有2.1和3.0。如果按照默认设定安装的话,系统在开始菜单会显示2.1和3.0,但是点击2.1或者3.0,并不会启动不同的版本。系统总会启动最后安装的那个版本。 默认情况下,Airpak 2.1安装在C:\Fluent.Inc\airpak2.1目录下,而Airpak 3.0安装在C:\Fluent.Inc\airpak3.0.12目录下,它们并没有相互覆盖。 但是windows开始菜单下的Airpak 2.1.12和3.0.12却指向同一个文件C:\Fluent.Inc\ntbin\ntx86\airpak.bat。安装新版本后,airpak.bat总会指向最新版本,而不是分别指向新旧两个版本。 解决办法上,复制airpak.bat到airpak1.bat。然后修改这两个*.bat文件的内容。airpak.bat指向3.0安装目录,而airpak1.bat指向2.1安装目录。 airpak.bat:set AIRPAK_ROOT=%AIRPAK_INSTALL_LOCATION%\airpak3.0.12 airpak1.bat:set AIRPAK_ROOT=%AIRPAK_INSTALL_LOCATION%\airpak2.1 最后是编辑windows开始菜单下的快捷方式,让Airpak 2.1.12的快捷方式指向airpak1.bat就行了。 Technorati : airpak, 安装 /?p=73

Mon, 02 Jul 2007 01:33:28 +0000

文摘:ANSYS APDL和Abaqus script的比较

今天看到一篇对ANSYS APDL和Abaqus script相比较的文章。链接在下面。 /2007/07/01/ansys-apdl-versus-abaqus-script/ 不知道Abaqus的script是不是和Fluent或CFX的script(CCL)差不多? Technorati : ANSYS, APDL, Abaqus, script /?p=74

Tue, 03 Jul 2007 01:08:00 +0000

CFX的play tutorial功能

新版本的CFX提供了play tutorial功能。上周使用了一下,本来以为会向其它软件的动画教程一样,会提供详细的交互式演示,其实并不是这样的。 在CFX-Pre上点击Play tutorial,系统会直接打开CFX安装目录下的examples文件夹,然后可以打开一个*.pre文件。打开*.pre文件后,系统并不会在图形界面上演示操作过程,而是直接生成一个*.def文件(在当前工作目录下)。用户需要用CFX-Solver来求解这个问题。 Play tutorial的功能和已有的play session的功能几乎是一模一样的。唯一不同的事,Play tutorial会直接导航到examples文件夹,而play session只是打开当前工作目录。从这个意义上说,play tutorial的功能并不是很有用。 Technorati : CFX, Play tutorial /?p=72

Fri, 15 Jun 2007 01:10:00 +0000

2007 中国CFD年会暨第一届“年度CFD用户大奖”论文征集

原始链接在这里。 尊敬的Fluent用户: ―2007中国CFD年会‖ 将于20xx年11月举行。一年一度的CFD年会旨在为广大中国Fluent用户提供一个深入交流、互相学习和发布科研新成果的平台,为用户和潜在用户提供一个与CFD及其应用方面的专家交流、咨询机会。 第一届‖年度CFD用户大奖‖ 评选和颁奖活动将作为年会期间的最为重要的活动内容之一隆重登场。设立该奖项是为了嘉奖优秀的CFD应用者和使用Fluent CFD软件发表优秀论文的用户。获奖者将得到从600-5000元不等的奖金或等值奖品,以及一个奖章。 此外,我们还设立了一个由Fluent公司专家和外界CFD权威人士组成的评审小组,由该小组来选出不同级别的获奖者。我们将在以后陆续公布评审小组名单。 稿件的形式可以多样化,如Powerpoint,已发表印刷的论文和杂志文章,动画演示,等等;可以是英

文或中文。通过初评的投稿者可以免费参加我们的CFD年会。 您的投稿既是对Fluent 公司的支持,也是您学术成绩的一个见证。希望各位专家、学者、工程技术人员踊跃投稿。 征文内容: 凡Fluent公司的正式用户均可参加投稿,稿件数量不限。稿件内容须是利用Fluent公司系列产品完成的工程项目、科研课题、成果报告等。 注意事项:-请务必按照我们提供的论文格式编写您的用户论文;其他格式如PPT则不限,但请注意,格式的好坏也将影响评分高低。-请务必填写保密侵权协议,以确保您提供给我们的稿件不涉及任何泄密和侵权行为。凡涉及保密内容的部分请作者自行处理。 稿件/稿件摘要提交截止日期: 摘要提交:截止日期:20xx年8月10日联系人: 张蓉 稿件提交:截止日期:20xx年9月1日联系人:张蓉Email地址:rong.zhang@ansys.com 通过邮寄方式提交:联系人: 张蓉地址:上海市延安东路222号 外滩中心22楼4A邮编:200002电话:+86-21-63351885传真:+86-21-63350008 20xx年度CFD用户论文征集 - 论文格式:点击下载 Technorati : CFD, Fluent, 年会 /?p=71

Thu, 14 Jun 2007 14:22:00 +0000

ANSYS 11.0快速上手指南

今天发现ANSYS workbench快速上手指南,其实不需要登录客户服务中心也可以浏览。 网址是:/customer/quickstart/QuickStartHome.htm 里面有flash形式的演示录像,以及可以打印的PDF格式。一些例子还有输入文字,可以下载下来练习。 如果flash显示太慢的话,可以下载一些小软件,把*.swf文件保存在本地。 其实在ANSYS virtual demo room(虚拟展示厅)里,也有很多例子。网址:http://www-/demoroom Technorati : ANSYS /?p=70

Wed, 13 Jun 2007 14:03:00 +0000

CFX自动接触面功能导致求解器错误

CFX 11.0提供的自动接触面功能可以极大简化接触面的定义。有些时候,我们可以利用这个功能来控制网格大小(参见前面的帖子)。 但是在使用自动接触面的时候,也有可能会引起GGI(general grid interface)内存分配错误。错误信息是这样的: ERROR #001100279 has occurred in subroutine ErrAction.Message:SYMASS_ZIFCS_EL : The solver ran out of temporary space while building a linked list for a domain interface. Try setting the expert parameter ―topology estimate factor zif‖ to a value greater than 1.0. Values higher than 1.2 should not be necessary. 要解决这个问题,需要把expert parameter ―topology estimate factor zif‖ [...] /?p=69

Tue, 12 Jun 2007 11:00:00 +0000

Fluent不能读ICEM CFD做的网格

前面的一篇帖子讲了Fluent不能读ICEM CFD做的网格的一个解决办法。在实际应用过程中,这样的问题应该并不少见,毕竟这两个程序是由两个团队开发的,而到目前为止,这两个团队的合作并不紧密。 最近也发现在ICEM CFD里做的hexa-core网格,不能成功输出到Fluent。这个问题可能会在下一个版本,或者下一个service pack才能被解决。 我试了一下,在ICEM CFD里面做的四面体和棱柱体网格可以顺利地输出到Fluent,如果不能输出的话,要按照上面的帖子所讲的检查边界条件的定义。有一种情况是,在做

三维模拟时,应该把体定义成Fluid或者Solid,把面定义成wall,velocity-inlet等等。在定义面的时候,ICEM CFD还会显示fluid和solid选项。也就是说,尽管模拟的是一个三维模型,用户还是可以把一个面定义成fluid或者solid。这样会导致Fluent无法成功建立网格。解决方案是把定义成fluid/solid的面改成wall, pressure outlet等属性就行了。 总体来说,ICEM CFD是一个非常灵活的软件,需要用户对网格的结构和求解器有相当的了解。上面的问题,很可能是因为ICEM CFD支持二维和三维网格,所以用户界面本身并不会问题是二维或三维而自动更新。 Technorati : Fluent, ICEM CFD, 网格 /?p=68

Mon, 11 Jun 2007 09:50:00 +0000 解决CFX的回流问题

CFX对回流的处理和Fluent有很大的不同。在CFX里,如果在outlet有回流,会自动建立wall来阻止回流。如果回流区域很小的话,也许对流场影响很小。但是大多数情况,会得到很不合理的结果,甚至是错误的结果。 最近我在模拟分体式空调室外机的时候,刚开始为了简化模型,把室外机的正面和背面全部设成入口/出口边界条件。由于面积比实际情况大了很多,一部分空气会在出口处回流回来。CFX会自动建立wall来阻止回流,结果非常不合理,流场非常奇怪的偏向一边。解决办法是模拟入口/出口的真实形状(在正面和背面imprint两个圆形面),而不是过度简化模型。改变之后,流场基本对称,结果合理。 除此以外,定义一个合理的压力或者质量流量也可以解决回流问题。如果真实情况确实有回流的话,应该使用opening边界条件(用什么Opening边界条件?)。但是,如果使用CFX时候,系统提醒有回流的话,一定要想办法解决,否则计算精度会受到很大影响。 Technorati : CFX, 回流 /?p=67

Sun, 10 Jun 2007 09:22:00 +0000

CFX共轭传热问题的收敛

CFX的求解器和通常的求解器是很不相同的,比如CFX把稳态问题当成瞬态问题来求解。在控制求解器时,时间步长的作用相当于Fluent里面的松弛因子(under-relaxation factor)。大的时间步长可以加快收敛,但是会使求解不稳定;小的时间步长可以稳定求解,但会使收敛缓慢。 在求解流固共轭传热问题时,如果不控制求解器,使用默认设置的话(auto-timescale),通常会很难收敛。通常收敛很慢,而且全局不平衡(global imbalance)很大。 造成这个结果的原因通常是因为固体传导传热会比流体对流传热慢得多。如果在固体和流体部分使用相同的时间步长的话,固体部分收敛会非常慢,整体的收敛也会因此很慢。 要解决这样的问题,需要在固体部分使用较大的时间步长,而在流体部分使用较小的时间步长。通常需要把solid timescale factor设为10 - 100之间的值,这样能有效的加快收敛。除此之外,可以使用双精度求解器和在equation class setting里面给energy eqation大一点的timescale factor。这样也能帮助收敛。 Technorati : CFX, 收敛 /?p=66

Sat, 09 Jun 2007 08:34:00 +0000

本博客主要介绍ANSYS,CFX,Fluent的最新更新,使用技巧等。同时也有CFD和FEA基本理论,及其他CAE软件的介绍。

怎么改变Airpak云图的层级

通常情况下,数值模拟软件在后处理时会自动计算出云图的层级。但是有些时候用户需

要对结果的层级有比较详细的控制,比如层级并不是均匀分布的,或者用户可以直接控制层级。其实在Airpak里,是可以做到这一点的,如下图所示。只要在Input后面输入一系列值就可以了。 有兴趣的用户可以试着在云图的图例上,试着ctrl + 拖拽和shift + 拖拽。看看它们的功能。前者是移动云图图例的位置,后者是改变层级的分布,非常的方便。 Technorati : Airpak, 云图 /?p=65

Fri, 08 Jun 2007 07:32:00 +0000

Airpak定义大气边界层

用Airpak做建筑物外部流动分析时,需要定义大气边界层(Atomospheric boundary layer)。Airpak提供了一个Macro来定义大气边界层,如下图所示。这个Macro可以方便的定义一个opening,并且根据风向及模型的方向,计算出opening速度曲线(velocity profile)。 在使用这个Macro时,要注意的是,在定义了Macro之后,就不可以再移动opening的位置了。换句话说,在定义大气边界层时要输入确切的opening位置信息,而不能定义一个大概位置,然后在移去别的位置。 原因是在Airpak里面,速度曲线是和绝对坐标(x, y, z)相联系的。把opening移到一个新的位置,opening所处的x, y, z会相应变化,而曲线定义里面的x, y, z却没有变化。这样速度曲线和opening的位置不对应,系统会给opening处加入默认的边界条件,而不是大气边界层速度曲线。 Technorati : Airpak, 大气边界层 /?p=64

Thu, 07 Jun 2007 07:03:00 +0000

Airpak 3.0.12发布

今天在Fluent用户服务中心看到Airpak 3.0.12已经发布了。虽然现在还没有正式的新闻,Airpak的网站还没有更新,但在用户服务中心一个关于新版本的幻灯片。 新版本的界面和Icepak基本一致,并且增加了很多实用功能,试用了以后觉得方便很多。但是对于习惯了2.0版本的用户来说,需要一段时间适应,因为用户界面完全不同,而且增加一些新的操作。 新版本在windows下工作应该会比旧版本稳定。但是目前只有32位版本,64位版本应该会在夏天推出。 Technorati : Airpak, Fluent /?p=63

Wed, 27 Jun 2007 12:51:20 +0000

免费在线ICEM CFD讲座

转换成北京时间是6月28日凌晨2点到3点。 Join us for a free web seminar where you will find out how ANSYS ICEM CFD can improve your meshing capabilities through: Patch Independence - Automatically walk over flaws and irregularities in models (sliver surfaces, gaps, holes, and overlaps) Surface Meshing - Good for complex geometry where a quick answer is needed; Requires less user experience for [...] /?p=62

Wed, 06 Jun 2007 04:01:00 +0000

CFX-Mesh: 怎么让固体流体有不同的单元密度?

在做固体流体耦合传热分析(conjugate heat transfer, CHT)时,通常需要固体部分网格比较疏,流体部分网格比较密。但是在CFX-Mesh 10.0里面只允许设定一个body spacing。

并不能把流体固体区分开来。 要实现固体、流体分别划分网格。在DesignModeler里面,先suppress固体,然后划流体部分网格,生成一个*.gtm文件;然后unsuppress固体,suppress流体,划分固体部分网格,生成另外一个*.gtm。 把这两部分都导入CFX-Pre。定义两个domain,以及之间的domain interface就可以了。 以上所说的是10.0里面的情形,如果是11.0的话,操作更为简便。在meshing里面把固体和流体分别放到两个mesh method里面去,就可以单独划分网格了。划分好的网格会存在一个*.cmdb里面,导入到CFX-Pre里后,CFX会自动生成默认domain和默认interface。 Technorati : CFX, CFX-Mesh /?p=61

Tue, 05 Jun 2007 03:55:00 +0000

Fluent: 怎么在长方体内画一个圆形切面

在用Fluent做后处理时,通常我们会截取一个切面,然后在这个切面上画云图、矢量图等等。这个切面的形状决定于所模拟的几何模型的形状(切面是无限大的,和几何模型相交)。有一种特殊情况是可以定义bounded plane。就是可以通过指定三个点来定义一个长方形的切面。 有些后处理分析,需要画出圆形切面,而不是长方形或者模型自己的边界。这个时候需要用到isoclip功能。 Isosurface功能是得到等值曲面,isoclip功能是‖剪出‖两个等值曲面之间的表面。如果要得到一个圆形切面的话,具体的做法是这样的: 1. 用通常的方法得到一个无限切面‖Surfce -> Plane …‖。因为isoclip要基于一个平面,所以这步相当于是定义圆形切面所在平面。 2. 定义圆柱坐标系的原点和轴向。‖Define -> Boundary Conditions‖,选择‖Fluid‖区域,并且编辑‖Rotation-Axis Origin‖和‖Rotation-Axis Direction‖。因为Fluent里面的默认坐标系是笛卡尔坐标系,这一步是定义该圆所处的圆柱坐标系。 3. 定义clip plane‖Surface -> Isoclip …‖。把‖Clip to value of‖选项改成:‖Grid -> Radial Coordinate‖。把‖clip plane‖设成第一步定义的面。最后再设置一个合理的最小值和最大值。这一个是定义用径向坐标来修剪表面。如果Min = 0 m,Max = 1 m,那就相当于定义一个半径是1米的圆了。 Technorati : Fluent, Isoclip, 切面, 后处理 /?p=60

Mon, 04 Jun 2007 03:03:00 +0000

怎么模拟膏状物挤压?

这是个很难的问题,个人觉得目前的技术还做不到,但是不知道有没有CFD以外的软件可以做到。 在很多生产工艺中,需要用胶水把两个表面粘起来。有些胶水呈牙膏状。生产时,先把该膏状物挤在一片固体表面上,然后用另外一片固体表面来挤压,最终这两块表面将粘合在一起。 在这个生产过程中,膏状物的分布是很重要的。如果挤压后膏状物没有能够填充整个固体界面,成品的强度会受到影响;如果挤压后膏状物能够填充整个表面,但是会有材料溢出来,会造成浪费。 不知道数值模拟能不能做到这一点?用什么软件呢? Technorati : 数值模拟, 膏状物 /?p=59

Sun, 03 Jun 2007 02:17:00 +0000

利用virtual topology简化几何模型

昨天遇到一个机翼空气动力学分析的例子。由于机翼结构相对复杂,需要用Pro/E来做。而Pro/E生成的机翼表面由很多很狭窄的面组成,有些面长度为1米,宽度不到2毫米。在画网格的时候,会生成非常细的网格,有时甚至会因内部错误而中断。 要解决这样的

问题,最好的方法当然是回到Pro/E中修复几何形状。但是并不是所有情况都可以做到。 在11.0的Workbench Meshing中,提供了virtual topology功能,可以非常方便的解决这一问题。在导入几何模型到Meshing以后,选中‖Model‖,在上面的工具栏会有‖Virtual Topology‖选项,点击该选项。在树形目录下,右击‖Virtual Topology‖然后‖Create Virtual Cells‖,便可以看到,一些碎片会自动被整合成大的表面。重新划网格,会发现网格质量有显著提高,而生成虚拟拓扑机构的过程非常自动化。 如果选中树形目录里的‖Virtual Topology‖,在Behavior选项里有low、medium、high和edge only四个选项,分别代表不同的简化程度。具体的结果,可以测试一下,或者查看帮助。但是千万不要过于贪心,上面的机翼的例子,用low能显著提高网格质量。但是用medium会出现内部错误。况且,用medium并不会比用low好很多。 在CFX-Mesh中,也有virtual topology功能,但是不是全自动的,用户需要手动点击需要组成虚拟拓扑的面,如果几何形状很复杂的话,可能会很费时间。 Technorati : Workbench, virtual topology, 几何模型, 简化 /?p=58

Sat, 02 Jun 2007 01:46:00 +0000

CFX 11.0 update 1可以下载

ANSYS最近在用户服务中心(user service center)提供了CFX 11.0 update 1的下载。主要是修正CFX 11.0目前发现的一些bug。 另外ANSYS Workbench Service Pack 2007-SV16也可以下载了,主要是解决license方面的一个bug。 Technorati : ANSYS, CFX, Workbench, bug, update /?p=57

Fri, 01 Jun 2007 00:47:00 +0000

Flomerics发布Flovent V7

这里是新闻链接。 该版的最显著的升级应该是提供了响应面优化(response surface optimization)功能。这个功能应该是相当于ANSYS DesignSpace的功能。虽然CFX最近也可以支持DesignSpace,但是只能支持几何参数和CEL参数。Fluent的Icepak页支持一些基本的参数化模拟。问题是,CFD模拟通常要花很多时间,把整个设计空间(design space)模拟出来会很费时。 另外的升级还有用于模拟电脑机房的SmartPart模型、输入二维DXF文件的功能、太阳载荷模型。在后处理方面,可以做建筑物内部穿行(walk-through或fly-through)的动画。 Technorati : Flomertics, Flovent /?p=56

Thu, 31 May 2007 13:13:00 +0000

本博客主要介绍ANSYS,CFX,Fluent的最新更新,使用技巧等。同时也有CFD和FEA基本理论,及其他CAE软件的介绍。

怎么在Flotran里定义理想气体

今天看了一下Flotran用户界面,在Flotran里面定义理想气体并不是很直接。 对于单相流动问题,需要定义密度和粘性系数。如果是传热问题的话,还需要定义导热系数和比热。在Flotan里,并没有理想气体的选项,要定义理想气体,需要用到FLDATA12、FLDATA13和FLDATA8命令。在图形界面的位置是:Preprocessor -> Flotran Setup -> Fluid Properties。 定义理想气体的具体步骤是: 1. 把密度选项设成是‖Gas‖。并且允许密度变化(Allow density variation)。 2. 把粘性系数、导热系数和比热的选项设成是‖Constant‖。不允许变化。也可以把粘性系数和比热设成是‖Gas‖。然后用相应的kinetic theory来

计算。 3. 在跳出的第二个窗口上,输入D0、D1和D2系数,以及粘性系数、导热系数和比热的值。 理想气体的表达式是: 密度=(理想气体常数/摩尔质量)压力/温度 界面上给出的密度表达式是: Density = D0 * (P/D2) / (T/D1) 因此D0 = 理想气体常数/摩尔质量、D1 = 1、D2 = 1。 其实D0、D1和D2可以任意组合。写D0 = 1、D1 = 摩尔质量、D2 = 理想气体常数也可以。 最好在定义完气体材料后,做一个简单的模拟来确认定义是正确的。 Technorati : Flotran, 理想气体 /?p=55

Wed, 30 May 2007 03:21:00 +0000

单向CFX/Fluent/ANSYS流固耦合——直接插值

发现遗漏了一种特殊情况。在CFD里面做了流体和固体耦合传热分析后,如果要把固体部分的温度输出到ANSYS做热应力分析的话,其实不要使用前面介绍的方法(多物理场或者映射到固体单元)。ANSYS里面的BFINT命令可以把温度自由度从一个网格直接映射到另一个网格。但是BFINT只能映射温度。ANSYS在半导体行业应用非常广泛,使用BFINT命令可以方便的做热应力分析,传热分析和结构分析可以使用两套不同的网格。BFINT的原意应该是body force interpolation。在GUI上的位置是:General PostProcessor -> Submodeling -> Interp Body Force。因此,实际的操作和submodeling非常类似。

1.从CFD软件输出固体温度。 具体操作可以参见前面的文章。这是会得到一个*.cdb文件。如果*.cdb文件缺少单元类型的话,可以用ET命令加上。 2.从ANSYS输出节点文件 这里需要使用NWRITE命令得到一个节点文件(node file, *.node)。 3.读进温度进行插值 读进刚才的*.cdb文件,并求解。在后处理器中执行BFINT命令。这是会得到一个*.bfin文件。 4.把*.bfin文件读入到固体模型中 打开固体模型,直接读入*.bfin文件(/INPUT)。这样,温度场就直接加到模型上了。 Technorati : ANSYS, CFX, Fluent, 单向流固耦合, 插值 /?p=54

Tue, 29 May 2007 02:41:00 +0000

单向ANSYS/CFX流固耦合——固体到流体(这样就可手动实现双向流固耦合了)

已经曾经被问到,通常做单向流固耦合,是从流体传递边界条件(温度、压力等)到固体。问什么需要做从固体到流体的单向流固耦合呢?当时被问住了。可能的情形有,1)如果固体部分有变形。这个变形通常在建模的时候很难画出来。用ANSYS模拟出边界的位移,把相对位移输出到CFX就可以准确地模拟固体壁面的实际情况;2)如果用有限元程序模拟传热。在有些情况下,用有限元做传热可能会比较方便,这样就需要把温度等变量输出到流体程序。还有其它情形吗?这个功能应该是用的人非常少。 目前可以做从ANSYS到CFX的单项载荷传递,是用EXPROFILE命令。可以传递的量有:表面载荷:位移、温度、热流量;体载荷:位移、力、热源。 原理是从ANSYS输出CFX边界上的profile。这个profile可以方便的加到CFX边界上。 做法在ANSYS的帮助中有详细介绍和实例(The Unidirectional Load Transfer Method: ANSYS to CFX)。 在ANSYS中要做的操作有三步: 1)定义要输出载荷的面或体。如果是面的话:SF,all,fsin,,1;如果是体的话:BFE,all,fvin,,1。 注意上面的命令和通常定义流固界面的命令是不同的。第一个值为空,第二个值才是面或体的标志。 2)定义单位。使用EXUNIT命令。因为ANSYS是没有单位的,而CFX有单位。 3)输出边界到CFX。使用EXPROFILE命令。这个会得到一个*.csv文件。 在CFX中,需要读入这个*.csv,然后把它加到相应的边界上。对于温度、热量等边界条件,很容易理解这个映射过程。位移怎么加进去呢?首先要在domain上激活

mesh deformation功能,然后在相应的固体壁面边界条件上,就可以把mesh motion设为Specified Displacement,代入刚才生成的*.csv文件就可以了。 Technorati : ANSYS, CFX, 单向流固耦合, 边界条件 /?p=53

Mon, 28 May 2007 02:11:00 +0000

单向CFX/ANSYS流固耦合——使用Workbench

现在CFX和ANSYS都已经被整合到ANSYS Workbench里面了。这是做单向流固耦合最方便的途径。在10.0时,用户可以直接映射压力到Workbench模型;在11.0,新添加了映射温度和对流系数的功能。 具体操作非常简单。完成CFX模拟,会得到一个*.res文件。在Workbench Simulation里面会看到在结构分析里,有CFX Pressure边界条件;在传热分析里,有CFX Temperature和CFX Convection边界条件。用户需要告诉Workbench *.res文件的位置,以及要映射的面。 由于Workbench非常傻瓜,所以应该很容易搞清楚具体操作的。 如果CFX模拟是瞬态模拟,用户需要输入要传递的时间步。为了保证面和面(流固界面)是相对应的。最好用DesignModeler一起做流体和固体模拟,然后分别生成流体和固体网格。这样可以保证面的对应。 我看了一下Workbench生成的APDL,其实原理也是使用表面效果单元映射得到载荷(参见前面的文章)。只是这些是由程序自动完成的。 希望ANSYS早日推出和Fluent的接口。 Technorati : ANSYS, CFX, Workbench, 单向流固耦合 /?p=52

Sun, 27 May 2007 11:24:00 +0000

单向CFX/Fluent/ANSYS流固耦合——使用ANSYS多物理场求解器

Fluent的UDF虽然使用起来相当方便,但是只能传递传热学变量,不能传递结构变量,如压力等。这个时候需要使用ANSYS multifield solver(多物理场求解器)。 如果我们能拿到上面那个UDF的源代码的话,应该可以比较容易地修改得到映射结构变量的UDF。既然现在ANSYS和Fluent已经是一家了,在下一个版本应该可以有直接的用户界面。现在还需要multifield solver。虽然这个方法的操作并不算麻烦,但是如果对多物理场的概念不熟悉的话,需要一点时间理解一些基本概念。 Multifield solver是一种求解多物理场的方法。多物理场是指结构、传热、电磁、流体等等物理现象之间的相互作用。Multifield solver允许用户就不同的物理场建立不同的有限元模型,然后生成CDB文件,在一个统一的求解器中进行耦合求解。 比如做流固耦合,流体部分生成一个CDB文件,固体部分生成一个CDB文件,两个文件的网格、边界条件、求解器设定都可以不同,multifield solver可以进行staggered iteration进行耦合。 这里要使用的是multifield solver的一个特殊功能,使用外部程序生成的CDB文件和ANSYS本身的物理场进行耦合,把外部CBD边界条件映射到ANSYS模型上。 具体步骤如下: 1)从Fluent输出CDB Fluent -> File -> Export … -> ANSYS Input。虽然在这个界面上可以输出力、压力和温度。Multifield solver只支持力和温度。 我试了一下生成的*.cdb文件,用户可能要添加一些信息

1.在开始的地方加上‖et,1,154″定义单元类型;2.在最后加上‖sf,all,fsin,1″定义流固界面;3.把原APDL里的solve命令去掉(变成注释,在前面加‖!‖)。 2)准备结构模型并存成*.cdb文件 ANSYS -> Preprocessor -> Archive Model -> Write 在建立结构模型时,要注意给定流固界面‖sf,all,fsin,1″。 3)设定multifield solver 在ANSYS -> Preprocessor -> Multifield Set-up。打开multifield solver (MFAN,ON)。导入前两步生成的*.cdb(MFIMPORT命令)。设定物理场顺序(MFOR,1,2)。设定外部求解器,Fluent生成的*.cdb来自外部求解器

(MFEX,1)。定义界面,界面在流体固体的CDB里面已经设好了,这里只是设定所传递的量(MFSU,1,1,FORC,2)。 4) 求解和后处理 在后处理的时候,只要读入第二个物理场的解就行了。文件名应该是field2.rst。 以上是从Fluent输出到ANSYS。对于CFX来说,虽然CFX已经有压力的输出功能,但是在CFX中还是可以做同样的操作的。所不同的只是第一步: 1)从CFX输出*.cdb CFX-Solver -> Export to ANSYS Multifield Solver。输出为二维应力表面效果单元(154)。 同样,我们需要在CFX输出的*.cdb里加上一行‖sf,all,fin,1″来定义流固界面。 我比较了CFX -> ANSYS和Fluent -> ANSYS的结果,结果基本相似,证明上面的步骤应该是正确的。 /?p=51

Sat, 26 May 2007 14:47:00 +0000

单向CFX/Fluent/ANSYS流固耦合——生成表面效果单元

今天忙了很久,终于实现用ANSYS multi-field solver(多物理场求解器)把CFX/Fluent生成的*.cdb文件,映射到ANSYS结构单元上,做单向流固耦合(one-way fluid structure interaction)。然后看到Fluent用户服务中心里面其实已经有现成的UDF可以做传热学方面的流固耦合,于是想有必要总结一下。CFX/Fluent/ANSYS的单向流固耦合在目前(CFX 11.0, Fluent 6.3和ANSYS 11.0)应该有四种情况: 1. 在CFD程序中生成表面载荷,然后把边界条件代入ANSYS2.在CFD程序中直接输出*.cdb文件,然后利用ANSYS multi-field solver把边界条件映射到固体网格上去3.利用ANSYS Workbench直接代入CFD结果4.把ANSYS结果输入为边界曲线,然后代入CFX 前面3种是流体到固体耦合,通常需要传递压力、力、温度、热流量或对流系数。最后一种是固体到流体耦合,通常是传递位移,但有时也可以传递温度。 单向流固耦合所要解决的问题其实是要让边界条件能够从一个软件传递到另一个软件。除了文件格式的不同外,最大的问题是网格不一致。CFD网格和FEA网格往往不会一致,在CFD里面得到结果后,需要把边界上的值从CFD网格映射到固体网格上。 在CFX里要做到这一点比较容易,因为ANSYS已经开发了相应的图形界面。首先流体和固体的几何形状需要大致吻合。在ANSYS里面需要在流固界面上铺一层表面效果单元(152或154)。然后单独选择这些单元,保存为一个CDB文件(Preprocessor -> archive model -> write)。 在CFX-Post里面可以看到这样的菜单File -> ANSYS Import/Export -> Import ANSYS CDB Surface … 或者Export ANSYS Load File。用前面一个功能把刚才的*.cdb都进来,然后用后面一个功能把结果映射上去,生成一个*.csv文件。这个*.csv可以直接读到ANSYS中去,这样边界条件就过去了。可以映射的量有:压力、切应力、应力、对流系数、热流量和温度。 Fluent的界面虽然没有和ANSYS整合,但是Fluent已经开发了一个UDF,可以传递结果去常见的有限元程序,如Abaqus、ANSYS等。在加载UDF和读入scheme文件后,在Define -> Models的最后会看到Export FEM Mapping -> Volume Mapping或surface mapping。Surface mapping的原理大致和CFX差不多。在所附的帮助文件中,提到要用没有中间节点的壳单元。个人认为用表面效果单元会比较好,但是没有具体试过。这里可以映射的量有:温度、热流量和对流系数。 至于volume mapping是把CFD里面的固体温度映射到有限元程序中去。其实CFX也是有相对应的功能的,在CFX-Solver -> Tools -> Export to ANSYS MultiField Solver选择3D thermal(70)就可以了,至于为什么只支持70单元,如果单元不是四面体,会发生什么情况,我也不清楚,不过应该没有多少人会使用这个功能吧。 5月29日更新: 今天看到一篇文章,其实可以手工修改生成的APDL来模拟其它类型的单元(SOLID45等等)。

/?p=50

Fri, 25 May 2007 14:03:00 +0000 实际气体模拟

做CFD模拟时,通常我们把气体当成是恒定密度气体或者理想气体,但是当压力很大时,理想气体定律就不适用了,这个时候需要使用实际气体(real gas)。最近看了一下ANSYS旗下的三个CFD求解器CFX,Flotran,Fluent对实际气体的支持。 1. CFX里有不同的实际气体模型。其中对于常用制冷剂,使用Redlich Kwong状态模型,可以比较方便的模拟。遗憾的是,11.0里面还没有R600a(isobutane,异丁烷)。但是由于Redlich Kwong模型,只需要输入6个状态值,所以用户自定义并不会太困难。 2. Fluent的实际气体模型,需要用TUI来激活,而且只能用基于密度求解器。由于数据来自NIST REFPROP v7.0(www.nist.gov/srd/nist23.htm),从中可以找到异丁烷。 3. Flotran不支持实际气体模型。 Technorati : CFX, Flotran, Fluent, 实际气体 /?p=49

Thu, 24 May 2007 11:03:00 +0000

一个ANSYS教程网站

http://instruct1.cit.cornell.edu/courses/ansys/index.htm Technorati : ANSYS, 教程 /?p=48

Wed, 23 May 2007 13:57:14 +0000

两则新闻

1. 达索发布新的SIMULIA多物理场模拟平台(Multiphysics platform) 新闻链接。新的多物理场模拟平台包括直接耦合和第三方程序耦合。在流固耦合方面Abaqus将通过mpcci实现和STAR-CD的流固耦合。 2. Moldflow发布Moldflow Structure Alliance(MSA,结构联盟) 新闻链接。使用MSA可以方便的把MPI(Moldflow Plastics Advisers)和MPA(Moldflow Plastics Insight)的模拟结果输出到Abaqus和ANSYS中做进一步的有限元分析。由于塑料的结构属性和成型过程密切相关,MSA将可提高数值模拟的精确性,并缩短模拟时间。 题外话:MSA的测试版已经发布一年多了,这次是正式商业发布。 Technorati : Abaqus, MSA, Moldflow, Multiphysics, SIMULIA, STAR-CD, mpcci, 多物理场, 流固耦合 /?p=47

Tue, 22 May 2007 13:53:27 +0000

Fluent太阳负荷模型

1. Fluent的太阳负荷模型(solar load model)并不是辐射模型。它只计算太阳辐射加在固体表面的热量,然后把热量作为边界条件代入模型。如果要考虑辐射的话,需要使用一个辐射模型。也就是说,太阳负荷模型使用辐射的算法计算辐射热量,但是只是直接代入source term(源项),它可以和辐射模型‖串联‖使用。 2.太阳负荷模型使用光线追踪方法(ray tracing)。也就是根据表面的几何关系,计算太阳光束能量在所有固体表面上的分布。固体表面可以为不透明或半透明。 Technorati : Fluent, Solar load model, 太阳负荷模型, 太阳辐射 /?p=46

Mon, 21 May 2007 15:49:40 +0000

本博客主要介绍ANSYS,CFX,Fluent的最新更新,使用技巧等。同时也有CFD和

FEA基本理论,及其他CAE软件的介绍。

用什么CFX opening条件?

和Fluent相比,CFX里面只有5种边界条件:inlet、outlet、opening、wall和symmetry。当outlet边界上有回流时,CFX solver会提示回流,并且会临时建立一个wall边界来阻止回流。通常这个时候,要解决回流,一个办法是换成opening条件。这样流体便可以流出和流入流场。 在使用opening条件时,在opening的Mass and Momentum一栏会有六个选项:1) Opening Pressure and Direction(开口压力及方向);2) Opening Pressure (Entrainment) (开口压力(夹带));3) Static Pressure and Direction (静压及方向);4) Static Pressue (Entrainment) (静压(夹带));5) Cartesian Velocity Components (笛卡尔坐标速度分量);6) Cylindrical Velocity Components (圆柱坐标分量)。 对新手来说,这六个选项的前四个会非常混淆。静压就是通常所说的静压。开口压力是指当开口当地流体流入流场时(入口),使用总压作为开口压力;当开口当地流体流出流场时(出口),使用静压作为开口压力。 至于方向(direction)和夹带(entrainment)的区别。使用方向时,用户需指定流体流入流场时的方向。使用夹带时,流体流入流场的方向是由计算所得的当地的流动方向。 上面的条件两两组合会得到1)到4)的条件。默认条件是1)。CFX认为进口压力应当使用总压而不是静压。使用开口压力能更好的定义流场。而实际上使用开口压力时,流体流入和流出使用不同的压力(总压和静压),压力分布在开口表面上是不连续的,反而会影响收敛。另外在使用方向时,虽然限定了流体进入的方向,表面上有利于收敛,但是同样由于方向在开口上也是不连续的,因此收敛也会受到影响。 在实践中,选项4)能给出最合理的结果。我遇到过一些情况使用选项1),求解器不能收敛或者错误,改成4)就能得到合理的结果。另外,改成4)的时候,CFX-Pre会给出警告,把湍流选项改成Zero Gradient。 相比之下,Fluent的界面设计比较合理,在每个outlet需要设置回流条件,而没有那么多繁琐的设置。 至于选项5)和6),他们的区别是很直观的。在求解往复式压缩机(或者其他变速度的边界)时,使用选项5)和6)可以模拟这类问题。 Technorati : CFX, opening, 回流, 边界条件 /?p=45

Sun, 20 May 2007 13:45:32 +0000

CFX-Post里的hybrid和conservative value有什么区别?

细心的CFX用户可以发现在CFX-Post里面所有的变量都有有hybrid和conservative两个选项。在画云图时,选择hybrid或者conservative有时候会给出不同的结果。 这样的原因是由于CFX的求解器是基于节点的(vertex based),而不是基于单元的(cell based)。也就是说,在CFX里,我们所求到的是在节点处的值,而不是单元中心的值。使用基于节点的求解器,可以自动生成多面体网格,这是CFX求解器的优点之一。 问题是当节点位于边界上时,节点处的平均值(实际上应该是体积平均值)和节点处的实际值是不一样的。比如通常固体壁面上的速度边界条件是0,但是速度在该节点所定义的控制体内的平均速度并不是0。所以在CFX里面有两种量:hybrid值是节点处的实际值;conservative值是节点所定义的控制体的平均值。对于固体壁面,hybrid值是0,而conservative值不是0。 那么在什么时候使用hybrid值,什么时候使用conservative值呢?hyrbid值是边界处的实际值,在画云图的时候,会给出合理的结果。conservative值是平均值,在求积分、求平均值时会给出合理的结果。 通常情况下,CFX的默认设置是不用改的。但是如果做流体固体耦合传热的话,有些时候,用hybrid值,固体壁面的的温度有时会比流体温度高或低很多,用conservative值,或者自定义云图范围,会比较合理一点。 另外,hybri

d和conservative值只会在边界不一样。通常我们认为在流场中,实际值等于平均值。 Technorati : CFX, conservative, hybrid, 云图

/?p=44

Sat, 19 May 2007 15:49:34 +0000 巧用DesignModeler的pattern功能

最近发现DesignModeler里面的pattern(式样)功能是一个非常有用的功能。在建立大模型的时候,可以省去很多重复性的劳动。DesignModler允许有三种式样:线性、矩形和圆形。在11.0里面,选取方向比10.0要容易。 在DesignModeler里,pattern操作只能作用于体(body),而不能作用于操作步骤。比如,如果要画一个五层的楼。可以只画一层,然后可以用线性式样来得到另外四层楼。在画第一层楼的时候,使用的操作应该是add material(添加材料),所以在做pattern的时候可以直接选取体。 如果要做的是另外的一种操作,比如在一个房间的顶部有五个排风口,怎么用pattern功能做到呢?因为pattern功能只能作用于体,而生成排风口的操作应该是imprint faces(印面),没有体可以选择。 要解决这个问题,只要把imprint faces的操作拆成几步来做就行了。第一步是生成体,选择操作add frozen(添加为冻结体)。做这一步时,体的大小可以任意设定。现在有体了,可以用pattern来复制体,生成五个体。第三步是选择Create -> Body Operation里面的imprint faces功能,生成五个面。 上面的方法也可以应用于cut material(切除材料)的情形。比如在房间里,有5台电脑需要切除。 在DesignModeler里面做pattern操作,要比copy(复制)和move(移动)容易得多。因为这两个操作需要先选择或建立参考面,对于三维问题,需要有相当好的空间想象力。 另外在DesignModeler里面的一个使用技巧是,我们可以先建立固体,然后把固体一起从流体域切除。一般情况下,固体是可以看得到,摸得着的,我们会比较容易理解固体的形状。比如在做建筑物外部流动时,把所以的大楼、大楼的附属物以及建筑物的固体模型建好,然后一次切除,会比较容易理解。如果只顾删除固体的话,很可能会混淆几何关系。 Technorati : DesignModeler, pattern, 模型 /?p=43

Fri, 18 May 2007 13:59:23 +0000 达索发布Abaqus 6.7

达索(Dassault)在5月15日发布了Abaqus 6.7。新闻链接在这里。 Technorati : Abaqus /?p=42

Thu, 17 May 2007 13:17:51 +0000

更多相关推荐:
生活中的至理名言

生活中的至理名言微笑不累生气才累单纯不累复杂才累相思不累单恋才累相守不累独守才累相爱不累相残才累专情不累滥情才累友情不累私情才累真诚不累虚假才累纳友不累树敌才累无私不累自私才累得失不累计较才累身累不累心累才累分...

至理名言

至理名言至理最根本的道理最根本的道理最精辟的言论13仗义执言执坚持主持正义说公道话16有口难言有嘴不能把话说出来指由于某种原因只能把话藏在心里不便或不敢说出来32药石之言药石古时指治病的药物和石针给他人提能治病...

至理名言和励志名言

改变一生的100句至理名言1择善人而交择善书而读择善言而听择善行而从2一个人的快乐不是因为他拥有的多而是因为他计较的少3生气就是拿别人的过错来惩罚自己原谅别人就是善待自己4未必钱多乐便多财多累己招烦恼清贫乐道真...

至理名言大全

二十一句至理名言1一个人如果你不逼自己一把你根本不知道自己有多优秀2赚钱是一种能力花钱是一种水平能力可以练水平是轻易练不出来的3年轻人不可以太狂4一个人的知识通过学习可以得到一个人的成长必须通过磨练5这个世界上...

感悟人生的16句至理名言

Thegreatestthingwecouldeverdoinourpursuitoflivingistoembracesatisfactionwithwhowealreadyaretopracticegrat...

生活名言中的至理名言1

1电话打一次没有接就不要再打第二次短信发两次没有回就不要再发第三次没有这么卑微的等待如果你重要迟早会回过来的没有必要为不懂得珍惜你的人犯贱如果一个人开始怠慢你请选择离开保持一份自信保住一份尊严宁可高傲到发霉也不...

至理名言

至理名言,内容附图。

关于留住人才的至理名言

关于留住人才的至理名言20xx02161留人从来就不是什么问题留住人才才是大问题2留住人不如留住心多一些思索人性多一些细微之处的作为3留人不难难的是你自己无法突破情理法利可以解决90的人的问题剩下的10需要你突...

受益终生的148句至理名言警句

1知我者谓我心忧不知我者谓我何求诗经王风黍离2人而无仪不死何为诗经风相鼠3言者无罪闻者足戒诗经大序4他山之石可以攻玉诗经小雅鹤鸣5投我以桃报之以李诗经大雅抑6天作孽犹可违自作孽不可活尚书7满招损谦受益尚书大禹谟...

英语口语 外教一对一,让人恍然大悟的十句至理名言

登陆网站参加免费试学英语口语外教一对一让人恍然大悟的十句至理名言1人生短短几十年不要给自己留下了什么遗憾想笑就笑想哭就哭该爱的时候就去爱无谓压抑自己Besurethatyouhaveneverhadanyreg...

英语至理名言

Nomatterhowoldyougethugandkissyourmotherwheneveryougreether不管你有多大向母亲致意的最好方法就是投入她的怀抱亲吻她的脸颊Temperifungovern...

至理名言

至理名言01每天告诉自己一次我真的很不错至理名言02生气是拿别人做错的事来惩罚自己至理名言03生活中若没有朋友就像生活中没有阳光一样至理名言04明天的希望让我们忘了今天的痛苦至理名言05生活若剥去理想梦想幻想那...

名言至理(48篇)