27 integer i,j,imat,ncmat_,ntmat_,k,l,nope,nterms,iflag,i1,
28 & iperturb(*),nmethod,mi(*),nasym
30 real*8 xl(3,10),elas(21),ratio(9),pproj(3),val,shp2(7,9),
31 & al(3),s(60,60),voldl(0:mi(2),10),pl(3,10),xn(3),dm,
32 &
c1,c2,c3,c4,elcon(0:ncmat_,ntmat_,*),xm(3),xmu(3,3,10),
33 & dxmu(3,10),dval(3,10),fpu(3,3,10),xi,et,xs2(3,7),xk,
34 &
a11,a12,a22,
b1(3,10),b2(3,10),dal(3,3,10),qxxy(3),fnl(3),
35 & qxyy(3),dxi(3,10),det(3,10),determinant,c11,c12,c22,
36 & qxyx(3),qyxy(3),springarea(2),
dist,tu(3,3,10),
46 pl(j,i)=xl(j,i)+voldl(j,i)
62 al(i)=pl(i,nope)-pproj(i)
68 call shape9q(xi,et,pl,xm,xs2,shp2,iflag)
69 elseif(nterms.eq.8)
then 70 call shape8q(xi,et,pl,xm,xs2,shp2,iflag)
71 elseif(nterms.eq.4)
then 72 call shape4q(xi,et,pl,xm,xs2,shp2,iflag)
73 elseif(nterms.eq.6)
then 74 call shape6tri(xi,et,pl,xm,xs2,shp2,iflag)
75 elseif(nterms.eq.7)
then 76 call shape7tri(xi,et,pl,xm,xs2,shp2,iflag)
78 call shape3tri(xi,et,pl,xm,xs2,shp2,iflag)
87 a11=-(xs2(1,1)*xs2(1,1)+xs2(2,1)*xs2(2,1)+xs2(3,1)*xs2(3,1))
88 & +al(1)*xs2(1,5)+al(2)*xs2(2,5)+al(3)*xs2(3,5)
89 a12=-(xs2(1,1)*xs2(1,2)+xs2(2,1)*xs2(2,2)+xs2(3,1)*xs2(3,2))
90 & +al(1)*xs2(1,6)+al(2)*xs2(2,6)+al(3)*xs2(3,6)
91 a22=-(xs2(1,2)*xs2(1,2)+xs2(2,2)*xs2(2,2)+xs2(3,2)*xs2(3,2))
92 & +al(1)*xs2(1,7)+al(2)*xs2(2,7)+al(3)*xs2(3,7)
96 b1(i,j)=shp2(4,j)*xs2(i,1)-shp2(1,j)*al(i)
97 b2(i,j)=shp2(4,j)*xs2(i,2)-shp2(2,j)*al(i)
103 determinant=
a11*a22-a12*a12
110 dxi(i,j)=c11*
b1(i,j)+c12*b2(i,j)
111 det(i,j)=c12*
b1(i,j)+c22*b2(i,j)
121 dal(j,k,i)=-xs2(j,1)*dxi(k,i)-xs2(j,2)*det(k,i)
127 dal(j,j,i)=dal(j,j,i)-shp2(4,i)
131 dal(j,j,nope)=dal(j,j,nope)+1.d0
136 qxxy(1)=xs2(2,5)*xs2(3,2)-xs2(3,5)*xs2(2,2)
137 qxxy(2)=xs2(3,5)*xs2(1,2)-xs2(1,5)*xs2(3,2)
138 qxxy(3)=xs2(1,5)*xs2(2,2)-xs2(2,5)*xs2(1,2)
142 qxyy(1)=xs2(2,1)*xs2(3,7)-xs2(3,1)*xs2(2,7)
143 qxyy(2)=xs2(3,1)*xs2(1,7)-xs2(1,1)*xs2(3,7)
144 qxyy(3)=xs2(1,1)*xs2(2,7)-xs2(2,1)*xs2(1,7)
150 qxyx(1)=xs2(2,1)*xs2(3,6)-xs2(3,1)*xs2(2,6)
151 qxyx(2)=xs2(3,1)*xs2(1,6)-xs2(1,1)*xs2(3,6)
152 qxyx(3)=xs2(1,1)*xs2(2,6)-xs2(2,1)*xs2(1,6)
156 qyxy(1)=xs2(2,6)*xs2(3,2)-xs2(3,6)*xs2(2,2)
157 qyxy(2)=xs2(3,6)*xs2(1,2)-xs2(1,6)*xs2(3,2)
158 qyxy(3)=xs2(1,6)*xs2(2,2)-xs2(2,6)*xs2(1,2)
165 dm=dsqrt(xm(1)*xm(1)+xm(2)*xm(2)+xm(3)*xm(3))
172 clear=al(1)*xn(1)+al(2)*xn(2)+al(3)*xn(3)
173 if(nmethod.eq.1)
then 174 clear=clear-springarea(2)*(1.d0-reltime)
182 if(springarea(1).le.0.d0)
then 184 springarea(1)=dm/2.d0
186 springarea(1)=dm*4.d0
190 elas(2)=-springarea(1)*elcon(5,1,imat)
191 elas(1)=elas(2)*clear
196 fnl(i)=-elas(1)*xn(i)
206 xmu(1,2,k)=shp2(1,k)*xs2(3,2)-shp2(2,k)*xs2(3,1)
207 xmu(2,3,k)=shp2(1,k)*xs2(1,2)-shp2(2,k)*xs2(1,1)
208 xmu(3,1,k)=shp2(1,k)*xs2(2,2)-shp2(2,k)*xs2(2,1)
209 xmu(1,3,k)=-xmu(3,1,k)
210 xmu(2,1,k)=-xmu(1,2,k)
211 xmu(3,2,k)=-xmu(2,3,k)
227 xmu(i,j,k)=xmu(i,j,k)+(qxxy(i)+qxyx(i))*dxi(j,k)
228 & +(qxyy(i)+qyxy(i))*det(j,k)
238 dxmu(i,k)=xn(1)*xmu(1,i,k)+xn(2)*xmu(2,i,k)+
245 dval(i,k)=al(1)*xmu(1,i,k)+al(2)*xmu(2,i,k)+
246 & al(3)*xmu(3,i,k)-clear*dxmu(i,k)+
247 & xm(1)*dal(1,i,k)+xm(2)*dal(2,i,k)+xm(3)*dal(3,i,k)
262 fpu(i,j,k)=-c3*xm(i)*dval(j,k)
263 & +c4*(xn(i)*dxmu(j,k)-xmu(i,j,k))
270 if(elcon(8,1,imat).gt.0.d0)
then 274 xk=elcon(8,1,imat)*elcon(5,1,imat)*springarea(1)
289 dal(j,j,i)=-shp2(4,i)
301 dval(i,k)=al(1)*xmu(1,i,k)+al(2)*xmu(2,i,k)
302 & +al(3)*xmu(3,i,k)-val*dxmu(i,k)
303 & +xm(1)*dal(1,i,k)+xm(2)*dal(2,i,k)
314 & -
c1*(xn(i)*(dval(j,k)-val*dxmu(j,k))
325 fpu(i,j,k)=fpu(i,j,k)+xk*tu(i,j,k)
344 s(i1,j+(l-1)*3)=-shp2(4,k)*fpu(i,j,l)
345 & -shp2(1,k)*fnl(i)*dxi(j,l)
346 & -shp2(2,k)*fnl(i)*det(j,l)
356 if((nasym.eq.0).or.((nmethod.eq.4).and.(iperturb(1).le.1)))
then 359 s(i,j)=(s(i,j)+s(j,i))/2.d0
subroutine shape9q(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape9q.f:20
subroutine shape8q(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape8q.f:20
subroutine shape3tri(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape3tri.f:20
subroutine shape7tri(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape7tri.f:20
static double * c1
Definition: mafillvcompmain.c:30
static double * dist
Definition: radflowload.c:42
subroutine shape4q(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape4q.f:20
static double * a11
Definition: mafillkmain.c:30
static double * b1
Definition: mafillkmain.c:30
subroutine shape6tri(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape6tri.f:20
subroutine attach(pneigh, pnode, nterms, ratio, dist, xil, etl)
Definition: attach.f:20