基于APDL的大规模多物理场间接耦合批处理程序开发
2014-03-28罗会信
孙 宇,罗会信,党 章
(武汉科技大学机械自动化学院,湖北 武汉,430081)
有限元分析主要流程包括几何建模、划分网格、施加载荷、计算求解、后处理几个步骤。计算求解的模型较少时,按照ANSYS传统的交互式操作流程可以解决部分实际问题,但在计算求解的模型较多时,由于交互式操作的链式流程特点,使得计算求解、载荷施加、结果路径定义都需要大量的重复操作,工作效率极低。随着有限元分析在各领域的广泛深入应用,需要研究的不再是单个物理模型在单一物理场的应用问题,这就对ANSYS分析中Batch模式提出了更多的批处理功能需求。在大规模多物理场间接耦合分析过程中,编写批处理命令流已经不能很好地满足复杂流程控制以及计算结果数据对比统计的要求。
1 APDL和联合开发方法
1.1 主要流程
图1 大规模多物理场间接耦合批处理分析流程
Fig.1Large-scalemulti-physicsindirectcouplingbatchanalysisprocess
1.2 主要开发任务
应用APDL语言开发两个宏:求解计算宏和结果批量统计宏。为了高效完成计算和批量结果提取统计,有必要开发适合大规模多物理场间接耦合模型计算宏程序和结果批量提取宏程序。计算宏程序针对用户给定的参数,在完成一个模型导入、求解计算后立即进入结果后处理器,完成用户所关心的路径定义、结果映射、结果保存等一系列操作。当第一个物理场所有模型计算完成后,再调用结果批量统计宏程序,用其统计计算过程中保存的用户所关心的路径信息。
图2 大规模多物理场间接耦合批处理程序开发流程
Fig.2Large-scalemulti-physicsindirectcouplingbatchprogramdevelopingprocess
图3 ANSYS多物理场耦合批处理程序界面
Fig.3ANSYSmulti-physicscouplingbatchprograminterface
2.2 ANSYS程序的调用
采用WIN32API中的函数CreateProcess来创建一个新的进程和它的主线程[6],这个新进程运行指定的可执行文件。通过对该函数参数的设定可以创建一个新的线程来运行ANSYS,并传递批处理命令文件。
CreateProcess函数原型为:
BOOL CreateProcess
(
LPCTSTRlpApplicationName,
LPTSTRlpCommandLine,
LPSECURITY_ATTRIBUTESlpProcessAttributes,
LPSECURITY_ATTRIBUTESlpThreadAttributes,
BOOLbInheritHandles,
DWORDdwCreationFlags,
LPVOIDlpEnvironment,
LPCTSTRlpCurrentDirectory,
LPSTARTUPINFOlpStartupInfo,
LPPROCESS_INFORMATIONlpProcessInformation
);
其中需要设定的参数主要包括:dwFlags(设定运行方式)、lpApplicationName(创建程序完整路径名)、lpCommandLine(指定运行参数)。
ANSYS提供了以命令方式调用的程序接口[7]:
SET ANSYS121_PRODUCT=ANE3FL !设定产品名称
SET ANS_CONSEC=YES !设定连续运算忽略警告
"C:Program FilesAnsys IncV121ANSYSin
其中:“-b”指定以批处理模式运行;“-i vm1.dat”指定导入文件为 vm1.dat;“-o vm1.out”指定输出文件为vm1.out。
3 ANSYS多物理场宏程序开发
3.1 计算宏程序
(1)前处理部分
/WCD,CurPath !设定当前工作路径变量
/FILNAME,JobName,0 !设定工作文件名
/INPUT,JobName,CDB, !导入CAE模型
INPUT,JobName,ANS, !导入ANS文件
FINISH
(2)通过模型上两点定义路径
FLST,2,2,8
FITEM,2,X1,Y1,Z1 !定义路径起点
FITEM,2,X2,Y2,Z2 !定义路径终点
PATH,MyPath,2,5,ARG8, !定义路径
PPATH,P51X
/PBC,PATH,1
/REPLOT
(3)通过SET名称定义路径
CMSEL,S,SetName !选择设定好的点集合
n_totalnode=ndinqr(0,13) !获取设定点集的个数
*DIM,nnum,array,ndinqr(0,13) !定义数组变量
*GET,nnum(1),NODE,,NUM,MIN !循环获取节点号
*DO,j,2,ndinqr(0,13)
nnum(j)=NDNEXT(nnum(j-1))
*ENDDO
FLST,2,ndinqr(0,13),1 !依次拾取节点
*DO,j,1,ndinqr(0,13)
FITEM,2,nnum(j)
*ENDDO
PATH,mypath,ndinqr(0,13),5,ARG8, !定义路径
PPATH,P51X,1
/REPLOT
(4)映射结果文件以提取数据[8]
PAGET,CurJobName,TABL
PARSAV,all,CurJobName,txt
FINISH
SAVE,ALL
3.2 结果批量统计宏程序
结果批量统计宏程序主要功能包括:①将计算宏程序保存的结果数据恢复到数据表以便统计操作;②通过APDL提供的矩阵操作命令对数据进行复制,完成统计并以文本和图表形式输出。
数据恢复关键代码:
PARRES,change,CurData,txt
*VFUN,A1(1,0,1),copy,CurData(1,4,1)
绘图控制关键代码:
JPGPRF,500,100,1 !控制输出白底图片
/SHOW,JPEG, , !绘制图像
*VPLOT,A1(1,0,1),A1(1,1,1),2,3,4,5,6,7,8,9
/SHOW,CLOSE
4 钢水罐罐壁热-应力间接耦合分析实例
4.1 实例概况
ANSYS热-应力间接耦合是热-结构分析方法之一,常用于温度变化对于结构的力学影响相对很小的场合。热-应力间接耦合分析的每个过程要分别计算两个模型,提取两次结果,在多个模型对比分析时,结果的提取统计量大,效率很低。本文以300 t钢水罐罐壁为对象,研究不同材质下钢水罐耳轴周围的温度和结构应力分布影响。罐壁材质分为6种,其热导率分别为2.4、2.6、2.8、3.0、3.6、3.8 W/(m·K)。利用HYPERMESH软件建立钢水罐罐壁的多个有限元轴对称模型,其中,温度场模型包含10.8万个单元,应力场模型包含14.7万个单元,如图4所示。
4.2 批处理程序的应用与分析
将6个温度场和6个应力场的有限元轴对称模型文件以及ANSYS批处理程序文件置于同一文件夹下,设定基本参数后,生成第一物理场批处理命令流,程序自动完成批处理程序的编写和ANSYS的调用与计算。在计算过程中,ANSYS依照定义的宏逐一对模型进行计算求解、提取数据、保存数据,当所有模型计算完成时,再对每步计算保存的数据进行汇总、统计,输出总的统计结果。应用所开发的批处理程序提取钢水罐耳轴周围的温度和应力分布,如图5所示。
(a)应力场模型 (b)温度场模型
图4钢水罐罐壁的有限元模型
Fig.4Finiteelementmodelsofladlewall
(a)温度
(b)应力
Fig.5Temperatureandstressdistributionaroundladletrunnions
按照传统的多物理场分析流程,上述12个模型的计算分析和结果后处理往往需要耗费大量的人力物力资源。由于该批处理程序综合考虑了多物理场耦合计算与结果后处理间的联系,打破了传统的先计算后处理的分析流程,使原本需要多台计算机、多名技术人员协同合作花费数天时间才能算成的工作,仅用一台电脑、一名技术人员就可完成,节约了人力和物力资源,同时,数据以文本方式储存于磁盘中,方便管理和统计,节约了磁盘空间。
5 结语
[1] 陶志雄,张其林,陈俊,等.基于ANSYS二次开发的夹层玻璃面板有限元分析[J].计算机应用与软件,2011,28(5):8-11.
[2] 李志博,朱玛,张高峰. ANSYS在电连接器温升分析中的应用[J]. 计算机应用与软件,2011,28(5):189-192.
[3] 潘红军,薄瑞峰,沈兴全.ANG汽车储气罐结构优化的研究[J].机械设计与制造,2013(11):53-56.
[4] 欧阳杰,王在富,朱庆鹏,等.基于VB和ANSYS的行星轮模态分析的参数化设计[J].机电工程,2013,30(10):1196-1198.
[5] 杨磊,刘更,郑党党,等.ANSYS二次开发技术在协同仿真环境中的应用[J].机械设计与制造,2011(5):71-73.
[7] ANSYSInc..APDLprogrammer’sguide[M].Sou-thpointe: ANSYS Inc.,2013:1-67.
[8] 博弈创作室.参数化有限元分析技术及其应用实例[M].北京:中国水利水电出版社,2005.