首页/文章/ 详情

PhiPsi-高性能有限元程序

14天前浏览1180

大家好,本期木木给大家分享一个计算性能十分强悍的有限元求解器——PhiPsi,有关PhiPsi程序更详细的功能介绍,可以点击历史推文:开源XFEM程序:PhiPsi介绍

最近,PhiPsi结合了PyQt5,形成了一个软件的界面形式PPView:

   

<<< 左右滑动见更多 >>>

软件的使用,相比于前期版本的使用方法要方便很多,只需鼠标点点点,即可完成数据读取、内核计算、后处理自定义显示,作为有限元宝藏up主,怎么可能不整点花活儿呢~

模型测试

在体验完XFEM的一些功能后,我就又回到了有限元求解上,网上都说Fortran计算效率高,我倒要看看到底有多高,拿一个164万个C3D8单元有限元模型作测试,对比一下Abaqus的计算速度与PhiPsi的计算速度!

底部约束所有的自由度,顶部施加向上的压力,简单的拉伸模型:

求解设置

Abaqus采用迭代解6线程并行计算

   

<<< 左右滑动见更多 >>>

PhiPsi采共享内存并行计算技术:OpenMP,6线程并行计算,在刚度矩阵的求解上采用了EBE-PCG预处理迭代求解技术,相关理论可参考《有限元方法编程(第五版)》P55。

求解时间对比

场变量均只输出节点位移,PhiPsi的结果文件按照二进制格式输出。

Abaqus共使用5分42秒

PhiPsi共使用298秒,也就是4分58秒,比Abaqus快了44秒

求解精度对比

Abaqus的节点位移最大为:
0.0162334625623317
PhiPsi节点位移最大为:
0.016423374759488234

吻合度98.83%,精度可以接受。

番外篇

对于查看Abaqus模型中场边量的最大值,可以在cae中进行查看:

小数点后面最大可以保留九位,对于上文提及的0.0162334625623317是怎么得到的呢?

有限元UP主又可以开始整活儿了!直接来一个python脚本,自定义程度极高,想查看什么就查看什么,相对数据怎么操作就怎么操作,想转换什么数据格式就转换...好了进入正题!

# -*-coding:UTF-8-*-
from odbAccess import *
from math import sqrt
# 打开ODB文件
odbName = session.viewports[session.currentViewportName].odbDisplay.name
odb = session.odbs[odbName]
assembly = odb.rootAssembly
# 打印所有节点集的名称
print("All node sets in the model:")
for nodeSetName in assembly.nodeSets.keys():
    print(nodeSetName)
# 选择步骤和增量
stepName = 'Step-1'# 替换为你的实际步骤名称
lastFrame = odb.steps[stepName].frames[-1]
# 初始化最大位移合量变量
maxDisplacementMagnitude = 0
# 遍历所有节点
# 我将顶面节点设置为set-up
for node in assembly.nodeSets['SET-UP'].nodes[0]:
# 获取节点的位移输出(这里假设输出变量为U,即位移)
    displacement = lastFrame.fieldOutputs['U'].getSubset(region=node).values[0]
# 计算位移合量
    displacementMagnitude = sqrt(displacement.data[0]**2 + displacement.data[1]**2 + displacement.data[2]**2)
# 更新最大位移合量
if displacementMagnitude > maxDisplacementMagnitude:
        maxDisplacementMagnitude = displacementMagnitude
# 输出最大位移合量
print('Maximum displacement magnitude is:', maxDisplacementMagnitude)

对于更大模型的测试,读者感兴趣的话也可以自行测试,我的个人笔记本过于老旧,内存也太小,不太方便。不过对于模型数目越大的情况下,并行计算的优势也会体现的越明显!

来源:易木木响叮当
AbaqusSTEPSpythonUM求解技术理论
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-05-19
最近编辑:14天前
易木木响叮当
硕士 有限元爱好者
获赞 183粉丝 162文章 271课程 2
点赞
收藏

作者推荐

未登录
还没有评论

课程
培训
服务
行家

VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈