Abaqus软件关于并行计算的测试报告.docx
《Abaqus软件关于并行计算的测试报告.docx》由会员分享,可在线阅读,更多相关《Abaqus软件关于并行计算的测试报告.docx(29页珍藏版)》请在冰点文库上搜索。
Abaqus软件关于并行计算的测试报告
Abaqus软件关于并行计算的测试报告
现代CAE分析的发展对计算能力提出了越来越高的需求,Abaqus作为功能最为强大的CAE分析软件之一,在生产和研究中为各国的工程师和研究人员所广泛采用。
Abaqus提供了强大的并行功能,它采用Threads和MPI两种并行模式,可应用于SMP或者Cluster。
本文不仅对Abaqus的并行计算的功能进行了简单介绍,而且在各种不同的操作平台上对不同分析算例进行了测试,提出了一套完整的解决方案,对于用户在Abaqus软件和硬件的选取都具有一定的参考作用。
一、CAE分析对高性能计算的需求
CAE就是用计算机辅助求解工程和产品的强度、刚度、屈曲稳定性、动力响应、热传导、弹塑性等力学性能以及性能的优化设计等问题的方法。
从20世纪60年代初开始,CAE技术逐渐被应用于解决复杂的工程分析计算问题。
CAE的广泛应用使得工程和产品的设计水平发生了质的飞跃。
经历了40多年的发展历史,CAE理论和算法都经历了从蓬勃发展到日趋成熟的过程,现已成为工程和产品结构分析中(如航空、航天、机械、汽车、土木结构等领域)必不可少的数值计算工具,同时也是分析连续力学各类问题的一种重要手段。
随着现代科学技术的发展,人们正在不断建造更为快速的交通工具、更大规模的建筑物、更大跨度的桥梁、更大功率的发电机组和更为精密的机械设备,因此,要进行CAE分析设计必须获得更高的计算能力,主要表现在:
要处理更多的工程数据:
现代勘探和测量技术的发展,使得在设计、生产或施工前后都能获得大量的数据,数据的及时有效处理能为后继的、生产或施工提供有力的指导;
要处理更大规模的问题:
为了提高分析的精度,必须采用更精密的网格划分、模拟更加精细的结构,使得问题规模不断扩大;
要完成更加困难的分析:
在分析中要考虑更多的影响因素,不仅要处理线性弹性问题,还要处理非线性、塑性、流变、损伤以及多物理场的耦合等,分析起来更加困难;
要进行更深层次的优化:
为了降低成本,提高经济效益,对设计要反复进行优化,而且优化的规模也日渐增加。
因此,如何的提高求解效率就成为比较重要的问题。
Abaqus拥有高性能并行计算能力,将使CAE工程师能更快、更好地解决更大、更难的实际工程和产品设计问题,从而创造更多的价值。
二、Abaqus及其并行计算功能简介
Abaqus是一款功能强大的有限元分析软件,它有两个主求解器模块——Abaqus/Standard和Abaqus/Explicit,可以分析复杂的固体力学、结构力学系统,特别是能够驾驭非常庞大复杂的问题和模拟高度非线性问题。
Abaqus不但可以做单一零件的力学和多物理场的分析,同时还可以做系统级的分析和研究,Abaqus在大量的高科技产品研究中都发挥着巨大的作用。
随着并行有限元分析的发展,Abaqus的并行计算日益成熟。
Abaqus支持Threads和MPI两种模式的并行,Threads模式只能在SMP系统上运行,而MPI模式则在SMP或者集群系统上都可以运行。
Abaqus/Standard的并行求解器包括:
具有动态负载均衡功能的并行直接稀疏矩阵求解器、基于区域分解的并行迭代求解器、并行Lanczos特征值求解器和并行AMS特征值求解器;Abaqus/Explicit的并行求解器也是基于区域分解的。
目前国内应用Abaqus的单位很多,当处理实际问题时,计算规模的增加非常快,1000万以上自由度的问题也并不鲜见,而20万左右自由度的问题在单机上进行计算时,要在合理的时间内得到一个分析结果已经非常困难,更不用说反复进行优化。
这样单CPU的计算能力已经越来越难以满足实际计算的需求,因此我们需要采用多CPU并行计算来提高求解效率。
三、Abaqus的测试实例
对于整个的并行计算的测试,问题包含Abaqus/Standard的线性和非线性的问题测试以及Abaqus/Explicit的问题测试。
1、Abaqus/Standard的测试题目
下面描述的问题提供了在不同性能的计算机上运行Abaqus/Standard时期望的性能估计。
问题对于Abaqus/Standard的应用是很具有代表性的,包含线性静态,非线性静态和自然频率提取分析等。
S1:
平板在重力作用下的变形
图1
这是一个重力载荷作用下的线性静力分析问题。
平板是采用二阶的壳单元,单元类型为S8R5,并且采用的是一个线弹性的材料模型,平板的一边是固定的,模型中没有接触。
S1
增量步数目:
1
迭代数目:
1
自由度数目:
1,085,406
浮点操作数目:
1.89E+011
要求最小内存:
587MB
要求硬盘空间:
2GB
S2:
受离心荷载的飞轮
图2
这是一个在离心力载荷作用下有轻微非线性的静力分析的问题。
飞轮采用的是一阶六面体网格,单元类型为C3D8R,采用的是各向同性的Mises塑性硬化材料模型,问题中没有接触,由于在螺栓孔附近处的局部的屈服会导致问题的非线性的增加。
提供关于问题的两个版本的测试,两个版本的模型是一样的,只是求解器不同,一个采用的是直接稀疏矩阵求解器,另一个采用的是迭代求解器。
S2a:
直接稀疏矩阵求解器版本
增量步数目:
6
迭代数目:
12
自由度数目:
474,744
浮点操作数目:
1.86E+012
要求最小内存:
733MB
要求硬盘空间:
4.55GB
S2b:
迭代求解器版本
增量步数目:
6
迭代数目:
11
自由度数目:
474,744
浮点操作数目:
8.34E+010
要求最小内存:
2.8GB
要求硬盘空间:
387MB
S3:
涡轮推进器的频率提取
图3
这是一个提取涡轮推进器自然频率和模态的问题。
涡轮推进器是采用的二阶四面体网格,单元类型为C3D10,并且采用的是线弹性的材料,要求的频率范围是从100Hz到20,000Hz。
提供关于问题的三个版本的测试:
一个是360,000个自由度的版本,采用的是Lanczos特征值求解器,一个是1,100,000个自由度的版本,采用的是Lanczos特征值求解器,一个是1,100,000个自由度的版本,采用的是AMS特征值求解器。
S3a:
360,000DOF,Lanczos特征值求解器版本
自由度数目:
362,178
浮点操作数目:
3.42E+11
要求最小内存:
384MB
要求硬盘空间:
4.0GB
S3b:
1,100,000DOF,Lanczos特征值求解器版本
自由度数目:
1,112,703
浮点操作数目:
3.03E+12
要求最小内存:
1.33GB
要求硬盘空间:
23.36GB
S3c:
1,100,000DOF,AMS特征值求解器版本
自由度数目:
1,112,703
浮点操作数目:
3.03E+12
要求最小内存:
1.33GB
要求硬盘空间:
19.3GB
S4:
螺栓紧固的汽缸盖模型
图4
这是一个模拟螺栓连接汽缸盖到发动机体上并带有轻微非线性的静力分析的问题。
汽缸盖和发动机体是采用的四面体网格,单元类型为C3D4或C3D10M,螺栓是采用的六面体网格,单元类型为C3D8I。
汽缸盖、发动机体和螺栓采用的是线弹性材料,但是垫片模拟采用的是由压力——闭合曲线定义的塑性材料,在螺栓和汽缸盖之间、垫片和汽缸盖之间、垫片和发动机体之间有定义接触,当接触条件发生变化或者由于螺栓拧紧导致的垫片材料的屈服都会使得问题的非线性增加。
提供关于问题的三个版本的测试:
一个是700,000个自由度、5个interation的版本,一个是5,000,000个自由度、5个interation的版本,一个是700,000个自由度、27个interation的版本。
S4a:
700,000DOF5iterationversion
增量步数目:
1
迭代数目:
5
自由度数目:
720,059
浮点操作数目:
5.77E+11
要求最小内存:
895MB
要求硬盘空间:
3GB
S4b:
5,000,000DOF5iterationversion
增量步数目:
1
迭代数目:
5
自由度数目:
5,236,958
浮点操作数目:
1.14E+13
要求最小内存:
4GB
要求硬盘空间:
23GB
S4d:
700,00027iterationversion
增量步数目:
20
迭代数目:
27
自由度数目:
720,059
浮点操作数目:
5.77E+11
要求最小内存:
895MB
要求硬盘空间:
3.3GB
S5:
支架张开
图5
这是一个模拟医疗支架设备张开并且带有强烈非线性的静力分析的问题。
支架采用的是六面体网格,单元类型为C3D8,并且采用的是线弹性的材料模型,张开工具模拟采用的是面单元,单元类型为SFM3DR,在支架和张开工具之间有定义接触,张开工具上定义径向位移来轮流使得支架张开,并且由于大位移和接触滑动会导致问题的非线性增加。
S5
增量步数目:
21
迭代数目:
91
自由度数目:
181,692
浮点操作数目:
1.80E+009
要求最小内存:
NA
要求硬盘空间:
NA
S6:
轮胎模拟
图6
这是一个模拟决定汽车轮胎印记并且带有强烈非线性的静力分析的问题。
轮胎采用的是六面体网格,单元类型分别为C3D8、C3D6H和C3D8H。
采用了线弹性材料和超弹性材料模拟,轮胎内部带子的模拟采用了rebar层和嵌入单元,边框和底面采用的是刚体,在轮胎和轮毂、轮胎和地面之间有定义接触。
整个分析包含三个分析步,在第一个分析步中是模拟轮胎安装到轮毂上,第二个分析步中是轮胎的充气过程,第三个分析步中在轮毂上施加一个垂直载荷。
由于大变形、滑动接触和超弹性材料行为导致模型中的非线性增加。
S6
增量步数目:
41
迭代数目:
177
自由度数目:
729,264
浮点操作数目:
NA
要求最小内存:
397MB
要求硬盘空间:
NA
2、Abaqus/Explicit的测试题目
下面描述的问题提供了在不同性能的计算机上运行Abaqus/Explicit时期望的性能估计。
问题对于Abaqus/Explicit的应用是很具有代表性的,包含高速的动力学冲击问题和有复杂接触条件的准静态问题。
下面表格中列出的增量步的数目是一种估计值,它可能会因为硬件平台和并行区域的不同有略微的差异。
E1:
汽车碰撞
图7
这是一个模拟客车撞向一个刚性墙的问题。
汽车主要采用的是壳网格,单元类型为S3RS和S4RS,并采用的是各向同性的Mises塑性硬化材料模型,客车不同部件之间的连接采用的是多点约束和连接器单元,许多的悬挂机构和动力传动部件是作为刚体模拟,客车、路面和墙之间采用的是一个通用接触域并且客车的初速度为25mph。
E1
增量步数目:
62,934
单元数目:
274,632
初始稳态时间增量步:
9.535E-07
最后的动能:
2.100E+06
要求内存:
1200MB
E2:
手机跌落
图8
这是一个模拟手机撞击固定刚性墙简化模型的问题。
手机部件是采用了多种的单元类型,包括C3D8R、C3D10M和S4R,材料行为模拟包括线弹性、各向同性Mises塑性硬化和超弹性材料,部件的装配采用了基于表面网格的tie连接,并将整个模型包括地面都定义在一个通用接触域中,手机的初始速度和方向被定义来产生一个类似的斜碰冲击。
E2
增量步数目:
87,369
单元数目:
45,785
初始稳态时间增量步:
3.431E-08
最后的动能:
6.043E+02
要求内存:
300MB
E3:
板金成型
图9
这是一个金属板部件通过深冲压方法成型的问题。
可变形的金属板板坯是采用的壳单元,单元类型为S4R,并且采用的是各向同性的Mises塑性硬化的材料模型,工具采用的是面网格,单元类型为SFM3D4R,并且将其定义为了刚体,在板坯和工具之间定义了通用接触。
分析包含两个分析步,在第一个分析步中,板坯在夹子和模具之间被夹紧,在第二个分析步中,冲头移动来形成部件。
因为进程本来是一个准静态分析,因此计算执行会花费很长的一段时间,并且惯性影响是可以忽略的。
这个分析主要是用来测试三维模型的通用接触算法的计算效率。
E3
增量步数目:
31,177
单元数目:
34,540(仅变形体)
初始稳态时间增量步:
7.151E-07
最后的动能:
1.391E+03
要求内存:
550MB
E4:
子弹穿透
图10
这是一个发射子弹以一个斜角来穿透钢板的问题。
子弹和钢板都采用的是六面体网格,单元类型是C3D8R,采用包含失效的率相关各向同性Mises塑性硬化材料模型,发射的子弹和钢板都定义在一个包含表面侵蚀的通用接触域中,平板的边是固定的,子弹的初始速度被指定足以保证子弹可以穿透平板。
E4
增量步数目:
12,433
单元数目:
237,100
初始稳态时间增量步:
4.957E-09
最后的动能:
1.469E+04
要求内存:
1400MB
E5:
爆炸载荷对平板的冲击
图11
这是一个有加强筋的钢板经受高度冲击载荷的问题。
钢板采用的是壳网格,单元类型为S4R,并采用的是各向同性的Mises塑性硬化的材料模型,模型中没有接触。
E5
增量步数目:
81,716
单元数目:
50,000
初始稳态时间增量步:
6.122E-07
最后的动能:
1.050E+01
要求内存:
150MB
E6:
多个同心球受冲击后的碰撞
图12
这是一个包含多个同心球的问题,并且每个球之间有明显的间隙。
球采用的是六面体网格,单元类型为C3D8R,采用的是各向同性Mises塑性硬化的材料模型。
所有的这些球都定义在一个通用接触域中并且最外的球受到猛烈的震动会导致在包含球体之间的复杂的接触作用。
E6
增量步数目:
23,291
单元数目:
244,124
初始稳态时间增量步:
2.116E-07
最后的动能:
2.034E+06
要求内存:
1000MB
四、Abaqus的测试结果
1线性问题测试基本数据
Windows/x86-64
BenchmarkDetails WIN64-14
测试提交:
SIMULIA
Abaqus版本:
6.8-2
计算机系统:
HPDL140
操作系统:
WindowsServer2003
处理器:
IntelPentiumD,2.8GHz
核/socket:
2
Sockets/节点:
1
内存:
4GB
I/O系统:
single72GBdrive
*第一个值是指挂钟时间的秒数,第二个值是指相对基准的加速比。
核
S3A
S3B
S3C
1
1174
23985
9128
2
1142(1.03)
13842(1.73)
8322(1.1)
Linux/x86-64
BenchmarkDetails LIN64-15
测试提交:
SIMULIA
Abaqus版本:
6.8-1
内存(Abaqussetting):
default(90%)
计算机系统:
HPXeon
操作系统:
RedHatEnterpriseLinux4
处理器:
IntelXeon,3.0GHz
核/socket:
2
Sockets/节点:
2
内存:
8GB
I/O系统:
single144GB10KSASdrive
*第一个值是指挂钟时间的秒数,第二个值是指相对基准的加速比。
核
S3A
S3B
S3C
1
399
5300
2379
2
317(1.26)
4808(1.1)
1974(1.21)
4
250(1.6)
4610(1.15)
1615(1.47)
AIX/Power
BenchmarkDetails AIX-16
测试提交:
SIMULIA
Abaqus版本:
6.8-1
内存(Abaqussetting):
default(90%)
计算机系统:
IBMP570
操作系统:
AIX6
处理器:
Power6,4.7GHz
核:
8
内存:
64GB
I/O系统:
3140GBdrives
*第一个值是指挂钟时间的秒数,第二个值是指相对基准的加速比。
核
S3A
S3B
S3C
1
0
2103
1771
2
313(Notcomputed)
1466(1.43)
1770
(1)
4
269(1.16)
1143(1.84)
1775
(1)
2工作站测试基本数据
Windows/x86-32
BenchmarkDetails WIN32-1
测试提交:
SIMULIA
Abaqus版本:
6.8-1
计算机系统:
HPxw4400
操作系统:
WindowsServer2003
处理器:
IntelXeonCore2Duo,2.6GHz
核/socket:
2
Sockets/节点:
1
内存:
4GB
I/O系统:
single146GBdrive
*第一个值是指挂钟时间的秒数,第二个值是指相对基准的加速比。
核
S1
S2A
S3A
S4A
S5
E4
E5
1
94
4042
629
1048
1492
5411
6451
2
90(1.04)
2486(1.63)
452(1.39)
936(1.12)
1032(1.45)
3180(1.7)
3604(1.79)
Windows/x86-64
BenchmarkDetails WIN64-2
测试提交:
SIMULIA
Abaqus版本:
6.8-2
计算机系统:
HPDL140
操作系统:
WindowsServer2003
处理器:
IntelPentiumD,2.8GHz
核/socket:
2
Sockets/节点:
1
内存:
4GB
I/O系统:
single72GBdrive
*第一个值是指挂钟时间的秒数,第二个值是指相对基准的加速比。
核
S1
S2A
S3A
S4A
S5
E4
E5
1
154
8314
1068
2498
2660
7247
12471
2
108(1.43)
6201(1.34)
879(1.22)
2479(1.01)
1625(1.64)
4493(1.61)
6731(1.85)
Linux/x86-32
BenchmarkDetails LIN32-3
测试提交:
SIMULIA
Abaqus版本:
6.8-1
内存(Abaqussetting):
1500mb
计算机系统:
LinuxNetworx
操作系统:
SUSELinuxEnterpriseServer9
处理器:
IntelXeon(Netburstarchitecture),3.0GHz
核/socket:
1
Sockets/节点:
2
内存:
4GB
I/O系统:
single72GBdrive
*第一个值是指挂钟时间的秒数,第二个值是指相对基准的加速比。
核
S1
S2A
S3A
S4A
S5
E4
E5
1
161
6061
1199
1827
2964
9617
16547
2
131(1.23)
4026(1.51)
2639(0.45)
1404(1.3)
1870(1.59)
6591(1.46)
9407(1.76)
Linux/x86-64
BenchmarkDetails LIN64-4
测试提交:
SIMULIA
Abaqus版本:
6.8-1
计算机系统:
ColfaxAMDBarcelonaWorkstation
操作系统:
RedHatEnterpriseLinux5
处理器:
AMD8354,2.2GHz
核/socket:
4
Sockets/节点:
2
MPI库:
HP-MPI
内存:
8GB
I/O系统:
single300GBdrive
*第一个值是指挂钟时间的秒数,第二个值是指相对基准的加速比。
核
S1
S2A
S3A
S4A
S5
E4
E5
1
115
4210
761
1151
2123
6892
7807
2
89(1.29)
0(1.29)
885(0.86)
718(1.6)
1149(1.85)
3259(2.11)
3935(1.98)
4
80(1.44)
1156(3.64)
2891(0.26)
504(2.28)
681(3.12)
1953(3.53)
2025(3.86)
8
85(1.35)
641(6.57)
0(6.57)
410(2.81)
489(4.34)
1120(6.15)
1067(7.32)
BenchmarkDetails LIN64-5
测试提交:
SIMULIA
Abaqus版本:
6.8-1
计算机系统:
HPXeon
操作系统:
RedHatEnterpriseLinux4
处理器:
IntelXeon5160,3.0GHz
核/socket:
2
Sockets/节点:
2
内存:
8GB
I/O系统:
single72GBdrive
*第一个值是指挂钟时间的秒数,第二个值是指相对基准的加速比。
核
S1
S2A
S3A
S4A
S5
E4
E5
1
67
2313
399
653
1153
4671
5277
2
49(1.37)
1214(1.91)
317(1.26)
455(1.44)
718(1.61)
2479(1.88)
2683(1.97)
4
41(1.63)
714(3.24)
251(1.59)
341(1.91)
451(2.56)
164