或者ifortvars_ia64.bat先盯烂,设置一下fortran环境。
首先介绍几个子程序:
一.SUBROUTINE DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS, JLTYP,SNAME)
参数:
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)