31 2 M2 ,HS1 ,HS2 ,HM1 ,HM2 ,
32 3 FX1 ,FY1 ,FZ1 ,FX2 ,FY2 ,
33 4 FZ2 ,FX3 ,FY3 ,FZ3 ,FX4 ,
34 5 FY4 ,FZ4 ,A ,STIFN,STIF ,
35 6 NEDGE ,NIN ,JTASK,PENE ,IBM )
43#include "implicit_f.inc"
51 INTEGER JLT, NEDGE, NIN,
53 + N1(*),N2(*),M1(*),M2(*),JTASK, IBM(*)
55 . HS1(*),HS2(*),HM1(*),HM2(*),
56 . fx1(*),fy1(*),fz1(*),
57 . fx2(*),fy2(*),fz2(*),
58 . fx3(*),fy3(*),fz3(*),
59 . fx4(*),fy4(*),fz4(*),
60 . a(3,*), stifn(*), stif(*), pene(*)
68 ishift = nodfi*(jtask-1)
71 IF(pene(i)==zero) cycle
94 IF(pene(i)==zero) cycle
96 IF(cs_loc(i)<=nedge)
THEN
98 a(1,j1)=a(1,j1)+fx1(i)
99 a(2,j1)=a(2,j1)+fy1(i)
100 a(3,j1)=a(3,j1)+fz1(i)
101 stifn(j1) = stifn(j1) + stif(i)*abs(hs1(i))
104 a(1,j1)=a(1,j1)+fx2(i)
105 a(2,j1)=a(2,j1)+fy2(i)
106 a(3,j1)=a(3,j1)+fz2(i)
107 stifn(j1) = stifn(j1) + stif(i)*abs(hs2(i))
110 afie(nin)%P(1,j1+ishift)=
afie(nin)%P(1,j1+ishift)+fx1(i)
111 afie(nin)%P(2,j1+ishift)=
afie(nin)%P(2,j1+ishift)+fy1(i)
112 afie(nin)%P(3,j1+ishift)=
afie(nin)%P(3,j1+ishift)+fz1(i)
113 stnfie(nin)%P(j1+ishift) = two*
stnfie(nin)%P(j1+ishift) + stif(i)*abs(hs1(i))
116 afie(nin)%P(1,j1+ishift)=
afie(nin)%P(1,j1+ishift)+fx2(i)
117 afie(nin)%P(2,j1+ishift)=
afie(nin)%P(2,j1+ishift)+fy2(i)
118 afie(nin)%P(3,j1+ishift)=
afie(nin)%P(3,j1+ishift)+fz2(i)
119 stnfie(nin)%P(j1+ishift) = two*
stnfie(nin)%P(j1+ishift) + stif(i)*abs(hs2(i))
124 IF(pene(i)==zero) cycle
127 a(1,j1)=a(1,j1)+fx3(i)
128 a(2,j1)=a(2,j1)+fy3(i)
129 a(3,j1)=a(3,j1)+fz3(i)
130 stifn(j1) = stifn(j1) + stif(i)*abs(hm1(i))
133 a(1,j1)=a(1,j1)+fx4(i)
134 a(2,j1)=a(2,j1)+fy4(i)
135 a(3,j1)=a(3,j1)+fz4(i)
136 stifn(j1) = stifn(j1) + stif(i)*abs(hm2(i))
150 2 M2 ,HS1 ,HS2 ,HM1 ,HM2 ,
151 3 FX1 ,FY1 ,FZ1 ,FX2 ,FY2 ,
152 4 FZ2 ,FX3 ,FY3 ,FZ3 ,FX4 ,
153 5 FY4 ,FZ4 ,A ,STIFN,NEDGE ,
154 6 K1 ,K2 ,K3 ,K4 ,C1 ,
155 7 C2 ,C3 ,C4 ,VISCN,NIN ,
164#include "implicit_f.inc"
168 INTEGER JLT, NEDGE, NIN,
170 + N1(*),N2(*),M1(*),M2(*),JTASK, IBM(*)
172 . hs1(*),hs2(*),hm1(*),hm2(*),
173 . fx1(*),fy1(*),fz1(*),
174 . fx2(*),fy2(*),fz2(*),
175 . fx3(*),fy3(*),fz3(*),
176 . fx4(*),fy4(*),fz4(*),
177 . k1(*),k2(*),k3(*),k4(*),
178 . c1(*),c2(*),c3(*),c4(*),
179 . a(3,*), stifn(*), viscn(*), pene(*)
183 INTEGER I, J1,NODFI,ISHIFT
187 ishift = nodfi*(jtask-1)
190 IF(pene(i)==zero) cycle
219 IF(pene(i)==zero) cycle
221 IF(cs_loc(i)<=nedge)
THEN
223 a(1,j1)=a(1,j1)+fx1(i)
224 a(2,j1)=a(2,j1)+fy1(i)
225 a(3,j1)=a(3,j1)+fz1(i)
226 stifn(j1)=stifn(j1)+k1(i)
227 viscn(j1)=viscn(j1)+c1(i)
230 a(1,j1)=a(1,j1)+fx2(i)
231 a(2,j1)=a(2,j1)+fy2(i)
232 a(3,j1)=a(3,j1)+fz2(i)
233 stifn(j1)=stifn(j1)+k2(i)
234 viscn(j1)=viscn(j1)+c2(i)
237 afie(nin)%P(1,j1+ishift)=
afie(nin)%P(1,j1+ishift)+fx1(i)
238 afie(nin)%P(2,j1+ishift)=
afie(nin)%P(2,j1+ishift)+fy1(i)
239 afie(nin)%P(3,j1+ishift)=
afie(nin)%P(3,j1+ishift)+fz1(i)
244 afie(nin)%P(1,j1+ishift)=
afie(nin)%P(1,j1+ishift)+fx2(i)
245 afie(nin)%P(2,j1+ishift)=
afie(nin)%P(2,j1+ishift)+fy2(i)
246 afie(nin)%P(3,j1+ishift)=
afie(nin)%P(3,j1+ishift)+fz2(i)
253 IF(pene(i)==zero) cycle
256 a(1,j1)=a(1,j1)+fx3(i)
257 a(2,j1)=a(2,j1)+fy3(i)
258 a(3,j1)=a(3,j1)+fz3(i)
259 stifn(j1)=stifn(j1)+k3(i)
260 viscn(j1)=viscn(j1)+c3(i)
263 a(1,j1)=a(1,j1)+fx4(i)
264 a(2,j1)=a(2,j1)+fy4(i)
265 a(3,j1)=a(3,j1)+fz4(i)
266 stifn(j1)=stifn(j1)+k4(i)
267 viscn(j1)=viscn(j1)+c4(i)
286 2 M2 ,HS1 ,HS2 ,HM1 ,HM2 ,
287 3 FX1 ,FY1 ,FZ1 ,FX2 ,FY2 ,
288 4 FZ2 ,FX3 ,FY3 ,FZ3 ,FX4 ,
289 5 FY4 ,FZ4 ,FSKYI ,ISKY ,NISKYFIE,
290 6 STIF ,NEDGE ,NIN ,NOINT ,PENE ,
291 7 IBM ,EDGE_ID,TAGIP)
301#include "implicit_f.inc"
302#include "comlock.inc"
306#include "mvsiz_p.inc"
310#include "parit_c.inc"
314 INTEGER JLT, NEDGE,NISKYFIE,NIN,NOINT,
316 + n1(*),n2(*),m1(*),m2(*),ibm(*)
318 . hs1(*),hs2(*),hm1(*),hm2(*),
319 . fx1(*),fy1(*),fz1(*),
320 . fx2(*),fy2(*),fz2(*),
321 . fx3(*),fy3(*),fz3(*),
322 . fx4(*),fy4(*),fz4(*),
323 . fskyi(lskyi,nfskyi), stif(*), pene(*)
324 INTEGER :: EDGE_ID(2,MVSIZ)
325 INTEGER ,
INTENT(IN) :: TAGIP(MVSIZ)
329 INTEGER I, , NISKYL1, NISKYL,IGP,IGM, NISKYFIEL
334 IF (pene(i)==zero.AND.tagip(i)==0) cycle
335 IF (hm1(i)/=zero.OR.tagip(i)==1) niskyl1 = niskyl1 + 1
336 IF (hm2(i)/=zero.OR.tagip(i)==1) niskyl1 = niskyl1 + 1
337 IF ((hm1(i)/=zero.OR.tagip(i)==1).AND.ibm(i)>=0) niskyl1 = niskyl1 + 1
338 IF ((hm2(i)/=zero.OR.tagip(i)==1).AND.ibm(i)>=0) niskyl1 = niskyl1 + 1
345 IF(pene(i)==zero.AND.tagip(i)==0) cycle
346 IF(cs_loc(i)<=nedge)
THEN
348 IF(ibm(i)>=0) igp=igp+2
351 IF(ibm(i)>=0) igm=igm+1
358 nisky = nisky + niskyl1 + igp
360 niskyfie = niskyfie + igm
361#include "lockoff.inc"
365 IF (niskyl+niskyl1+igp > lskyi)
THEN
366 CALL ancmsg(msgid=26,anmode=aninfo)
369 IF (niskyfiel+igm >
nlskyfie(nin))
THEN
370 CALL ancmsg(msgid=26,anmode=aninfo)
377 IF(pene(i)==zero.AND.tagip(i)==0) cycle
380 IF(cs_loc(i)<=nedge)
THEN
382 fskyi(niskyl,1)=fx1(i)
383 fskyi(niskyl,2)=fy1(i)
384 fskyi(niskyl,3)=fz1(i)
385 fskyi(niskyl,4)=stif(i)*abs(hs1(i))
390 fskyi(niskyl,1)=fx2(i)
391 fskyi(niskyl,2)=fy2(i)
392 fskyi(niskyl,3)=fz2(i)
393 fskyi(niskyl,4)=stif(i)*abs(hs2(i))
397 WRITE(6,
"(2I20,X,A,6Z20)") edge_id(1,i),edge_id(2,i),
"A",fx1(i),fy1(i),fz1(i),fx2(i),fy2
402 fskyi(niskyl,1)=fx1(i)
403 fskyi(niskyl,2)=fy1(i)
404 fskyi(niskyl,3)=fz1(i)
405 fskyi(niskyl,4)=stif(i)*abs(hs1(i))
409 fskyi(niskyl,1)=fx2(i)
410 fskyi(niskyl,2)=fy2(i)
411 fskyi(niskyl,3)=fz2(i)
412 fskyi(niskyl,4)=stif(i)*abs(hs2(i))
417 niskyfiel = niskyfiel + 1
418 fskyfie(nin)%P(1,niskyfiel)=fx1
419 fskyfie(nin)%P(2,niskyfiel)=fy1(i)
420 fskyfie(nin)%P(3,niskyfiel)=fz1(i)
421 fskyfie(nin)%P(4,niskyfiel)=stif(i)*abs(hs1(i))
422 fskyfie(nin)%P(5,niskyfiel)=fx2(i)
423 fskyfie(nin)%P(6,niskyfiel)=fy2(i)
424 fskyfie(nin)%P(7,niskyfiel)=fz2(i)
425 fskyfie(nin)%P(8,niskyfiel)=stif(i)*abs(hs2(i))
428 WRITE(6,
"(2I20,X,A,6Z20)") edge_id(1,i),edge_id(2,i),
"A",fx1(i),fy1(i),fz1(i),fx2(i),fy2(i),fz2(i)
431 assert(cs_loc(i)-nedge > 0)
432 iskyfie(nin)%P(niskyfiel) = cs_loc(i)-nedge
437 fskyfie(nin)%P(1,niskyfiel)=fx1(i)
438 fskyfie(nin)%P(2,niskyfiel)=fy1(i)
439 fskyfie(nin)%P(3,niskyfiel)=fz1(i)
440 fskyfie(nin)%P(4,niskyfiel)=stif(i)*abs(hs1(i))
441 fskyfie(nin)%P(5,niskyfiel)=fx2(i)
442 fskyfie(nin)%P(6,niskyfiel)=fy2(i)
443 fskyfie(nin)%P(7,niskyfiel)=fz2(i)
444 fskyfie(nin)%P(8,niskyfiel)=stif(i)*abs(hs2(i))
445 assert(cs_loc(i)-nedge > 0)
446 iskyfie(nin)%P(niskyfiel) = cs_loc(i)-nedge
454 IF(pene(i)==zero.AND.tagip(i)==0) cycle
456 IF (hm1(i)/=zero.OR.tagip(i)==1)
THEN
458 fskyi(niskyl,1)=fx3(i)
459 fskyi(niskyl,2)=fy3(i)
460 fskyi(niskyl,3)=fz3(i)
461 fskyi(niskyl,4)=stif(i)*abs(hm1(i))
465 IF ((hm1(i)/=zero.OR.tagip(i)==1).AND.ibm(i)>=0)
THEN
467 fskyi(niskyl,1)=fx3(i)
468 fskyi(niskyl,2)=fy3(i)
469 fskyi(niskyl,3)=fz3(i)
470 fskyi(niskyl,4)=stif(i)*abs(hm1(i))
475 IF(pene(i)==zero.AND.tagip(i)==0) cycle
477 IF (hm2(i)/=zero.OR.tagip(i)==1)
THEN
479 fskyi(niskyl,1)=fx4(i)
480 fskyi(niskyl,2)=fy4(i)
481 fskyi(niskyl,3)=fz4(i)
482 fskyi(niskyl,4)=stif(i)*abs(hm2(i))
486 IF ((hm2(i)/=zero.OR.tagip(i)==1).AND.ibm(i)>=0)
THEN
488 fskyi(niskyl,1)=fx4(i)
489 fskyi(niskyl,2)=fy4(i)
490 fskyi(niskyl,3)=fz4(i)
491 fskyi(niskyl,4)=stif(i)*abs(hm2(i))
513 2 M2 ,HS1 ,HS2 ,HM1 ,HM2 ,
514 3 FX1 ,FY1 ,FZ1 ,FX2 ,FY2 ,
515 4 FZ2 ,FX3 ,FY3 ,FZ3 ,FX4 ,
516 5 FY4 ,FZ4 ,ISKY ,NISKYFIE,NEDGE ,
517 6 K1 ,K2 ,K3 ,K4 ,C1 ,
518 7 C2 ,C3 ,C4 ,NIN ,NOINT ,
528#include "implicit_f.inc"
529#include "comlock.inc"
533#include "mvsiz_p.inc"
537#include "parit_c.inc"
541 INTEGER JLT, NEDGE,NISKYFIE,NIN,NOINT,
543 + N1(*),N2(*),M1(*),M2(*),IBM(*)
544 INTEGER ,
INTENT(IN) :: TAGIP(MVSIZ)
546 . HS1(*),HS2(*),HM1(*),HM2(*),
547 . FX1(*),FY1(*),FZ1(*),
548 . fx2(*),fy2(*),fz2(*),
549 . fx3(*),fy3(*),fz3(*),
550 . fx4(*),fy4(*),fz4(*),
551 . k1(*),k2(*),k3(*),k4(*),
552 . c1(*),c2(*),c3(*),c4(*),
553 . fskyi(lskyi,nfskyi), pene(*)
557 INTEGER I, J1, NISKYL1, NISKYL,IGP,IGM, NISKYFIEL
561 IF(pene(i)==zero.AND.tagip(i)==0) cycle
562 IF (hm1(i)/=zero.OR.tagip(i)==1) niskyl1 = niskyl1 + 1
563 IF (hm2(i)/=zero.OR.tagip(i)==1) niskyl1 = niskyl1 + 1
564 IF ((hm1(i)/=zero.OR.tagip(i)==1).AND.ibm(i)>=0) niskyl1 = niskyl1 + 1
565 IF ((hm2(i)/=zero.OR.tagip(i)==1).AND.ibm(i)>=0) niskyl1 = niskyl1 + 1
571 IF(cs_loc(i)<=nedge)
THEN
580 nisky = nisky + niskyl1 + igp
582 niskyfie = niskyfie + igm
583#include "lockoff.inc"
585 IF (niskyl+niskyl1+igp > lskyi)
THEN
586 CALL ancmsg(msgid=26,anmode=aninfo)
589 IF (niskyfiel+igm >
nlskyfie(nin))
THEN
590 CALL ancmsg(msgid=26,anmode=aninfo)
595 IF(pene(i)==zero.AND.tagip(i)==0) cycle
597 IF(cs_loc(i)<=nedge)
THEN
599 fskyi(niskyl,1)=fx1(i)
600 fskyi(niskyl,2)=fy1(i)
601 fskyi(niskyl,3)=fz1(i)
602 fskyi(niskyl,4)=k1(i)
603 fskyi(niskyl,5)=c1(i)
607 fskyi(niskyl,1)=fx2(i)
608 fskyi(niskyl,2)=fy2(i)
609 fskyi(niskyl,3)=fz2(i)
610 fskyi(niskyl,4)=k2(i)
611 fskyi(niskyl,5)=c2(i)
615 fskyi(niskyl,1)=fx1(i)
616 fskyi(niskyl,2)=fy1(i)
617 fskyi(niskyl,3)=fz1(i)
618 fskyi(niskyl,4)=k1(i)
619 fskyi(niskyl,5)=c1(i)
623 fskyi(niskyl,1)=fx2(i)
624 fskyi(niskyl,2)=fy2(i)
625 fskyi(niskyl,3)=fz2(i)
626 fskyi(niskyl,4)=k2(i)
627 fskyi(niskyl,5)=c2(i)
631 niskyfiel = niskyfiel + 1
632 fskyfie(nin)%P(1,niskyfiel)=fx1(i)
633 fskyfie(nin)%P(2,niskyfiel)=fy1(i)
634 fskyfie(nin)%P(3,niskyfiel)=fz1(i)
635 fskyfie(nin)%P(4,niskyfiel)=k1(i)
636 fskyfie(nin)%P(5,niskyfiel)=c1(i)
637 fskyfie(nin)%P(6,niskyfiel)=fx2(i)
638 fskyfie(nin)%P(7,niskyfiel)=fy2(i)
639 fskyfie(nin)%P(8,niskyfiel)=fz2(i)
640 fskyfie(nin)%P(9,niskyfiel)=k2(i)
641 fskyfie(nin)%P(10,niskyfiel)=c2(i)
642 iskyfie(nin)%P(niskyfiel) = cs_loc(i)-nedge
645 assert(cs_loc(i)-nedge > 0)
647 niskyfiel = niskyfiel + 1
648 fskyfie(nin)%P(1,niskyfiel)=fx1(i)
649 fskyfie(nin)%P(2,niskyfiel)=fy1(i)
650 fskyfie(nin)%P(3,niskyfiel)=fz1(i)
651 fskyfie(nin)%P(4,niskyfiel)=k1(i)
652 fskyfie(nin)%P(5,niskyfiel)=c1(i)
653 fskyfie(nin)%P(6,niskyfiel)=fx2(i)
654 fskyfie(nin)%P(7,niskyfiel)=fy2(i)
655 fskyfie(nin)%P(8,niskyfiel)=fz2(i)
656 fskyfie(nin)%P(9,niskyfiel)=k2(i)
657 fskyfie(nin)%P(10,niskyfiel)=c2(i)
658 iskyfie(nin)%P(niskyfiel) = cs_loc(i)-nedge
660 assert(cs_loc(i)-nedge > 0)
666 IF(pene(i)==zero.AND.tagip(i)==0) cycle
668 IF (hm1(i)/=zero.OR.tagip(i)==1)
THEN
670 fskyi(niskyl,1)=fx3(i)
671 fskyi(niskyl,2)=fy3(i)
672 fskyi(niskyl,3)=fz3(i)
673 fskyi(niskyl,4)=k3(i)
674 fskyi(niskyl,5)=c3(i)
678 IF ((hm1(i)/=zero.OR.tagip(i)==1).AND.ibm(i)>=0)
THEN
680 fskyi(niskyl,1)=fx3(i)
681 fskyi(niskyl,2)=fy3(i)
682 fskyi(niskyl,3)=fz3(i)
683 fskyi(niskyl,4)=k3(i)
684 fskyi(niskyl,5)=c3(i)
689 IF(pene(i)==zero.AND.tagip(i)==0) cycle
691 IF (hm2(i)/=zero.OR.tagip(i)==1)
THEN
693 fskyi(niskyl,1)=fx4(i)
694 fskyi(niskyl,2)=fy4(i)
695 fskyi(niskyl,3)=fz4(i)
696 fskyi(niskyl,4)=k4(i)
697 fskyi(niskyl,5)=c4(i)
701 IF ((hm2(i)/=zero.OR.tagip(i)==1).AND.ibm(i)>=0)
THEN
703 fskyi(niskyl,1)=fx4(i)
704 fskyi(niskyl,2)=fy4(i)
705 fskyi(niskyl,3)=fz4(i)
706 fskyi(niskyl,4)=k4(i)
707 fskyi(niskyl,5)=c4(i)
subroutine i25asse05(jlt, cs_loc, n1, n2, m1, m2, hs1, hs2, hm1, hm2, fx1, fy1, fz1, fx2, fy2, fz2, fx3, fy3, fz3, fx4, fy4, fz4, a, stifn, nedge, k1, k2, k3, k4, c1, c2, c3, c4, viscn, nin, jtask, pene, ibm)
subroutine i25asse2(jlt, cs_loc, n1, n2, m1, m2, hs1, hs2, hm1, hm2, fx1, fy1, fz1, fx2, fy2, fz2, fx3, fy3, fz3, fx4, fy4, fz4, fskyi, isky, niskyfie, stif, nedge, nin, noint, pene, ibm, edge_id, tagip)
subroutine i25asse25(jlt, cs_loc, n1, n2, m1, m2, hs1, hs2, hm1, hm2, fx1, fy1, fz1, fx2, fy2, fz2, fx3, fy3, fz3, fx4, fy4, fz4, isky, niskyfie, nedge, k1, k2, k3, k4, c1, c2, c3, c4, nin, noint, pene, ibm, tagip)
subroutine i25asse0(jlt, cs_loc, n1, n2, m1, m2, hs1, hs2, hm1, hm2, fx1, fy1, fz1, fx2, fy2, fz2, fx3, fy3, fz3, fx4, fy4, fz4, a, stifn, stif, nedge, nin, jtask, pene, ibm)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)