在编写子程序前,需要确定Abaqus中的FOTRAN子程序的调试和运行环境。 由于Abaqus中的子程序编写语言可以是C++或FOTRAN(这里FORTRAN语言为主),而Abaqus本身不提供C++或FORTRAN的编译环境,因此需要用户自己配置相应的编译环境。一般的选择为Microsoft Visual C++和Intel Visual Fortran,对应IDE为Microsoft Visual Studio和Intel ParallelStudio,根据Abaqus的版本不同,选择不同的IDE版本。对于Abaqus2016Abaqus6.14,一般可以选择Microsoft Visual Studio 2013 Community版本(此版本为社区版,免费)和Intel ParallelStudio XE 2013(此版本为收费版,据说有学校科研用的免费版本,可向Intel申请),其他组合可以参见Abaqus Installation and Licensing Guide,里面有具体说明。 按照先装MSVS后装IVF的顺序进行安装,IVF会自动集成到MSVS当中,可以在MSVS中创建Fortran Console Application,集成.for和.f90源代码,并且结合MSVS这个强大的IDE对代码进行调试。Fortran应用程序的创建如下图所示,即在菜单栏中选择FILE->New->Project,之后选择Intel Visual Fortran中的Console Application,给出相应项目名称和目录即可。 然后再菜单栏中选择PROJECT->Add New Item,选择相应格式FORTRAN文件即可。 此后,在Abaqus User Subroutines Reference Guide中找到相应子程序接口说明,将接口代码拷贝到.for文件中即可开始编写子程序。 当子程序编写完成后,在MSVS中进行debug,进行初步调试,修改语法错误,当debug结果只剩如下语法错误时: Error 1 error #5102: Cannot open include file'vaba_param.inc' D:\Temp\HaiZhuangYuan\DamageConstitutiveModel\subroutine\VUMAT_JC_Damage.for 19 Error 2 Compilation Aborted (code 1) D:\Temp\HaiZhuangYuan\DamageConstitutiveModel\subroutine\VUMAT_JC_Damage.for 1 说明,程序在FORTRAN语法层面已经不存在错误(上述debug error信息为include'vaba_param.inc'找不到文件为弹出的错误,不是由于语法造成)。 接下来可以通过在子程序中通过write语句要求输出变量值来进行调试,或在计算中观察odb文件中的结果,尤其是SDVs的结果来进行调试。 转自:http://mp.weixin.qq.com/s?__biz= ... 6eM4k4zlgOLq8gR5#rd |
GMT+8, 2024-5-10 16:38 , Processed in 0.076312 second(s), 24 queries , Gzip On.
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.