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 J, N, JT(3,NRBE2),JR(3,NRBE2),IAD,
61 . ICOM,ISK,,K,NSN,MID,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, 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(k,1,i)
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)+jr(3))>0)
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 . X(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),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 )
353 rx = x(1,ns) - x(1,m)
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(3,i)
362 rx = ar(1,ns)*weight(ns)
363 ry = ar(2,ns)*weight(ns)
364 rz = ar(3,ns)*weight(ns)
365 as(1,i)= aar(1)+cdr(1)*rx+cdr(2)*ry+cdr(3)*rz
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,*), AR(3,*), MS(*), IN(*) ,STIFN(*) ,STIFR(*)
447#include "vectorize.inc"
449 IF (irbe2(9,n)/=ih) cycle
451 a(1,m) = a(1,m)*weight(m)
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 K, N ,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)
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 K,(3),JR1(3),IC
727 . RX,RY,RZ, 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
751 IF (irad==0.OR.(jr(1)+jr(2)+jr(3))>0)
THEN
752 ic = jr(1)*100+jr(2)*10+jr(3)
753 CALL cdi_bcn(ic ,skew ,jr ,cdr ,jr1 )
754 rx = x(1,ns) - x(1,m)
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"
792 INTEGER NSL ,ISL(*) ,ICT, WEIGHT(*)
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)