34 2 IXSP, NOD2SP, ISPSYM, XSPSYM,
35 3 WA, WACOMP, WTEMP, WTR,
36 4 WGRADT, LFT, LLT, NFT)
44#include "implicit_f.inc"
52 INTEGER,
INTENT(INOUT) :: LFT
53 INTEGER,
INTENT(INOUT) :: LLT
54 INTEGER,
INTENT(INOUT) :: NFT
55 INTEGER KXSP(NISP,*),IXSP(KVOISPH,*),NOD2SP(*),
59 . spbuf(nspbuf,*) ,xspsym(3,*) ,
60 . wa(kwasph,*) ,wacomp(16,*),
61 . wtemp(*), wtr(*), wgradt(3,*)
65 INTEGER I,N,INOD,JNOD,J,NVOIS,M,
66 . NVOISS,SM,JS,NC,NS,NN
68 . XI,YI,ZI,DI,RHOI,XJ,YJ,ZJ,DJ,RHOJ,DIJ,
70 . alphai,alphaxi,alphayi,alphazi,
71 . betaxi,betayi,betazi,
72 . betaxxi,betayxi,betazxi,
73 . betaxyi,betayyi,betazyi,
74 . betaxzi,betayzi,betazzi,
75 . betax,wgrdx,wgrdy,wgrdz,
89 IF(kxsp(2,n)<=0)
GOTO 10
125 CALL weight1(xi,yi,zi,xj,yj,zj,dij,wght,wgrad)
127 vj=spbuf(12,m)/
max(em20,rhoj)
136 CALL weight1(xi,yi,zi,xj,yj,zj,dij,wght,wgrad)
138 vj=xsphr(8,nn)/
max(em20,rhoj)
141 wgrdx=wgrad(1)*alphai+wght*alphaxi
142 . +wgrad(1)*betaxxi+wgrad(2)*betaxyi+wgrad(3)*betaxzi
143 wgrdy=wgrad(2)*alphai+wght*alphayi
144 . +wgrad(1)*betayxi+wgrad(2)*betayyi+wgrad(3)*betayzi
145 wgrdz=wgrad(3)*alphai+wght*alphazi
146 . +wgrad(1)*betazxi+wgrad(2)*betazyi+wgrad(3)*betazzi
162 wgradt(1,n)=wgradt(1,n)+vj*(tj-ti)*wgrad(1)
163 wgradt(2,n)=wgradt(2,n)+vj*(tj-ti)*wgrad(2)
164 wgradt(3,n)=wgradt(3,n)+vj*(tj-ti)*wgrad(3)
170 DO j=kxsp(5,n)+1,kxsp(5,n)+nvoiss
182 CALL weight1(xi,yi,zi,xj,yj,zj,dij,wght,wgrad)
184 vj=spbuf(12,sm)/
max(em20,rhoj)
188 nc=mod(-js,nspcond+1)
196 CALL weight1(xi,yi,zi,xj,yj,zj,dij,wght,wgrad)
198 vj=xsphr(8,sm)/
max(em20,rhoj)
202 wgrdx=wgrad(1)*alphai+wght*alphaxi
203 . +wgrad(1)*betaxxi+wgrad(2)*betaxyi+wgrad(3)*betaxzi
204 wgrdy=wgrad(2)*alphai+wght*alphayi
205 . +wgrad(1)*betayxi+wgrad(2)*betayyi+wgrad(3)*betayzi
206 wgrdz=wgrad(3)*alphai+wght*alphazi
207 . +wgrad(1)*betazxi+wgrad(2)*betazyi+wgrad(3)*betazzi
223 wgradt(1,n)=wgradt(1,n)+vj*(tj-ti)*wgrad(1)
224 wgradt(2,n)=wgradt(2,n)+vj*(tj-ti)*wgrad(2)
242 1 X, MS, SPBUF, KXSP,
243 2 IXSP, NOD2SP, ISPSYM, XSPSYM,
244 3 WA, WACOMP, WGRADT, WGR,
245 4 WGRADTSM,WLAPLT, WSMCOMP, LAMBDA,
246 5 LAMBDR, LFT, LLT, NFT)
254#include "implicit_f.inc"
262 INTEGER,
INTENT(INOUT) :: LFT
263 INTEGER,
INTENT(INOUT) :: LLT
264 INTEGER,
INTENT(INOUT) :: NFT
265 INTEGER KXSP(NISP,*),IXSP(KVOISPH,*),NOD2SP(*),
269 . SPBUF(NSPBUF,*) ,XSPSYM(3,*) ,
270 . WA(KWASPH,*) ,WACOMP(16,*),
271 . wgradt(3,*),wgr(3,*),wgradtsm(3,*),
272 . wlaplt(*),wsmcomp(6,*),lambda(*),lambdr(*)
276 INTEGER I,N,INOD,JNOD,J,NVOIS,M,
277 . NVOISS,SM,JS,NC,NS,NN
279 . XI,YI,ZI,DI,RHOI,XJ,YJ,ZJ,DJ,RHOJ,DIJ,
281 . ALPHAI,ALPHAXI,ALPHAYI,ALPHAZI,
283 . BETAXXI,BETAYXI,BETAZXI,
285 . betaxzi,betayzi,betazzi,
286 . alphaj,alphaxj,alphayj,alphazj,
287 . betaxj,betayj,betazj,
288 . betaxxj,betayxj,betazxj,
289 . betaxyj,betayyj,betazyj,
290 . betaxzj,betayzj,betazzj,
291 . betax,wgrdx,wgrdy,wgrdz,wgrd(3),
292 . gradtxi,gradtyi,gradtzi,
293 . gradtxj,gradtyj,gradtzj
304 IF(kxsp(2,n)<=0)
GOTO 10
342 CALL weight1(xi,yi,zi,xj,yj,zj,dij,wght,wgrad)
344 vj=spbuf(12,m)/
max(em20,rhoj)
351 wgrad(1)=wgrdx*alphai+wght*alphaxi
352 . +wgrdx*betaxxi+wgrdy*betaxyi+wgrdz*betaxzi
353 wgrad(2)=wgrdy*alphai+wght*alphayi
354 . +wgrdx*betayxi+wgrdy*betayyi+wgrdz*betayzi
355 wgrad(3)=wgrdz*alphai+wght*alphazi
356 . +wgrdx*betazxi+wgrdy*betazyi+wgrdz*betazzi
364! . (betaxyi*(xi-xj)+betayyi*(yi-yj)+betazyi*(zi-zj)+betayi))
387 wgrd(1)=-wgrdx*alphaj+wght*alphaxj
388 . -wgrdx*betaxxj-wgrdy*betaxyj-wgrdz*betaxzj
389 wgrd(2)=-wgrdy*alphaj+wght*alphayj
390 . -wgrdx*betayxj-wgrdy*betayyj-wgrdz*betayzj
391 wgrd(3)=-wgrdz*alphaj+wght*alphazj
392 . -wgrdx*betazxj-wgrdy*betazyj-wgrdz*betazzj
405 wlaplt(n)=wlaplt(n)+vj*(
406 . -lambda(m)*(gradtxj*wgrd(1)+gradtyj*wgrd(2)+gradtzj*wgrd(3))
407 . +lambda(n)*(gradtxi*wgrad(1)+gradtyi*wgrad(2)+gradtzi*wgrad(3)))
416 CALL weight1(xi,yi,zi,xj,yj,zj,dij,wght,wgrad)
418 vj=xsphr(8,nn)/
max(em20,rhoj)
425 wgrad(1)=wgrdx*alphai+wght*alphaxi
426 . +wgrdx*betaxxi+wgrdy*betaxyi+wgrdz*betaxzi
427 wgrad(2)=wgrdy*alphai+wght*alphayi
428 . +wgrdx*betayxi+wgrdy*betayyi+wgrdz*betayzi
429 wgrad(3)=wgrdz*alphai+wght*alphazi
430 . +wgrdx*betazxi+wgrdy*betazyi+wgrdz*betazzi
448 alphaxj=wacompr( 5,nn)
449 alphayj=wacompr( 6,nn)
450 alphazj=wacompr( 7,nn)
451 betaxxj=wacompr( 8,nn)
452 betayxj=wacompr( 9,nn)
453 betazxj=wacompr(10,nn)
454 betaxyj=wacompr(11,nn)
455 betayyj=wacompr(12,nn)
456 betazyj=wacompr(13,nn)
457 betaxzj=wacompr(14,nn)
458 betayzj=wacompr(15,nn)
459 betazzj=wacompr(16,nn)
461 wgrd(1)=-wgrdx*alphaj+wght*alphaxj
462 . -wgrdx*betaxxj-wgrdy*betaxyj-wgrdz*betaxzj
463 wgrd(2)=-wgrdy*alphaj+wght*alphayj
464 . -wgrdx*betayxj-wgrdy*betayyj-wgrdz*betayzj
465 wgrd(3)=-wgrdz*alphaj+wght*alphazj
466 . -wgrdx*betazxj-wgrdy*betazyj-wgrdz*betazzj
479 wlaplt(n)=wlaplt(n)+vj*(
480 . -lambdr(nn)*(gradtxj*wgrd(1)+gradtyj*wgrd(2)+gradtzj*wgrd(3))
481 . +lambda(n)*(gradtxi*wgrad(1)+gradtyi*wgrad(2)+gradtzi*wgrad(3)))
488 DO j=kxsp(5,n)+1,kxsp(5,n)+nvoiss
500 CALL weight1(xi,yi,zi,xj,yj,zj,dij,wght,wgrad)
502 vj=spbuf(12,sm)/
max(em20,rhoj)
503 gradtxj=wgradtsm(1,js)
504 gradtyj=wgradtsm(2,js)
505 gradtzj=wgradtsm(3,js)
509 wgrad(1)=wgrdx*alphai+wght*alphaxi
510 . +wgrdx*betaxxi+wgrdy*betaxyi+wgrdz*betaxzi
511 wgrad(2)=wgrdy*alphai+wght*alphayi
512 . +wgrdx*betayxi+wgrdy*betayyi+wgrdz*betayzi
513 wgrad(3)=wgrdz*alphai+wght*alphazi
514 . +wgrdx*betazxi+wgrdy*betazyi+wgrdz*betazzi
525! . (betaxzi*(xi-xj)+betayzi*(yi-yj
532 alphaxj=wsmcomp( 4,js)
533 alphayj=wsmcomp( 5,js)
534 alphazj=wsmcomp( 6,js)
535 betaxxj=wacomp( 8,sm)
536 betayxj=wacomp( 9,sm)
537 betazxj=wacomp(10,sm)
538 betaxyj=wacomp(11,sm)
539 betayyj=wacomp(12,sm)
540 betazyj=wacomp(13,sm)
541 betaxzj=wacomp(14,sm)
542 betayzj=wacomp(15,sm)
543 betazzj=wacomp(16,sm)
545 wgrd(1)=-wgrdx*alphaj+wght*alphaxj
546 . -wgrdx*betaxxj-wgrdy*betaxyj-wgrdz*betaxzj
547 wgrd(2)=-wgrdy*alphaj+wght*alphayj
548 . -wgrdx*betayxj-wgrdy*betayyj-wgrdz*betayzj
549 wgrd(3)=-wgrdz*alphaj+wght*alphazj
550 . -wgrdx*betazxj-wgrdy*betazyj-wgrdz*betazzj
553! wgrd(1)=-wgrdx*alphaj*betax
563 wlaplt(n)=wlaplt(n)+vj*(
564 . -lambda(sm)*(gradtxj*wgrd(1)+gradtyj*wgrd(2)+gradtzj*wgrd(3))
565 . +lambda(n)*(gradtxi*wgrad(1)+gradtyi*wgrad(2)+gradtzi*wgrad(3)))
568 nc=mod(-js,nspcond+1)
576 CALL weight1(xi,yi,zi,xj,yj,zj,dij,wght,wgrad)
578 vj=xsphr(8,sm)/
max(em20,rhoj)
579 gradtxj=wgradtsm(1,js)
580 gradtyj=wgradtsm(2,js)
581 gradtzj=wgradtsm(3,js)
586 wgrad(1)=wgrdx*alphai+wght*alphaxi
587 . +wgrdx*betaxxi+wgrdy*betaxyi+wgrdz*betaxzi
588 wgrad(2)=wgrdy*alphai+wght*alphayi
589 . +wgrdx*betayxi+wgrdy*betayyi+wgrdz*betayzi
590 wgrad(3)=wgrdz*alphai+wght*alphazi
591 . +wgrdx*betazxi+wgrdy*betazyi+wgrdz*betazzi
609 alphaxj=wsmcomp( 4,js)
610 alphayj=wsmcomp( 5,js)
611 alphazj=wsmcomp( 6,js)
612 betaxxj=wacompr( 8,sm)
613 betayxj=wacompr( 9,sm)
614 betazxj=wacompr(10,sm)
615 betaxyj=wacompr(11,sm)
616 betayyj=wacompr(12,sm)
617 betazyj=wacompr(13,sm)
618 betaxzj=wacompr(14,sm)
619 betayzj=wacompr(15,sm)
620 betazzj=wacompr(16,sm)
622 wgrd(1)=-wgrdx*alphaj+wght*alphaxj
623 . -wgrdx*betaxxj-wgrdy*betaxyj-wgrdz*betaxzj
624 wgrd(2)=-wgrdy*alphaj+wght*alphayj
625 . -wgrdx*betayxj-wgrdy*betayyj-wgrdz*betayzj
626 wgrd(3)=-wgrdz*alphaj+wght*alphazj
627 . -wgrdx*betazxj-wgrdy*betazyj-wgrdz*betazzj
640 wlaplt(n)=wlaplt(n)+vj*(
641 . -lambdr(sm)*(gradtxj*wgrd(1)+gradtyj*wgrd(2)+gradtzj*wgrd(3))
642 . +lambda(n)*(gradtxi*wgrad(1)+gradtyi*wgrad(2)+gradtzi*wgrad(3)))