计算。 3. 在跳出的第二个窗口上,输入D0、D1和D2系数,以及粘性系数、导热系数和比热的值。 理想气体的表达式是: 密度=(理想气体常数/摩尔质量)压力/温度 界面上给出的密度表达式是: Density = D0 * (P/D2) / (T/D1) 因此D0 = 理想气体常数/摩尔质量、D1 = 1、D2 = 1。 其实D0、D1和D2可以任意组合。写D0 = 1、D1 = 摩尔质量、D2 = 理想气体常数也可以。 最好在定义完气体材料后,做一个简单的模拟来确认定义是正确的。 Technorati : Flotran, 理想气体 http://blog.singinfo.com/?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, 单向流固耦合, 插值
http://blog.singinfo.com/?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, 单向流固耦合, 边界条件 http://blog.singinfo.com/?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, 单向流固耦合 http://blog.singinfo.com/?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的结果,结果基本相似,证明上面的步骤应该是正确的。 http://blog.singinfo.com/?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等等)。 http://blog.singinfo.com/?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, 实际气体 http://blog.singinfo.com/?p=49
Thu, 24 May 2007 11:03:00 +0000
一个ANSYS教程网站
http://instruct1.cit.cornell.edu/courses/ansys/index.htm Technorati : ANSYS, 教程 http://blog.singinfo.com/?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, 多物理场, 流固耦合
http://blog.singinfo.com/?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, 太阳负荷模型, 太阳辐射
http://blog.singinfo.com/?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, 回流, 边界条件 http://blog.singinfo.com/?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, 云图 http://blog.singinfo.com/?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, 模型 http://blog.singinfo.com/?p=43
Fri, 18 May 2007 13:59:23 +0000
达索发布Abaqus 6.7
达索(Dassault)在5月15日发布了Abaqus 6.7。新闻链接在这里。 Technorati : Abaqus http://blog.singinfo.com/?p=42
Thu, 17 May 2007 13:17:51 +0000