wjunhx 发表于 2011-5-27 06:24:18

DLOAD子程序旋转加载正弦分布载荷的问题----已解决附上源码

本帖最后由 wjunhx 于 2011-5-31 21:18 编辑

我的子程序调试通过,但发现,COORDS只能调用COORDS(1~3)也就是X,Y,Z值,使用COORDS(4~6)不起作用.
在三维模型中是否没法调用角度坐标呀!期待高手回答.
如果不行只能自己再加入坐标转换的代码了.
R=SQRT(COORDS(1)*COORDS(1)+COORDS(2)*COORDS(2))
Z=COORDS(3)
THETA=THETA(COORDS(1),COORDS(2))
IF((COORDS(1).GE.0.AND.COORDS(2).GE.0)THEN
THETA=ASIN(COORDS(2)/R)
ELSE IF((COORDS(1).LE.0.AND.COORDS(2).GE.0)THEN
THETA=ASIN(COOR..........

谁有更好的方法,不吝赐教!

wjunhx 发表于 2011-5-27 18:33:36

这样可行,已验证

wjunhx 发表于 2011-5-28 11:15:42

SUBROUTINE DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,
   1 COORDS,JLTYP,SNAME)
C
      INCLUDE 'ABA_PARAM.INC'
C
      DIMENSION TIME(1),COORDS(3)
      CHARACTER*80 SNAME
      PARAMETER (PLOAD=5,PI=2*ASIN(1).D0,LOADSTEP=4,NE=4,CN=1,
   2ETH=2*PI/NE
      CTH=CN*ETH
      MAXDO=NE/CN)
C
C   CHANGE COORDS X,Y TO R,THETA
C
C   GET R
      RCOORDS=SQRT(COORDS(1)*COORDS(1)+COORDS(2)*COORDS(2))
C   GET |SINTH|
      SINTH=ABS(COORDS(2)/RCOORDS)
C   IN QUADRANT 1
      IF   (COORDS(1).GE.0.AND.COORDS(2).GE.0)THEN
      THETA=ASIN(SINTH)
C   IN QUADRANT 2
      ELSE IF(COORDS(1).LE.0.AND.COORDS(2).GT.0)THEN
      THETA=ASIN(SINTH)+PI/2
C   IN QUADRANT 3      
      ELSE IF(COORDS(1).LE.0.AND.COORDS(2).LT.0)THEN
      THETA=ASIN(SINTH)+PI
C   IN QUADRANT 4      
      ELSE IF(COORDS(1).GE.0.AND.COORDS(2).LT.0)THEN
      THETA=ASIN(SINTH)+PI*3/2      
C
C   SINE-WAVE DISTRIBUTED LOAD: FORCE = P*SIN(th)
C   
C               
C   
      IF(KSTEP.GE.LOADSTEP.AND.KSTEP.LE.(LOADSTEP+MAXDO))THEN
         IF(THETA.GE.(KSTEP-LOADSTEP)*CTH.AND.THETA.LE.
   3(PI+(KSTEP-LOADSTEP)*CTH))THEN
       F =ABS(SIN(THETA-(KSTEP-LOADSTEP)*CTH))*PLOAD
         END IF
      END IF
C
      RETURN      
C      
      END
坐标的问题解决了,但加载有问题,编译出错

wjunhx 发表于 2011-5-30 23:29:18

总算调试通过,

本帖最后由 wjunhx 于 2011-5-31 19:31 编辑

总算调试通过了,这是分16步转动一周,每步转动PI/8,每步加载范围为转动角+PI的转动载荷子程序。

wjunhx 发表于 2011-5-30 23:33:42

结果见图

wjunhx 发表于 2011-5-30 23:41:59

本帖最后由 wjunhx 于 2011-5-30 23:52 编辑

根据需要修改NLOAD的数值和分析步数目统一起来就可以了;想算多细都可以了

taojishao 发表于 2021-9-9 16:57:07

楼主可否上传一下cae文件,学习下
页: [1]
查看完整版本: DLOAD子程序旋转加载正弦分布载荷的问题----已解决附上源码