在Abaqus中使用f90格式的子程序

Abaqus默认支持的是固定(fortran77)格式的Fortran子程序。编译或者调用子程序时会自动搜索文件后缀为:*.for, *.f, *.C, *.c, *.cc, *.CPP, *.cpp, *.CXX, *.cxx 的源代码文件。

如果想使用f90自由格式的Fortran子程序,需要修改Abaqus的环境配置文件。Abaqus2018环境配置文件的位置与2016的位置不同,在我的电脑中是:D:\Program Files\Dassault Systemes\SimulationServices\V6R2018x\win_b64\SMA\site\win86_64.env

在该环境配置文件的Fortran编译选项中增加'/free':

compile_fortran=['ifort',
                 '/c','/DABQ_WIN86_64', '/extend-source', '/fpp',
                 '/iface:cref', '/recursive', '/Qauto-scalar',
                 '/QxSSE3', '/QaxAVX', 
                 '/heap-arrays:1', 
                 # '/Od', '/Ob0',  # <-- Optimization Debugging
                 # '/Zi',          # <-- Debugging
                 '/include:%I', '/include:'+abaHomeInc, '%P', '
要在ABAQUS使用VDLOAD子程序实现循环加载,需要按照以下步骤进行操作: 1. 在ABAQUS定义VDLOAD子程序,并且编写好循环加载的代码。 2. 在ABAQUS定义一个命令流程(Job),并且在命令流程调用VDLOAD子程序。 3. 在ABAQUS定义一个循环控制参数(LCF),用于控制循环加载的次数。 4. 在命令流程使用LCF参数,在循环反复调用VDLOAD子程序,实现循环加载。 具体操作步骤如下: 1. 在ABAQUS定义VDLOAD子程序。可以使用FORTRAN等编程语言编写VDLOAD子程序,然后将其编译成动态链接库(DLL)文件,再将DLL文件导入ABAQUS。 2. 在ABAQUS定义一个命令流程(Job),并且在命令流程调用VDLOAD子程序。可以使用ABAQUS/Explicit模块的LOAD命令调用VDLOAD子程序。 3. 在ABAQUS定义一个循环控制参数(LCF),用于控制循环加载的次数。可以使用ABAQUS/Standard模块的PARAM命令定义LCF参数。 4. 在命令流程使用LCF参数,在循环反复调用VDLOAD子程序,实现循环加载。可以使用ABAQUS/Standard模块的DO命令实现循环控制。 例如,以下为一个简单的ABAQUS输入文件示例,其定义了一个VDLOAD子程序,并且实现了循环加载10次: ``` ** 定义VDLOAD子程序 *SUBROUTINE VDLOAD(...) ! ... 编写循环加载的代码 ... *END SUBROUTINE ** 定义命令流程 *Job name=LoadJob, interactive ** 调用VDLOAD子程序 *LOAD, USER SUBROUTINE=VDLOAD ** 定义循环控制参数 *PARAMETERS, LCF=10 ** 循环加载10次 *DO, I=1, LCF ** 调用VDLOAD子程序 *LOAD, USER SUBROUTINE=VDLOAD *ENDDO *END JOB ``` 注意,以上示例仅为演示ABAQUS如何使用VDLOAD子程序实现循环加载的基本思路,实际操作还需要根据具体需求进行相应的调整和修改。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值