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'
c
vFeed=2.0
wRad=30.0
rInit=100.0
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 ( stepTime .lt. 0 ) then
if ( jBCType .eq. 0 ) then
C initialization
rval(1,1)= u(1,1)-vFeed*dt
rval(2,1)= 0.0
rval(3,1)= u(3,1)-wRad*rInit*dt
rval(4,1)= 0.0
rval(6,1)= 0.0
end if
end if
if ( stepTime .ge. 0 ) then
if ( jBCType .eq. 0 ) then
C impose displacement
time=totalTime+dtNext
rval(1,1)= (rInit-vFeed*time)*cos(wRad*time)
rval(2,1)= 0.0
rval(3,1)= (rInit-vFeed*time)*sin(wRad*time)
rval(4,1)= 0.0
rval(6,1)= 0.0
end if
end if
C
return
end
旋轮轨迹子程序(仅作备份)
最新推荐文章于 2024-08-18 16:45:00 发布