c*********************************************************************72
subroutine vdisp(
c Read only variables -
1 nblock, nDof, nCoord, kstep, kinc,
2 stepTime, totalTime, dtNext, dt,
3 cbname, jBCType, jDof, jNodeUid, amp,
4 coordNp, u, v, a, rf, rmass, rotaryI,
c Write only variable -
5 rval )
c
include 'vaba_param.inc'
parameter( zero = 0.d0 )
c
character*80 cbname
dimension jDof(nDof), jNodeUid(nblock),
1 amp(nblock), coordNp(nCoord,nblock),
2 u(nDof,nblock), v(nDof,nblock), a(nDof,nblock),
3 rf(nDof,nblock), rmass(nblock), rotaryI(3,3,nblock),
4 rval(nDof,nblock)
c
if( jBCType .eq. 0 ) then
do 100 k = 1,nblock
if(stepTime.lt.zero)then
rval(1,k)=0.0
rval(2,k)=0.0
c
elseif(stepTime.ge.zero.and.stepTime.le.0.1)then
f=15.70796327
r=0.025/0.1
q=0.1-stepTime
t=stepTime+0.1/59.0
b=8E-3/0.1
rval(1,k)=r*(0.1-t)*cos(f*t)-r*q*cos(f*stepTime)+rval(1,k)
rval(2,k)=r*(-0.1+t)*sin(f*t)+r*q*sin(f*stepTime)+rval(2,k)
rval(3,k)=-b*stepTime
else
c
rval(1,k)=0.0
rval(2,k)=0.0
rval(3,k)=(0.01*stepTime)/0.2
end if
100 continue
end if
rval(2,k که بعد از مساوی قرار دارد را به حساب نمی آورد...این سابروتین برای حرکت حلزونی میله ابزار برای فرم دهی نموی نوشتم...