27!||--- calls -----------------------------------------------------
35 SUBROUTINE rbe2t1(IRBE2 ,LRBE2 ,X ,A ,AR ,
36 1 MS ,IN ,SKEW ,WEIGHT ,IAD_RBE2,
37 2 FR_RBE2M,NMRBE2,STIFN ,STIFR ,R2SIZE)
41#include "implicit_f.inc"
51 INTEGER IRBE2(NRBE2L,*),LRBE2(*),WEIGHT(*),IAD_RBE2(*),
52 . FR_RBE2M(*) ,NMRBE2,R2SIZE
55 . stifn(*) ,stifr(*),x(3,*), a(3,*), ar(3,*),
56 . ms(*), in(*), skew(lskew,*)
60 INTEGER I, J, N, JT(3,NRBE2),JR(3,NRBE2),IERR,IAD,
61 . NS,NML,ICOM,ISK,M,K,ID,NSN,MID,IROT,NHI,IRAD
64 . frbe2m6(3,6,nmrbe2),mrbe2m6(3,6,nmrbe2),
65 . strbe2m6(6,nmrbe2),srrbe2m6(6,nmrbe2)
68 icom = iad_rbe2(nspmd+1)-iad_rbe2(1)
86 IF (irbe2(9,n)/=nhi) cycle
91 mid = iabs(irbe2(6,n))
95 CALL rbe2fl(nsn ,lrbe2(iad+1),x ,a ,ar ,
96 1 ms ,in ,weight,jt(1,n),jr(1,n),
97 2 frbe2m6(1,1,mid),mrbe2m6(1,1,mid),stifn ,stifr,
98 3 strbe2m6(1,mid),srrbe2m6(1,mid),m ,skew(1,isk),
101 CALL rbe2f(nsn ,lrbe2(iad+1),x ,a ,ar ,
102 1 ms ,in ,weight,jt(1,n),jr(1,n),
103 2 frbe2m6(1,1,mid),mrbe2m6(1,1,mid),stifn ,stifr,
104 3 strbe2m6(1,mid),srrbe2m6(1,mid),m ,irad )
110 . frbe2m6 ,mrbe2m6 ,strbe2m6 ,srrbe2m6 ,iad_rbe2,
111 . fr_rbe2m,iad_rbe2(nspmd+1),r2size)
116 CALL rbe2_s(irbe2 ,a ,ar ,ms ,in ,
117 1 stifn ,stifr ,weight ,frbe2m6,mrbe2m6,
118 2 strbe2m6,srrbe2m6,jr ,nmrbe2 ,nhi )
131 SUBROUTINE rbe2f(NSL ,ISL ,X ,A ,AR ,
132 1 MS ,IN ,WEIGHT,JT ,JR ,
133 2 F6 ,M6 ,STIFN ,STIFR ,STIF6 ,
138#include "implicit_f.inc"
142 INTEGER NSL,ISL(*),WEIGHT(*),JT(3),JR(3),M,IRAD
145 . X(3,*), A(3,*), AR(3,*), MS(*), IN(*) ,STIFN(*) ,STIFR(*)
147 . f6(3,6), m6(3,6),stif6(6), stir6(6)
151 INTEGER I, J, N, NS ,JTW(3),JRW(3),K,IJT,IJR
154 . RX, RY, RZ,AS(3,NSL),STIS(NSL),DD,FX,FY,FZ
156 . as6(6,3,nsl),stis6(6,nsl)
158 IF ((jt(1)+jt(2)+jt(3))>0)
THEN
163 IF ((jr(1)+jr(2)+jr(3))>0)
THEN
171 jtw(j) = jt(j)*weight(ns)
172 as(j,i) = a(j,ns)*jtw(j)
174 stis(i) = stifn(ns)*ijt*weight(ns)
181 f6(1,k) = f6(1,k) + as6(k,1,i)
182 f6(2,k) = f6(2,k) + as6(k,2,i)
183 f6(3,k) = f6(3,k) + as6(k,3,i)
184 stif6(k) = stif6(k) + stis6(k,i)
192 jrw(j) = jr(j)*weight(ns)
193 jtw(j) = jt(j)*weight(ns)
195 rx = x(1,ns) - x(1,m)
196 ry = x(2,ns) - x(2,m)
197 rz = x(3,ns) - x(3,m)
201 as(1,i) = ar(1,ns)*jrw(1)+ ry*fz-rz*fy
202 as(2,i) = ar(2,ns)*jrw(2)+ rz*fx-rx*fz
203 as(3,i) = ar(3,ns)*jrw(3)+ rx*fy-ry*fx
204 dd = rx*rx+ry*ry+rz*rz
205 stis(i) = (stifr(ns)*ijr+stifn(ns)*dd*ijt)*weight(ns)
212 m6(1,k) = m6(1,k)+as6
213 m6(2,k) = m6(2,k)+as6(k,2,i)
214 m6(3,k) = m6(3,k)+as6(k,3,i)
215 stir6(k) = stir6(k) + stis6(k,i)
218 ELSEIF ((jr(1)+jr(2
THEN
222 jrw(j) = jr(j)*weight(ns)
224 rx = x(1,ns) - x(1,m)
225 ry = x(2,ns) - x(2,m)
226 rz = x(3,ns) - x(3,m)
227 as(1,i) = (ar(1,ns)+(ry*a(3,ns)-rz*a(2,ns)))*jrw(1)
228 as(2,i) = (ar(2,ns)+(rz*a(1,ns)-rx*a(3,ns)))*jrw(2)
229 as(3,i) = (ar(3,ns)+(rx*a(2,ns)-ry*a(1,ns)))*jrw(3)
230 dd = rx*rx+ry*ry+rz*rz
231 stis(i) = (stifr(ns)*ijr+stifn(ns)*dd*ijt)*weight(ns)
238 m6(1,k) = m6(1,k)+as6(k,1,i)
239 m6(2,k) = m6(2,k)+as6(k,2,i)
240 m6(3,k) = m6(3,k)+as6(k,3,i)
241 stir6(k) = stir6(k) + stis6(k,i)
250 IF(jt(j)/=0)a(j,ns)=zero
253 IF ((jt(1)+jt(2)+jt(3))==3)stifn(ns)=em20
260 IF(jr(j)/=0)ar(j,ns)=zero
262 IF ((jr(1)+jr(2)+jr(3))==3) stifr(ns)=em20
279 1 MS ,IN ,WEIGHT,JT ,JR ,
280 2 F6 ,M6 ,STIFN ,STIFR ,STIF6 ,
281 3 STIR6 ,M ,SKEW ,IRAD )
285#include "implicit_f.inc"
289 INTEGER NSL,ISL(*),WEIGHT(*),JT(3),JR(3),M,IRAD
292 . (3,*), A(3,*), AR(3,*), MS(*),IN(*),SKEW(*),STIFN(*),STIFR(*)
294 . F6(3,6), M6(3,6),STIF6(6), STIR6(6)
298 INTEGER I, J, NS ,K,IC,JT1(3),JR1(3),IJT,IJR,JJ
301 . rx, ry, rz,as(3,nsl),aar(3),larm(3),las(3,nsl),
302 . stis(nsl),dd,cdt(9),cdr(9),cdtr(9),aa
304 . as6(6,3,nsl),stis6(6,nsl)
306 ic = jt(1)*100+jt(2)*10+jt(3)
307 CALL cdi_bcn(ic ,skew ,jt ,cdt ,jt1 )
308 IF ((jt(1)+jt(2)+jt(3))>0)
THEN
313 IF ((jr(1)+jr(2)+jr(3))>0)
THEN
320 rx = a(1,ns)*weight(ns)
321 ry = a(2,ns)*weight(ns)
322 rz = a(3,ns)*weight(ns)
323 as(1,i) = cdt(1)*rx+cdt(2)*ry+cdt(3)*rz
324 as(2,i) = cdt(4)*rx+cdt(5)*ry+cdt(6)*rz
325 as(3,i) = cdt(7)*rx+cdt(8)*ry+cdt(9)*rz
329 stis(i) = stifn(ns)*ijt*weight(ns)
336 f6(1,k) = f6(1,k) + as6(k,1,i)
337 f6(2,k) = f6(2,k) + as6(k,2,i)
338 f6(3,k) = f6(3,k) + as6(k,3,i)
339 stif6(k) = stif6(k) + stis6(k,i)
343 IF (ic>0.AND.ic<111)
THEN
344 CALL rbe2flsn(nsl ,isl ,a ,weight ,ic ,
348 IF (irad==0.OR.(jr(1)+jr(2)+jr(3))>0)
THEN
349 ic = jr(1)*100+jr(2)*10+jr(3)
350 CALL cdi_bcn(ic ,skew ,jr ,cdr ,jr1 )
354 ry = x(2,ns) - x(2,m)
355 rz = x(3,ns) - x(3,m)
356 CALL cdi_bcn1(rx,ry,rz,jt,jr,skew,cdtr,irad)
357 dd = rx*rx+ry*ry+rz*rz
359 aar(1) = cdtr(1)*las(1,i)+cdtr(2)*las(2,i)+cdtr(3)*las(3,i)
360 aar(2) = cdtr(4)*las(1,i)+cdtr(5)*las(2,i)+cdtr(6)*las(3,i)
361 aar(3) = cdtr(7)*las(1,i)+cdtr(8)*las(2,i)+cdtr(9)*las
362 rx = ar(1,ns)*weight(ns)
364 rz = ar(3,ns)*weight(ns)
365 as(1,i)= aar(1)+cdr(1)*rx+cdr
366 as(2,i)= aar(2)+cdr(4)*rx+cdr(5)*ry+cdr(6)*rz
367 as(3,i)= aar(3)+cdr(7)*rx+cdr(8)*ry+cdr(9)*rz
368 stis(i) = (stifr(ns)*ijr+stifn(ns)*dd)*weight(ns)
375 m6(1,k) = m6(1,k)+as6(k,1,i)
376 m6(2,k) = m6(2,k)+as6(k,2,i)
377 m6(3,k) = m6(3,k)+as6(k,3,i)
378 stir6(k) = stir6(k) + stis6(k,i)
381 IF (ic>0.AND.ic<111)
THEN
382 CALL rbe2flsn(nsl ,isl ,ar ,weight ,ic ,
393 aa=a(1,ns)*cdt(jj+1)+a(2,ns)*cdt(jj+2)+a(3,ns)*cdt(jj+3)
394 a(1,ns)=a(1,ns)-aa*cdt(jj+1)
395 a(2,ns)=a(2,ns)-aa*cdt(jj+2)
396 a(3,ns)=a(3,ns)-aa*cdt(jj+3)
399 IF ((jt(1)+jt(2)+jt(3))==3)stifn(ns)=em20
408 aa=ar(1,ns)*cdr(jj+1)+ar(2,ns)*cdr(jj+2)+ar(3,ns)*cdr(jj+3)
409 ar(1,ns)=ar(1,ns)-aa*cdr(jj+1)
410 ar(2,ns)=ar(2,ns)-aa*cdr(jj+2)
411 ar(3,ns)=ar(3,ns)-aa*cdr(jj+3)
414 IF ((jr(1)+jr(2)+jr(3))==3) stifr(ns)=em20
424 1 STIFN ,STIFR ,WEIGHT,JR ,IH )
428#include
"implicit_f.inc"
432#include "com04_c.inc"
433#include "param_c.inc"
437 INTEGER IRBE2(NRBE2L,*),WEIGHT(*),JR(3,*),IH
440 . A(3,*), (3,*), MS(*), IN(*) ,STIFN(*) ,STIFR(*)
444 INTEGER I, K, N, NS ,NML, IAD,JJ,,M
447#include "vectorize.inc"
449 IF (irbe2(9,n)/=ih) cycle
452 a(2,m) = a(2,m)*weight(m)
453 a(3,m) = a(3,m)*weight(m)
454 stifn(m) = stifn(m)*weight(m)
455 irot = jr(1,n)+jr(2,n)+jr(3,n)
457 ar(1,m) = ar(1,m)*weight(m)
458 ar(2,m) = ar(2,m)*weight(m)
459 ar(3,m) = ar(3,m)*weight(m)
460 stifr(m) = stifr(m)*weight(m)
472 1 STIFN ,STIFR ,WEIGHT,F6 ,M6 ,
473 2 ST6 ,SR6 ,JR ,NMRBE2,IH )
477#include "implicit_f.inc"
481#include "com04_c.inc"
482#include "param_c.inc"
486 INTEGER IRBE2(NRBE2L,*),WEIGHT(*),NMRBE2,JR(3,*),IH
489 . A(3,*), AR(3,*), MS(*), IN(*) ,STIFN(*) ,STIFR(*)
491 . F6(3,6,*), M6(3,6,*) ,ST6(6,*) ,SR6(6,*)
495 INTEGER I, K, N, NS ,NML, IAD,JJ,M,MID,IROT,IRAD
498#include "vectorize.inc"
500 IF (ih/=irbe2(9,n)) cycle
505 irot = jr(1,n)+jr(2,n)+jr(3,n)
507 a(1,m) = a(1,m)+ f6(1,k,mid)
508 a(2,m) = a(2,m)+ f6(2,k,mid)
509 a(3,m) = a(3,m)+ f6(3,k,mid)
510 stifn(m) = stifn(m)+st6(k,mid)
512 IF (irot>0.OR.irad==0)
THEN
514 ar(1,m) = ar(1,m)+ m6(1,k,mid)
515 ar(2,m) = ar(2,m)+ m6(2,k,mid)
516 ar(3,m) = ar(3,m)+ m6(3,k,mid)
517 stifr(m) = stifr(m)+sr6(k,mid)
545#include "implicit_f.inc"
549#include "com01_c.inc"
550#include "com04_c.inc"
551#include "param_c.inc"
555 INTEGER IRBE2(NRBE2L,*),JT(3,*) ,JR(3,*)
560 INTEGER I, J, N,NML,IC,ICT,ICR,IROT
565 icr=(ic-512*(ict))/64
566 IF (iroddl==0) icr =0
621!||====================================================================
622 SUBROUTINE rbe2_init(IRBE2 ,LRBE2,NMRBE2,FR_RBE2,FR_RBE2M,NFR)
626#include "implicit_f.inc"
630#include "com04_c.inc"
631#include "param_c.inc"
635 INTEGER IRBE2(NRBE2L,*),LRBE2(*),NMRBE2,FR_RBE2(*),FR_RBE2M(*),NFR
640 INTEGER I, J, M,N,ITAG(NUMNOD),IAD,IH(NRBE2),NSL,NS,NIH
673 ih(nmrbe2) = irbe2(9,n)
678 IF (irbe2(9,n)==nih)
THEN
679 irbe2(6,n) = -itag(m)
682 ih(itag(m)) = irbe2(9,n)
703!||====================================================================
705 1 JR ,X ,ISK ,SKEW0 ,IRAD )
709#include "implicit_f.inc"
713#include "param_c.inc"
717 INTEGER NS , M,JT(*),JR(*),ISK,IRAD
720 . A(3,*), AR(3,*), SKEW0(*),X(3,*)
724 INTEGER I, J, N,K,JT1(3),JR1(3),IC
727 . RX,RY,RZ,FX,FY,FZ, SKEW(LSKEW),CDT(9),CDR(9),CDTR(9),AAR(3)
741 ic = jt(1)*100+jt(2)*10+jt(3)
742 CALL cdi_bcn(ic ,skew ,jt ,cdt ,jt1 )
743 a(1,m) = a(1,m)+cdt(1)*a(1,ns)+cdt(2)*a(2,ns)+cdt(3)*a(3,ns)
744 a(2,m) = a(2,m)+cdt(4)*a(1,ns)+cdt(5)*a(2,ns)+cdt(6)*a(3,ns)
745 a(3,m) = a(3,m)+cdt(7)*a(1,ns)+cdt(8)*a(2,ns)+cdt(9)*a(3,ns)
747 IF (ic>0.AND.ic<111)
THEN
753 CALL cdi_bcn(ic ,skew ,jr ,cdr ,jr1 )
755 ry = x(2,ns) - x(2,m)
756 rz = x(3,ns) - x(3,m)
757 CALL cdi_bcn1(rx,ry,rz,jt,jr,skew,cdtr,irad)
759 aar(1) = cdtr(1)*a(1,ns)+cdtr(2)*a(2,ns)+cdtr(3)*a(3,ns)
760 aar(2) = cdtr(4)*a(1,ns)+cdtr(5)*a(2,ns)+cdtr(6)*a(3,ns)
761 aar(3) = cdtr(7)*a(1,ns)+cdtr(8)*a(2,ns)+cdtr(9)*a(3,ns)
763 . aar(1)+cdr(1)*ar(1,ns)+cdr(2)*ar(2,ns)+cdr(3)*ar(3,ns)
765 . aar(2)+cdr(4)*ar(1,ns)+cdr(5)*ar(2,ns)+cdr(6)*ar(3,ns)
767 . aar(3)+cdr(7)*ar(1,ns)+cdr(8)*ar(2,ns)+cdr(9)*ar(3,ns)
768 IF (ic>0.AND.ic<111)
THEN
788#include "implicit_f.inc"
800 . EJ(3),EJ1(3),S,EA,EB
839 ej1(1)=skew(4)/skew(3+j1)
840 ej1(2)=skew(5)/skew(3+j1)
841 ej1(3)=skew(6)/skew(3+j1)
844 s=one/(one-ej(j1)*ej1(j))
845 ea=s*(ej(j1)*ej1(k)-ej(k))
846 eb=s*(ej1(j)*ej(k)-ej1(k))
860 ej1(1)=skew(1)/skew(j1)
861 ej1(2)=skew(2)/skew(j1)
862 ej1(3)=skew(3)/skew(j1)
865 s=one/(one-ej(j1)*ej1(j))
866 ea=s*(ej(j1)*ej1(k)-ej(k))
867 eb=s*(ej1(j)*ej(k)-ej1(k))
881 ej1(1)=skew(1)/skew(j1)
882 ej1(2)=skew(2)/skew(j1)
883 ej1(3)=skew(3)/skew(j1)
886 s=one/(one-ej(j1)*ej1(j))
887 ea=s*(ej(j1)*ej1(k)-ej(k))
888 eb=s*(ej1(j)*ej(k)-ej1(k))
893 IF (weight(ns)==0) cycle
895 IF (ict == 100 )
THEN
896 a(j1,ns) = a(j1,ns)-ej(j1)*a(j,ns)
897 a(k,ns) = a(k,ns)-ej(k)*a(j,ns)
899 ELSEIF (ict == 10)
THEN
900 a(j1,ns) = a(j1,ns)-ej(j1)*a(j,ns)
901 a(k,ns) = a(k,ns)-ej(k)*a(j,ns)
903 ELSEIF (ict == 1)
THEN
904 a(j1,ns) = a(j1,ns)-ej(j1)*a(j,ns)
905 a(k,ns) = a(k,ns)-ej(k)*a(j,ns)
907 ELSEIF (ict == 11)
THEN
908 a(k,ns)=a(k,ns)+ea*a(j,ns)+eb*a(j1,ns)
910 ELSEIF (ict == 101)
THEN
911 a(k,ns)=a(k,ns)+ea*a(j,ns)+eb*a(j1,ns)
913 ELSEIF (ict == 110 )
THEN
914 a(k,ns)=a(k,ns)+ea*a(j,ns)+eb*a(j1,ns)
932#include "implicit_f.inc"
944 . EJ(3),EJ1(3),S,EA,EB
954 a(j1,ns) = a(j1,ns)-ej(j1)*a(j,ns)
955 a(k,ns) = a(k,ns)-ej(k)*a(j,ns)
964 a(j1,ns) = a(j1,ns)-ej(j1)*a(j,ns)
965 a(k,ns) = a(k,ns)-ej(k)*a(j,ns)
974 a(j1,ns) = a(j1,ns)-ej(j1)*a(j,ns)
975 a(k,ns) = a(k,ns)-ej(k)*a(j,ns)
989 ej1(1)=skew(4)/skew(3+j1)
990 ej1(2)=skew(5)/skew(3+j1)
991 ej1(3)=skew(6)/skew(3+j1)
994 s=one/(one-ej(j1)*ej1(j))
995 ea=s*(ej(j1)*ej1(k)-ej(k))
996 eb=s*(ej1(j)*ej(k)-ej1(k))
997 a(k,ns)=a(k,ns)+ea*a(j,ns)+eb*a(j1,ns)
1011 ej1(1)=skew(1)/skew(j1)
1012 ej1(2)=skew(2)/skew(j1)
1013 ej1(3)=skew(3)/skew(j1)
1016 s=one/(one-ej(j1)*ej1(j))
1017 ea=s*(ej(j1)*ej1(k)-ej(k))
1018 eb=s*(ej1(j)*ej(k)-ej1(k))
1019 a(k,ns)=a(k,ns)+ea*a(j,ns)+eb*a(j1,ns)
1033 ej1(1)=skew(1)/skew(j1)
1034 ej1(2)=skew(2)/skew(j1)
1035 ej1(3)=skew(3)/skew(j1)
1038 s=one/(one-ej(j1)*ej1(j))
1039 ea=s*(ej(j1)*ej1(k)-ej(k))
1040 eb=s*(ej1(j)*ej(k)-ej1(k))
1041 a(k,ns)=a(k,ns)+ea*a(j,ns)+eb*a(j1,ns)
1062#include "implicit_f.inc"
1066 INTEGER IC,JT(3) ,JR(3)
1070 INTEGER I, J, NML,ICT,ICR
1074 icr=(ic-512*(ict))/64
if(complex_arithmetic) id
subroutine upd_fr(a, ar, x, ipari, intbuf_tab, ndof, ibfv, skew, xframe, irbe3, lrbe3, irbe2, lrbe2)
subroutine diag_int(nsl, ndof, ipari, intbuf_tab, kss, x, ibfv, skew, xframe, irbe3, lrbe3, irbe2, lrbe2)
subroutine imp_fri(num_imp, ns_imp, ne_imp, ipari, intbuf_tab, npby, lpby, itab, nrbyac, irbyac, nint2, iint2, iddl, ikc, ndof, inloc, nsrem, nsl, nbintc, intlist, x, ibfv, lj, skew, xframe, iskew, icodt, a, ud, lb, ifdis, nddl, urd, iddli, irbe3, lrbe3, frbe3, irbe2, lrbe2)
subroutine foat_to_6_float(jft, jlt, f, f6)
subroutine cdi_bcn1(xs, ys, zs, jt, jr, skew, ktr, irad)
subroutine rbe2_imp0(irbe2, lrbe2, x, nsrb2, isb2, ikc, ndof, iddl, iadk, jdik, diag_k, lt_k, b, weight, itab, skew)
subroutine cdi_bcn(ict, skew, jt, kt, jt1)
subroutine rbe2_init(irbe2, lrbe2, nmrbe2, fr_rbe2, fr_rbe2m, nfr)
subroutine rbe2t1(irbe2, lrbe2, x, a, ar, ms, in, skew, weight, iad_rbe2, fr_rbe2m, nmrbe2, stifn, stifr, r2size)
subroutine rbe2flsnfr(ns, a, ict, skew)
subroutine prerbe2fr(ic, jt, jr)
subroutine rbe2frf(ns, m, a, ar, jt, jr, x, isk, skew0, irad)
subroutine rbe2_s(irbe2, a, ar, ms, in, stifn, stifr, weight, f6, m6, st6, sr6, jr, nmrbe2, ih)
subroutine rbe2_poff(irbe2, a, ar, ms, in, stifn, stifr, weight, jr, ih)
subroutine prerbe2(irbe2, jt, jr)
subroutine rbe2fl(nsl, isl, x, a, ar, ms, in, weight, jt, jr, f6, m6, stifn, stifr, stif6, stir6, m, skew, irad)
subroutine rbe2f(nsl, isl, x, a, ar, ms, in, weight, jt, jr, f6, m6, stifn, stifr, stif6, stir6, m, irad)
subroutine rbe2flsn(nsl, isl, a, weight, ict, skew)
subroutine dir_rbe2(j, j1, k)
subroutine spmd_exch_rbe2_pon(a, ar, stifn, stifr, iad_m, fr_m, lcomm, isize)