许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  abaqus二次开发为何使用Python语言?

abaqus二次开发为何使用Python语言?

阅读数 6
点赞 0
article_banner


有知友问怎样用c/c++编写abaqus用户子程序,abaqus帮助文档介绍了该内容,但还是更推荐采用Fortran编写,结合自己的经验,认为c/c++编写abaqus子程序的须掌握以下两个要点:

1.子程序接口。

fortran的用户子程序接口中形参与实参间默认按地址传递,c/c++默认按值传递且c/c++中变量是case sensitiy,因此采用c/c++编程需传递变量指针或引用。对于数组,c/c++中数组名本身为数组第一个元素的地址。此外,fortran二维数组在内存中按列分布,而c/c++按行排列,也应引起注意。

2.子程序编译。

c/c++子程序需先编译为目标文件,然后提交计算,编译obj文件需满足abaqus要求,编译选项参考.env文件中compile_cpp部分。

最后,上传一个c++编写的umat接口。

----------------原答案-----------

说到ABAQUS的二次开发,首先要分清楚到底是哪方面的二次开发,学过有限元课程的童鞋都很清楚,有限元方法的流程为前处理、求解、后处理,在ABAQUS有限元软件中,前处理生成cae文件,提交任务后软件会根据你的分析部类型选择求解器比如standard or explicit,求解完成生成一个output database(也就是odb文件),用户即可进行后处理。ABAQUS利用Python作为脚本语言,主要是对前处理和后处理进行二次开发,以方便使用者建模和处理数据(c++也能做一些后处理),之所以选择Python,个人觉得是出于Python的强大功能;而ABAQUS的求解器应该是用Fortran编写的,因此用户子程序的开发主要是用Fortran语言(当然c/c++也是可以的,需要比较扎实的程序编译基础),这是因为Fortran语言比较古老,并在数值计算和数组应用方面优点突出。


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删


相关文章
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空