求助ABAQUS子程序运行错误

求助ABAQUS子程序运行错误,第1张

运行一下fortran安装文件夹中的 \Intel\Compiler\11.1\038\bin\ia32\ifortvars_ia32.bat

或者ifortvars_ia64.bat先,设置一下fortran环境。

首先介绍几个子程序

一.SUBROUTINE DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS, JLTYP,SNAME)

参数:

1. F为用户定义的是每个积分点所作用的荷载的大小;

2. KSTEP,KINC为ABAQUS传到用户子程序当前的STEP和INCREMENT值;

3. TIME(1),TIME(2)为当前STEP TIME和INCREMENT TIME的值;

4. NOEL,NPT为积分点所在单元的编号和积分点的编号;

5. COORDS为当前积分点的坐标;

6. 除F外,所有参数的值都是ABAQUS传到用户子程序中的。

功能:

1. 荷载可以被定义为积分点坐标、时间、单元编号和单元节点编号的函数。

2. 用户可以从其他程序的结果文件中进行相关 *** 作来定义积分点F的大小。

例1:这个例子在每个积分点施加的荷载不仅是坐标的函数,而且是随STEP变化而变化的。

SUBROUTINE DLOAD(P,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS,

1 JLTYP,SNAME)

INCLUDE 'ABA_PARAM.INC' C

DIMENSION TIME(2),COORDS(3)

CHARACTER*80 SNAME

PARAMETER (PLOAD=100.E4)

IF (KSTEP.EQ.1) THEN !当STEP=1时的荷载大小

P=PLOAD

ELSE IF (KSTEP.EQ.2) THEN !当STEP=2时的荷载大小

P=COORDS(1)*PLOAD !施加在积分点的荷载P是坐标的函数

ELSE IF (KSTEP.EQ.3) THEN !当STEP=3时的荷载大小

P=COORDS(1)**2*PLOAD

ELSE IF (KSTEP.EQ.4) THEN !当STEP=4时的荷载大小

P=COORDS(1)**3*PLOAD

ELSE IF (KSTEP.EQ.5) THEN !当STEP=5时的荷载大小

P=COORDS(1)**4*PLOAD

END IF

RETURN

END

在 Linux (Ubuntu) 上对 Abaqus 进行 CUDA 加速需要遵循以下步骤:

确保您的系统具有 GPU,支持 CUDA,并且已安装了正确的驱动。

安装 CUDA 工具包:您可以通过添加 Nvidia 的存储库并安装 cuda-toolkit 来完成这一步。

安装 Abaqus 计算核心技术:请确保您已经安装了 Abaqus 计算核心技术,其中包含了支持 CUDA 的模块。

配置 Abaqus:请确保您已经配置 Abaqus 以识别 CUDA 设备。您可以通过修改 abaqus.env 文件来完成这一步,并将 CUDA_VISIBLE_DEVICES 设置为您要使用的 GPU 设备的编号。

运行 Abaqus 仿真:现在,您可以在 Linux 上运行 Abaqus 仿真并使用 CUDA 加速。请确保您的仿真模型已正确配置,并选择正确的 Abaqus 子程序以使用 CUDA 加速。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8095204.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存