CFXANSYS使用高手流固耦合至理名言.docx

上传人:b****1 文档编号:2023501 上传时间:2023-05-02 格式:DOCX 页数:45 大小:59.58KB
下载 相关 举报
CFXANSYS使用高手流固耦合至理名言.docx_第1页
第1页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第2页
第2页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第3页
第3页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第4页
第4页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第5页
第5页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第6页
第6页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第7页
第7页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第8页
第8页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第9页
第9页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第10页
第10页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第11页
第11页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第12页
第12页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第13页
第13页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第14页
第14页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第15页
第15页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第16页
第16页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第17页
第17页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第18页
第18页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第19页
第19页 / 共45页
CFXANSYS使用高手流固耦合至理名言.docx_第20页
第20页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

CFXANSYS使用高手流固耦合至理名言.docx

《CFXANSYS使用高手流固耦合至理名言.docx》由会员分享,可在线阅读,更多相关《CFXANSYS使用高手流固耦合至理名言.docx(45页珍藏版)》请在冰点文库上搜索。

CFXANSYS使用高手流固耦合至理名言.docx

CFXANSYS使用高手流固耦合至理名言

CFXuserFortran:

在每个时间步输出结果

问题是这样的,用CFXuserCEL完成变量的同时,还希望CFX输出每个时间步的变量值(比如,每个时间步的压力值)到一个文本文件。

虽然在程序中作了一些控制(以避免在每个coefficientloop都输出结果),但是CFX总是在一个时间步输出同样的变量多次。

UserCEL的功能其实是和CFX的内置CEL一样的,只是用户化的CEL。

UserCEL会在“需要时”,被实时引用。

如果userCEL是用来定义边界条件,在一个coefficientloop,userCEL会被运行多次。

这样结果也会被多次重复输出。

其实CFXuserFortran有两种,第一种是userCEL,它的主要功能是表达式的计算;第二种是junctionboxroutine,它的主要功能是控制计算流程。

userCEL会被实时引用,而junctionboxroutine只在用户设定的运行点运行。

下图是从CFX帮助里复制的流程图。

要完成上面所说的功能,只要定义个junctionboxroutine,然后把运行点设成EndofTimeStep(transientonly)就可以了。

Fri,14Dec200718:

34:

57+0000

Fluent:

计算叶轮功率

问题是这样的,Fluent可以不可以计算驱动搅拌器叶轮所需要的功率;如果可以的话,是不是要做面积分。

按照物理学上的定义,对于旋转的系统,功率=力矩*转速。

通过表面积分(把每个壁面单元,wallface,的功率相加)可以得到整个系统的功率。

但是,这个方法比较麻烦,需要用UDF计算,可能比较费时间。

既然功率=力矩*转速。

转速我们是已经知道的。

力矩可以在Fluent->Report->Forces…上计算得到。

因此,如果叶轮转动轴是和x,y,z轴其中之一方向一致的话,我们可以直接用Fluent图形界面进行计算。

当然如果转动轴方向不和系统坐标一致,UDF还是需要的(有兴趣的朋友可以email给我)。

这是因为力矩和转速都是矢量,只是在和系统坐标一致时,才可以方便的找到转动轴方向的力矩分量。

具体的做法是这样的:

1.Fluent->Report->Forces…把Options选成Moments,把MomentCenter设成转动轴上任意一点(但必须要是转动轴上的一点,否则就错了)。

在WallZones里选择所要计算的壁面。

然后点击Print。

2.Fluent会输出力矩的三个放量,单位是Nm,牛顿米。

3.假设转动轴是在x方向的,把x分量乘以转速(单位是弧度每秒),就得到所需的功率了。

Wed,12Dec200718:

58:

45+0000

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

这里的回流边界和流体力学里说的回流是不一样的。

在室内通风系统,由很多设备,比如空调室内机,空气过滤器,会从房间内吸走一定量的空气,然后返还等量的空气。

这一过程中,可能空气的温度会发生变化(空调室内机),空气的组分会发生变化(空气过滤器)。

空气的质量总是等量的。

在Airpak里面有一种特别的opening条件,可以定义recirculationopening。

在这种边界条件中,必须是两个边界组成一对,质量保持守恒,但是可以有热量和组分的变化。

问题是这样的,怎么在Fluent里面定义这样的边界条件呢。

要在Fluent里面定义这样的边界条件,需要输入下面两行scheme(和输入TUI一样):

(rpsetvar‘icepak?

#t)(models-changed)如果觉得每次输入很麻烦的话,可以把这两行放在一个文本文件中,然后把这个文本文件命名为*.scm。

在Fluent->File->Read->Scheme…可以读入这个文件,完成设定。

完成设定后在Fluent的boundaryconditions面板,就会多出来两个选项,然下图所示(Fluent6.3.26)。

具体的做法就不多说了,因为界面还是相当直观的。

当然,另外一种办法是用DEFINE_ADJUSTUDF来做,但是这个办法会复杂一些。

Tue,11Dec200719:

21:

34+0000

ESI发布CFD-Ace+v2008.0

主要的提升有:

1.多面体网格;2.燃料电池模型;3.新的边界层网格生成技术。

新闻链接CFX-Ace+网站

Mon,10Dec200719:

43:

37+0000

在Tgrid里划分多个体网格

很多时候我们需要一个网格里面有多个体(例如,定义源项,有转动部分),但是默认情况下Tgrid只划分其中一个体的网格(严格说,只输出其中一个体的网格到*.msh文件)。

要解决这个问题,需要改变Tgrid的默认设置:

Tgrid->Mesh->Tri/Tet->Controls->Init/Mesh,然后把Non-FluidType选成Fluid(默认选项是dead)。

和ICEMCFD一样,Tgrid里面是没有体的。

体是由面组成的封闭空间决定的。

是用默认设置的话,Tgrid只会把最大的体输出,其余的体设成dead,不会输出。

TgridTutorial的第一个练习题就是有关多个体划分网格的。

具体操作可以练习第一题。

Sun,09Dec200719:

58:

24+0000

Fluent安装后不能启动

问题是这样的,Fluent安装后不能启动,并且给出下面的错误消息:

Theapplicationfailedtoinitializeproperly(0XC0150002).ClickOKtoterminatetheapplication出现这样的问题是因为在64位windows上,Fluent需要Microsoft.NETFramework2.0libraries。

需要下载.NETframeworkVersion2.0RedistributablePackage。

x64版本可以在微软网站免费下载到。

当然最好的方法是,使用windows的自动更新功能,下载安装所有的补丁和升级程序。

下载链接:

Sat,08Dec200720:

07:

51+0000

Airpak3.0.16发布

Fluent刚刚发布了Airpak3.0.16。

在此以前的版本是Airpak3.0.12(链接)。

我还没有具体试用过,应该没用功能性的提高,主要是提高稳定性。

最重要的是从这个版本起,Airpak开始支持64位系统(Windows和Linux)。

用户可以求解更大更复杂的问题。

Airpak可以在Fluent用户服务中心下载。

Fri,14Dec200704:

32:

00+0000

FluentforCatiaV53.1发布

包括32位windows和64位windows版本。

产品介绍网页:

Technorati:

Catia,Fluent

Wed,10Oct200702:

34:

00+0000

本博客主要介绍ANSYS,CFX,Fluent的最新更新,使用技巧等。

同时也有CFD和FEA基本理论,及其他CAE软件的介绍。

CFX11.0的两个CEL新功能

1.inside()函数有时候我们需要在不同的区域设置不同的属性。

比如,要初始化一个自有表面问题,在volumeA体积比是1,在volumeB体积比是0。

在10.0时,需要把这两个区域防近两个domain,然后对各自domain进行初始化。

这样,需要建立domaininterface来连接domain。

可能只能使用GGI来连接,这样精度就会受到影响。

在11.0,inside()函数可以方便解决这个问题。

inside()函数的功能和step()函数的功能类似(if…else…语法)。

如果在指定区域内,返回1;否则,返回0。

首先,找到volumeA和B的原始区域名。

只要把树形目录里的mesh展开,就可以看到下面所有的面和体区域。

面区域以F开头。

体区域以B开头。

然后,写出inside()@REGION:

B****函数。

最后把这个CEL函数放到模型中。

下面是一个利用inside()函数进行初始化的例子:

Initial_C=1[kgm^-3]*inside()@REGION:

B3872在区域B387内,初始值为1;否则为0。

2.REGION:

语法在10.0时,基于区域的函数如area()@只能基于已定义边界条件的面。

也就是说,@后面只能跟边界条件名,而不能是网格中的原始区域(primitiveregion)。

这样,如果要定义基于原始区域的函数,而这个区域不是边界条件时,就会比较麻烦。

11.0提供的REGION:

语法可以方便的解决这个问题。

其实REGION:

的用法已经在上面的例子解释了,这里就不多说了。

Technorati:

CEL,CFX

Sun,07Oct200705:

03:

29+0000

简化Airpak模型的小经验

Airpak虽然提供了非常强大的划分网格功能,不过如果不认真控制的话,还是会产生非常大的网格。

最近遇到一个问题在32位PC上,Airpak不能显示大于一百万网格的PMV和PPD。

我猜想PMV和PPD结果并没有保存在最终结果中,需要暂存在内存中,因此对内存的要求会增加。

在使用Airpak的过程中,还遇到过其它和网格质量相关的问题。

网格质量低的话,会导致收敛问题。

下面总结一些我发现的经验(有新发现的话,持续添加)。

1.尽量使用Hexaunstructured方法。

Tetra生成的单元数最多,HexaCartesian次之,Hexaunstructured最少。

HexaCartesian不能划分弯曲、倾斜的几何形状,不推荐使用。

Tetra可以用在复杂的几何形状。

Tetra生成需要很长时间。

Hexadominant是指混合使用Hexaunstructured和Tetra。

2.少用CAD,多用polygon。

虽然Airpak3.0允许直接使用CAD几何形状,但是由于CAD本身的缺陷或者过于复杂,生成Tetra网格会很慢,并且单元数太多,浪费计算资源。

用Polygon可以近似复杂的形状,进而生成效率高的Hexaunstructured网格。

3.使用Non-conformalMeshing。

如果room里有比较小的细节的话,把这些细节放到assembly,然后meshseperately,能够显著减少单元数。

网格质量也能大大提高。

4.控制Minimumgap。

默认的minimumgap是1毫米。

在模拟大的流域时,如果一些object没有对齐,会生成非常大纵横比的单元,影响收敛。

如果object很多,对齐困难的话,使用大一点的minimumgap就可以解决这个问题。

5.使用Perobjectcontrol。

可以更好的控制,物体旁边的边界层等。

6.检查网格质量。

网格质量的第一项FaceAlignment非常重要,如果有很多单元在0-0.15的范围的话,会很难收敛或发散。

把下面的max改成0.15,然后点击柱状图,可以检查低质量单元的位置。

7.如果有收敛问题,可以暂时deactivate所有object,然后依次activate进行测试,找出问题所在。

Airpak的帮助文件对网格生成有比较详细的阐述,如果认真阅读的话,会有很大的帮助。

网格生成是CFD模拟中最重要的环节之一,因此磨刀不误砍柴工。

Technorati:

Airpak,网格

Sat,06Oct200703:

50:

23+0000

CFX:

用动网格来转动固体表面

在一些CFD模拟中,用户需要测试流场对一系列尺寸的反应。

比如所当管道的直径为10mm,12mm,和14mm时,流场各有什么不同。

DesignModeler里面的parameter可以做到这一点。

如果使用CADinterface的话,DesignModeler可以读进上游软件的parameter,比如Pro/E。

这样做的问题是每次都需要重新生成网格(用DesignXplorer可以自动化这一过程)。

其实我们可以用CFX的Meshdeformation功能实现这个目的。

问题是这样的,要测试控制叶片在0-5度内,每转动一度时流场的不同。

做法是这样的:

1.在domain上设定meshdeformation。

2.设定所有的wall边界。

如果没有移动,设置成Unspecfied;如果有移动,设置成SpcifiedLocation。

要计算出转动后的location,需要用CEL进行坐标变换。

下面的连接介绍了转动坐标变换的公式:

如果转动轴和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)ENDENDENDTechnorati:

CFX,动网格

Fri,05Oct200704:

48:

00+0000

CFX:

openingtemperaturevs.statictemperature

前面一篇帖子讨论了在CFX里面应该使用什么样opening边界条件。

当时只是讨论了动量方程边界条件,没有讨论能量方程边界条件。

问题是这样的,在CFX做通风系统模拟时,环境温度是32度,流场内只有热源,没有热量损失。

根据常识,温度不可能低于32度,但是实际模拟结果却有部分区域温度低于32度。

问题是稳态的,我只算了两个迭代,在CFX-Post里面发现温度的globalrange是低于32度的。

但是在切面上很难看到那些区域温度低于32度。

使用isosurface功能可以方便的看到低温区域。

低温区域位于一个opening边界条件旁边。

检查了opening的定义后,发现温度定义为openingtemperature。

也就是说,如果空气流入时,totaltemperature是32度;如果空气流出时,statictemperature是32度。

换句话说,如果空气流入,statictemperature实际上低于32度。

空气流速越大,statictemperature越低。

这样就会造成没有热损失,温度却低于32度的情形。

在做通风系统模拟时,opening条件应该统一设成静压和静温。

Technorati:

CFX,边界条件

Thu,04Oct200705:

45:

00+0000

用CFX模拟二维问题

CFX只有3d求解器,在求解二维问题时,需要有特别的设置。

当然,Fluent有专门的2d求解器,求解速度要快得多。

二维问题可以分为平面二维(planar2D)问题和轴对称二维(axisymmetric2D)问题。

1.几何形状平面二维:

在DesignModeler里面,extrude二维sketch。

延伸的长度不重要,但是厚度要比较薄。

轴对称二维:

在DesignModeler里面,revolve二维sketch。

转动的角度部重要,1度到5度比较合适。

2.网格平面二维:

在CFX-Mesh里面,把Option->MeshingStrategy改成Extruded2DMesh,NumberofLayers=1,然后定义ExtrudedPair,Option=Translational轴对称二维:

在CFX-Mesh里面,把Option->MeshingStrategy改称Extruded2DMesh,NumberofLayers=1,然后定义ExtrudedPair,Option=Rotational,并定义轴。

生成的网格主要由锲形(prism)网格组成。

轴对称情况下,靠近轴的地方会有退化网格。

3.定义二维问题使用和三维问题类似的边界条件。

对前面和后面,定义成symmetry(对称)边界条件就可以了。

如果没有定义成对称条件的话,CFX-Solver回提示不能正确计算梯度,求解器会自动中止。

Technorati:

CFX,二维

Wed,03Oct200707:

27:

00+0000

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

在生物医药的应用上,有时候需要模拟药物在不同材料里的扩散。

流体本身没有流动,但是药物会从高浓度区域扩散到低浓度区域。

要求解这个问题,不需要求解速度场和对流项。

只要求解一个扩散方程。

因此自己开发程序或者用matlab可能会更适合。

用CFX可以模拟比较复杂的几何形状。

1.不求解动量方程。

Insert->Solver->ExpertParameter->ModelOver-rides,把solvefluid的选项改成f。

2.不求解湍流方程。

把湍流模型设成laminar3.不使用任何其他模型。

没有传热,多相流等。

4.定义一个Additionalvariable。

然后再domain里面激活这个additionalvariable,使用diffusivetransportequation。

并且定义该additionalvariable在里面的扩散系数。

5.定义边界条件。

在CFX里,默认情况下,CFX-Pre会对所有的domain使用同样的设定。

如果要给不同的domain设定不同的扩散系数的话,需要作一个高级设置。

Edit->Options->CFX-Pre->EnableBetaFeatures。

最后在树形目录的Simulation上点右键,选空ConstantDomainPhysics。

这样便可以给不同的区域顶以不同的扩散系数了。

当然,在做网格时,要先把domain划分好。

Technorati:

CFX,扩散

Mon,01Oct200707:

56:

00+0000

CFX:

InsufficientCatalogueSize

前面一篇帖子,介绍了CFX求解器堆栈长度不足的处理。

最近遇到一个实例,在进行瞬态计算时,CFX报告了下面的错误消息:

+——————————————————————–+|***INSUFFICIENTCATALOGUESIZE***||ACTIONREQUIRED:

Increasethefilecataloguesize.||IfthesituationpersistspleasecontacttheCFXCustomerHelpline||givingthefollowingdetails:

-||Currentcataloguesize:

50822|+——————————————————————–+这是由于CFX的存储管理系统(MemoryManagementSystem,MMS)没有分配足够的内存给所要求解的问题。

这种问题是不常见的。

有两个办法可以解决这个问题,在CFX-Pre里面用CCL控制,或者在CFX-Solver里,配置相应的参量。

它们的作用是一样的。

1.在CFX-Pre里用CCL控制在SolverControl上点右键,然后选择”EditinCommandEditor”。

在CCL里插入下面的语句:

CatalogueSizeMultiplier=1.2这句定义可以直接放在”SOLVERCONTROL”下面。

点击Process确认。

2.在CFX-Solver里配置参量如果是用命令行提交CFX,在CFX5solve命令里加上”-size-mms1.2″控制。

这个控制是让MMS请求1.2倍的内存。

根据情况不同,可以使用更大的值。

如果是用图形界面提交CFX,在solver标签下面,可以输入advancedarguments。

[...]

Sun,30Sep200705:

40:

00+0000

配置windows系统CFX并行计算

最近被问到怎么给windows系统配置CFX并行计算。

其实CFX的并行计算功能是很容易配置的。

32位windows上使用mpich,64位windows上使用mpich2。

如果已经安装了ANSYSWorkbench的话,帮助里会有一本InstallationandLicensingDocumentation。

在里面搜索mpich会看到具体的配置方法:

1.在CFX-Launcher上,Tools->CommandLine2.安装mpi2.132位系统,输入:

cfx5parallel-install-mpich-service2.264为系统,输入:

cfx5parallel-install-mpich2-service3.注册用户3.132位系统,输入:

cfx5parallel-register-mpich-user3.264位系统,输入:

cfx5parallel-register-mpich2-user4.输入用户名和密码。

个人认为这个用户名和密码并不是很重要,可以输入任意值。

如果使用分布式并行计算的话,还需要安装rsh服务和配置防火墙。

对于前者,安装帮助上的说明安装就可以了;对于后者,通常我是直接把wi

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2