27 character*81 objectset(4,*)
29 integer nk,istartset(*),iendset(*),ialset(*),nodeset,
30 & idesvarc,iobject,j,k,ndesi,nobject,idesvar
32 real*8 dgdx(ndesi,nobject),stn(6,*),dstn(6,*),g0(nobject),
33 & rho,xstress,svm,dsvmdx,p
40 read(objectset(2,iobject)(41:60),
'(f20.0)') rho
41 read(objectset(2,iobject)(61:80),
'(f20.0)') xstress
47 p=-(stn(1,j)+stn(2,j)+stn(3,j))/3.d0
49 & ((stn(1,j)+p)**2+(stn(2,j)+p)**2+(stn(3,j)+p)**2+
50 & 2.d0*(stn(4,j)**2+stn(5,j)**2+stn(6,j)**2)))
52 & (2.d0*stn(1,j)-stn(2,j)-stn(3,j))*dstn(1,j)+
53 & (2.d0*stn(2,j)-stn(1,j)-stn(3,j))*dstn(2,j)+
54 & (2.d0*stn(3,j)-stn(1,j)-stn(2,j))*dstn(3,j)+
55 & 6.d0*(stn(4,j)*dstn(4,j)+stn(5,j)*dstn(5,j)+
57 dgdx(idesvar,iobject)=dgdx(idesvar,iobject)+
58 & dexp(rho*svm/xstress)*dsvmdx
60 dgdx(idesvar,iobject)=dgdx(idesvar,iobject)*
61 & dexp(-rho*g0(iobject))/xstress
63 do j=istartset(nodeset),iendset(nodeset)
64 if(ialset(j).gt.0)
then 66 p=-(stn(1,k)+stn(2,k)+stn(3,k))/3.d0
68 & ((stn(1,k)+p)**2+(stn(2,k)+p)**2+(stn(3,k)+p)**2+
69 & 2.d0*(stn(4,k)**2+stn(5,k)**2+stn(6,k)**2)))
71 & (2.d0*stn(1,k)-stn(2,k)-stn(3,k))*dstn(1,k)+
72 & (2.d0*stn(2,k)-stn(1,k)-stn(3,k))*dstn(2,k)+
73 & (2.d0*stn(3,k)-stn(1,k)-stn(2,k))*dstn(3,k)+
74 & 6.d0*(stn(4,k)*dstn(4,k)+stn(5,k)*dstn(5,k)+
76 dgdx(idesvar,iobject)=dgdx(idesvar,iobject)+
77 & dexp(rho*svm/xstress)*dsvmdx
82 if(k.ge.ialset(j-1))
exit 83 p=-(stn(1,k)+stn(2,k)+stn(3,k))/3.d0
85 & ((stn(1,k)+p)**2+(stn(2,k)+p)**2+(stn(3,k)+p)**2+
86 & 2.d0*(stn(4,k)**2+stn(5,k)**2+stn(6,k)**2)))
88 & (2.d0*stn(1,k)-stn(2,k)-stn(3,k))*dstn(1,k)+
89 & (2.d0*stn(2,k)-stn(1,k)-stn(3,k))*dstn(2,k)+
90 & (2.d0*stn(3,k)-stn(1,k)-stn(2,k))*dstn(3,k)+
91 & 6.d0*(stn(4,k)*dstn(4,k)+stn(5,k)*dstn(5,k)+
93 dgdx(idesvar,iobject)=dgdx(idesvar,iobject)+
94 & dexp(rho*svm/xstress)*dsvmdx
98 dgdx(idesvar,iobject)=dgdx(idesvar,iobject)*
99 & dexp(-rho*g0(iobject))/xstress