DFLUX调用应力应变的问题
浏览:7507 回答:2
大神们好!我正在编写一个DFLUX,FLUX(1)是关于应力应变的方程,运行的时候总提醒有错误,方程为
q=( α^2X ΩX ε^2XE)/2
其中,E=( σ/ ε)*sin(d)
σ为应力, ε为应变,是上一增量步的输出结果。
我写的程序如下
SUBROUTINE DFLUX(FLUX,SOL,JSTEP,JINC,TIME,NOEL,NPT,COORDS,JLTYP,
1 TEMP,PRESS,SNAME)
C
INCLUDE 'ABA_PARAM.INC'
C
PARAMETER(TWO=2.d0)
DIMENSION COORDS(3),FLUX(2),TIME(2)
CHARACTER*80 SNAME
FLUX(1)=0
PI=3.1415926
ALPHA=0.9
OMEGA=20000*2*PI
D=OMEGA*0.0000125
c Heat generation
CALL SPRINC(S,PS,2,NDI,NSHR)
c Get the strain
EPS=SQRT(2*(PS(1)+PS(2)+PS(3))/3)
CALL SPRINC(S,PS,1,NDI,NSHR)
c Get the stress
S=SQRT((PS(1)-PS(2))**2+(PS(2)-PS(3))**2+(PS(3)-PS(1))**2)/2)
MODULUS=(S/EPS)*SIN(D)
c Generate heat
FLUX(1)=ALPHA**2*OMEGA*EPS**2*MODULUS/TWO
RETURN
END SUBROUTINE DFLUX
总觉得是在CALL SPRINC那里有问题,不知道应力应变是不是这样调用。
感谢!
q=( α^2X ΩX ε^2XE)/2
其中,E=( σ/ ε)*sin(d)
σ为应力, ε为应变,是上一增量步的输出结果。
我写的程序如下
SUBROUTINE DFLUX(FLUX,SOL,JSTEP,JINC,TIME,NOEL,NPT,COORDS,JLTYP,
1 TEMP,PRESS,SNAME)
C
INCLUDE 'ABA_PARAM.INC'
C
PARAMETER(TWO=2.d0)
DIMENSION COORDS(3),FLUX(2),TIME(2)
CHARACTER*80 SNAME
FLUX(1)=0
PI=3.1415926
ALPHA=0.9
OMEGA=20000*2*PI
D=OMEGA*0.0000125
c Heat generation
CALL SPRINC(S,PS,2,NDI,NSHR)
c Get the strain
EPS=SQRT(2*(PS(1)+PS(2)+PS(3))/3)
CALL SPRINC(S,PS,1,NDI,NSHR)
c Get the stress
S=SQRT((PS(1)-PS(2))**2+(PS(2)-PS(3))**2+(PS(3)-PS(1))**2)/2)
MODULUS=(S/EPS)*SIN(D)
c Generate heat
FLUX(1)=ALPHA**2*OMEGA*EPS**2*MODULUS/TWO
RETURN
END SUBROUTINE DFLUX
总觉得是在CALL SPRINC那里有问题,不知道应力应变是不是这样调用。
感谢!