声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3064|回复: 1

FORTRAN子程序二次开发-子程序编译环境和流程

[复制链接]
发表于 2016-8-18 13:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
  在编写子程序前,需要确定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,给出相应项目名称和目录即可。

7.webp.jpg

  然后再菜单栏中选择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

回复
分享到:

使用道具 举报

发表于 2017-7-13 09:32 | 显示全部楼层
谢谢楼主分享
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-4-26 21:41 , Processed in 0.150311 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表