ANSYS|多工况大型模拟分析执行策略

1. 问题描述

科研工作中的ANSYS模拟分析,往往计算量巨大,需要调用大型计算机执行运算。由于文件巨大,往往需要划分诸多子文件,多种工况的计算产生诸多数据文件。文件管理的复杂性较大:

  • 多输入文件
  • 多输出结果
  • 多工况
  • 多次计算

为了高效执行运算,并保证试验数据的标准化管理,从实际经验出发总结本文。

2. 技术背景

2.1 Batch模式

Batch模式即批处理模式,相对于ANSYS普通调试采用的GUI截面,Batch模式直接指定需要运行的文件。运算过程中不出现GUI截面,也不输出中间结果,直接完成所有运算输出指定结果。

image_1b2hkrc2uerb1nu2121221bqfe9.png-79.3kB
image_1b2hkrc2uerb1nu2121221bqfe9.png-79.3kB

一般在个人PC上通过常规调试保证程序的正确性和可行性,然后载入高性能计算机,通过Batch模式批处理计算,直接输出结果。显然,Batch模式的计算效率大大提高。

2.2 求解结果

Batch模式运行之后,会产生一系列的分析结果,如:

image_1b2hl2m1l9fe13fq1bi83db6913.png-49.3kB
image_1b2hl2m1l9fe13fq1bi83db6913.png-49.3kB

常用的结果主要有:

  • 目标输出数据:FILE_S2400_F200_D10_L500_4_250.TXT
  • 模型结果:file.rst,此为二进制文件包含了模型计算的重要结果,需要特定的命令提取;
  • 运行输出报告:file.out
    记录了计算的全部过程,如每一步的计算时间、输入的命令文件、结束时间、运行时长等重要信息,可以看做模拟运算的凭证。
    运行命令的记录:
    image_1b2hlb087j0khp62q21tfe2ea1g.png-14.1kB
    image_1b2hlb087j0khp62q21tfe2ea1g.png-14.1kB

    运行时间记录:
    image_1b2hlce3n1a0mtp8kbdcgb1nse1t.png-19.2kB
    image_1b2hlce3n1a0mtp8kbdcgb1nse1t.png-19.2kB
  • 错误记录文件,file.err
    如果计算运行失败,可以在错误文件中查找出错的原因,重新调试程序。

3. 解决方案

高效运行大型计算分析,需要一系列的技术支持。

3.1 子程序分解

代码很长(300行)以上的程序,最好进行模块化分割,将原始程序按照功能划分成若干模块程序,如下示例:

  • 主程序


    image_1b2hlplpg1n1v1s0vainfbh17l22a.png-46.6kB
    image_1b2hlplpg1n1v1s0vainfbh17l22a.png-46.6kB
  • 子程序


    image_1b2hlq8tpm86nld56k1944pj2n.png-18.3kB
    image_1b2hlq8tpm86nld56k1944pj2n.png-18.3kB

这样的好处是:

  • 便于分块测试;
  • 提高程序复用性和可读性;

需要注意的是,主程序中调用的子程序文件名与实际文件名必须大小写一致,否则linux系统中无法识别。详细参考笔者文章ANSYS|命令流建模高效调试技术

3.2 多工况设计

由于ANSYS有限元建模分析的便利性,适合进行参数化试验,即批量测试不同参数的试验结果。参数化试验即对应着多种工况,典型的工况设计如下:

image_1b2hmdetf5f9ea1pfl1n851e503h.png-96.2kB
image_1b2hmdetf5f9ea1pfl1n851e503h.png-96.2kB

上图的表格中设计了6种工况,在大型计算分析中,我们希望一次完成6种工况的分析试验。为了便于计算操作,将工况设置的相关代码与主体分析代码分离,分别保存为命令文件。

image_1b2hme33v11nb18rq1fo13c913ng3u.png-38.8kB
image_1b2hme33v11nb18rq1fo13c913ng3u.png-38.8kB

工况文件的代码示例如下:

! ---------------------- 控制变量 ------------------------------------------------
FCK = 200                                       ! 信号中心频率,KHZ
DIAMETER_MM = 8.0                               ! 钢筋直径 mm
LEN_BAR_MM = 500                                ! 钢筋长度 mm
N1 = 6                                          ! 径向网格密度,钢筋与PZT一致
LSECT1 = 0.002                                  ! 钢筋纵向划分节段长度
LSECT2 = 0.001                                  ! PZT-纵向划分节段长度

3.3 多次计算集成

在主程序中集成多次工况的计算:

image_1b2hmibbs6qr1q45jlc5f01ev44b.png-25.2kB
image_1b2hmibbs6qr1q45jlc5f01ev44b.png-25.2kB

3.4 结果文件名设计

多工况参数试验输出很多的数据文件,一种理想的结果文件命名方法是根据参数数值进行命名,这样保证结果文件与工况一一对应:

image_1b2hp20hbmtp1dc1493do71dnf4o.png-12.3kB
image_1b2hp20hbmtp1dc1493do71dnf4o.png-12.3kB

以上文件名,以VA12_S1600_F200_D8_L500为例,各参数的意义是:

  • VA12,2个传感器通道;
  • S1600,1600步计算;
  • F200,中心频率200kHz;
  • D8,钢筋直径8 mm;
  • L500,钢筋长度 500 mm;

具体发放详见笔者文章:ANSYS|文件名字符串的构造

3.5 子文件夹设计

ANSYS运行分析之后会产生大量的临时文件,为了避免输入文件、输出文件与临时文件混淆。可以对输入文件和输出文件设置单独的文件夹,使得各类文件分类存储,便于结果的分类提取。

  • 主文件夹


    image_1b2hphuj41emcombrob6im1ss055.png-9.1kB
    image_1b2hphuj41emcombrob6im1ss055.png-9.1kB
  • 子文件夹:INPUT
    image_1b2hpigin37d18361kr11j1rovf5i.png-43.4kB
    image_1b2hpigin37d18361kr11j1rovf5i.png-43.4kB
  • 子文件夹:OUTPUT
    image_1b2hpir0s10cjbqgm0610sncs75v.png-42.5kB
    image_1b2hpir0s10cjbqgm0610sncs75v.png-42.5kB

提取目录树如下:

E:.
│  REBAR_1126B_A.dat
│  SUB_ANYLYSIS.DAT
│  
├─INPUT
│      SUB_FE01_A1.DAT
│      SUB_FE01_A2.DAT
│      SUB_FE01_A3.DAT
│      SUB_FE01_A4.DAT
│      SUB_FE01_A5.DAT
│      V200K_C1_200US_S1600.TXT
│      
└─OUTPUT
        VA12_S1600_F200_D8_L500.TXT
        VA12_S1600_F200_D9_L500.TXT
        VA12_S1600_F200_D10_L500.TXT
        VA12_S1600_F200_D11_L500.TXT
        VA12_S1600_F200_D12_L500.TXT

在主程序中,需要对输入、输出模块做一定设置。

  • 输出模块
    input命令之后,增加子文件夹相对路径
/INPUT,SUB_FE01_A1,DAT,'.\INPUT\'               ! 工况A1
/INPUT,SUB_ANYLYSIS,DAT
  • 输出模块
    文件名中增加子文件夹位置
OUTNAME = STRCAT('./OUTPUT/',OUTNAME)
*MWRITE,VOLTRES,%OUTNAME%,TXT                       ! 输出信号保存到TXT
(2F22.16)

4. 实施示例

略。

5. 常见问题

上述方法虽然较为繁琐,但对于大量的模拟分析工作来说,做好基础准备,才能事半功倍。
工欲善其事,必先利其器

本文用时60 min。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,538评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,800评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,329评论 0 238
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,725评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,089评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,449评论 1 212
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,758评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,448评论 0 195
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,152评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,432评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,933评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,289评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,921评论 3 234
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,023评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,781评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,477评论 2 270
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,381评论 2 263

推荐阅读更多精彩内容