32 1 NRBYAC,IRBYAC,NSC ,ISIJ ,NMC ,
33 2 IMIJ ,NSS ,ISS ,ISKEW ,ITAB ,
35 4 NDDL ,IADK ,JDIK ,DIAG_K ,
36 5 LT_K ,NDOF ,IDDL ,IKC ,B )
40#include "implicit_f.inc"
49 INTEGER WEIGHT(*),LPBY(*),NPBY(NNPBY,*),ISKEW(*),ITAB(*),
50 . NRBYAC,IRBYAC(*),NDDL,IADK(*),JDIK(*),NDOF(*),
51 . IDDL(*),IKC(*),NSC(*),ISIJ(*),NSS(*) ,ISS(*),
54 . x(3,*), rby(nrby,*), skew(lskew,*),
55 . in(*),ms(*),diag_k(*),lt_k(*),b(*)
59 INTEGER I, N,K,,NN,J,K1
66 k1=irbyac(i+nrbykin)+1
67 CALL rby_imp1(x, rby(1,n),lpby(k1),npby(1,n),
68 1 nsc(i),isij(nk),nss(k),iss(nn),
69 2 skew,iskew,itab,weight,ms,in,
70 3 nddl ,iadk ,jdik ,diag_k ,
71 4 lt_k ,ndof ,iddl ,ikc ,b )
80 .
CALL rby_impm(x ,nmc ,imij ,isij(nk),skew ,
81 1 iskew,itab ,weight,ms ,in ,
82 2 iadk ,jdik ,lt_k ,ndof ,iddl )
94 1 NRBYAC,IRBYAC,NSS ,ISS ,ISKEW ,
95 2 ITAB ,WEIGHT,MS ,IN ,
96 3 NDDL ,IADK ,JDIK ,DIAG_K ,
97 4 LT_K ,NDOF ,IDDL ,IKC ,B )
101#include "implicit_f.inc"
105#include
"com04_c.inc"
106#include "param_c.inc"
110 INTEGER WEIGHT(*),LPBY(*),NPBY(NNPBY,*),ISKEW(*),ITAB(*),
111 . NRBYAC,IRBYAC(*),NDDL,IADK(*),JDIK(*),NDOF(*),
112 . IDDL(*),IKC(*),NSS(*) ,ISS(*)
114 . X(3,*), RBY(NRBY,*), SKEW(LSKEW,*),
115 . IN(*),MS(*),(*),LT_K(*),B(*)
119 INTEGER I, N,K,NN,J,NSC,ISIJ,K1
126 k1=irbyac(i+nrbykin)+1
127 CALL rby_imp1(x, rby(1,n),lpby(k1),npby(1,n),
128 1 nsc ,isij ,nss(k),iss(nn),
129 2 skew,iskew,itab,weight,ms,in,
130 3 nddl ,iadk ,jdik ,diag_k ,
131 4 lt_k ,ndof ,iddl ,ikc ,b )
140!||====================================================================
142!||--- called by ------------------------------------------------------
156 1 NSC, ISI ,NS ,NODS,
157 2 SKEW,ISKEW,ITAB,WEIGHT,MS ,IN ,
158 3 NDDL ,IADK ,JDIK ,DIAG_K ,
159 4 LT_K ,NDOF ,IDDL ,IKC ,B )
163#include "implicit_f.inc"
167#include "param_c.inc"
171 INTEGER NOD(*), (*), ISKEW(*),ITAB(*), WEIGHT(*),
172 . ,ISI(2,NSC) ,NS(*),NODS(*)
173 INTEGER NDDL,IADK(*),JDIK(*),NDOF(*),IDDL(*),IKC(*)
175 . X(3,*), RBY(*), SKEW(LSKEW,*),
176 . IN(*),MS(*),DIAG_K(*),LT_K(*),B(*)
181 INTEGER M, NSN, IJD, ISK, I, N, J,NI,NJ,J1,
182 . K,L,ID,JD,ND,IMD,,IR
185 . xs,ys,zs,xs1,ys1,zs1, kdd(6,6),bd(6)
210 CALL get_kii(n ,iddl ,iadk,diag_k,lt_k ,kdd,ndof(n))
211 CALL updkb_rb(ndof(n),xs,ys,zs,kdd,bd)
213 CALL put_kii(m ,iddl ,iadk,diag_k,lt_k ,kdd,nd)
216 b(id) = b(id) + bd(k)
222 CALL get_kij(ni,n,iddl,iadk,jdik,lt_k,kdd,nidof,ndof(n),ir)
223 IF (ir==1)
CALL print_wkij(itab(ni) ,itab(n) ,1 )
224 CALL updkb_rb1(nidof,ndof(n),xs,ys,zs,kdd)
226 CALL put_kij(ni,m,iddl,iadk,jdik,lt_k,kdd,nidof,nd,ir)
227 IF (ir==1)
CALL print_wkij(itab(ni) ,itab(m) ,1 )
237 CALL get_kij(ni,nj,iddl,iadk,jdik,lt_k,kdd,ndof(ni),ndof(nj),ir)
238 IF (ir==1)
CALL print_wkij(itab(ni) ,itab(nj) ,1 )
245 CALL updkb_rb2(ndof(ni),ndof(nj),xs,ys,zs,xs1,ys1,zs1,kdd,1)
247 CALL put_kii(m ,iddl ,iadk,diag_k,lt_k ,kdd,nd)
264 1 ISKEW,ITAB ,WEIGHT,MS ,IN ,
265 2 IADK ,JDIK ,LT_K ,NDOF ,IDDL )
269#include "implicit_f.inc"
273#include "param_c.inc"
277 INTEGER ISKEW(*),ITAB(*), WEIGHT(*),
278 . nmc,imi(2,nmc) ,isi(2,nmc)
279 INTEGER IADK(*),JDIK(*),NDOF(*),IDDL(*)
282 . SKEW(LSKEW,*),X(3,*), (*),MS(*),LT_K(*)
287 INTEGER M, I, NI,NJ,ND,NM,IR
290 . XS,YS,ZS,XS1,YS1,ZS1, KDD(6,6)
298 CALL get_kij(ni,nj,iddl,iadk,jdik,lt_k,kdd,ndof(ni),ndof(nj),ir)
299 IF (ir==1)
CALL print_wkij(itab(ni) ,itab(nj) ,1 )
306 CALL updkb_rb2(ndof(ni),ndof(nj),xs,ys,zs,xs1,ys1,zs1,kdd,0)
308 CALL put_kij(m ,nm ,iddl ,iadk,jdik,lt_k,kdd,nd,nd,ir)
309 IF (ir==1)
CALL print_wkij(itab(m) ,itab(nm) ,1 )
314!||====================================================================
316!||--- called by ------------------------------------------------------
327#include "implicit_f.inc"
334 . XS,YS,ZS, BD(6),KDD(6,6)
341 . B(3),K(6,6),KR(3,3),RKR(3,3),RMF(
350 kr(i,1)=-kdd(i,2)*zs+kdd(i,3)*ys
351 kr(i,2)= kdd(i,1)*zs-kdd(i,3)*xs
352 kr(i,3)=-kdd(i,1)*ys+kdd(i,2)*xs
355 rkr(1,i)=-kr(2,i)*zs+kr(3,i)*ys
356 rkr(2,i)= kr(1,i)*zs-kr(3,i)*xs
357 rkr(3,i)=-kr(1,i)*ys+kr(2,i)*xs
377 k(i,j)=k(i,j)+kdd(i,j)
382 rmf(1,i)=-kdd(2,j)*zs+kdd(3,j)*ys
383 rmf(2,i)= kdd(1,j)*zs-kdd(3,j)*xs
384 rmf(3,i)=-kdd(1,j)*ys+kdd(2,j)*xs
390 k(mi,mj)=k(mi,mj)+rmf(i,j)+rmf(j,i)+kdd(mi,mj)
393 b(1)=-bd(2)*zs+bd(3)*ys
394 b(2)= bd(1)*zs-bd(3)*xs
395 b(3)=-bd(1)*ys+bd(2)*xs
428#include "implicit_f.inc"
459 k(i,4)=k(i,4)-kdd(i,2)*zs+kdd(i,3)*ys
460 k(i,5)=k(i,5)+kdd(i,1)*zs-kdd
461 k(i,6)=k(i,6)-kdd(i,1)*ys+kdd(i,2)*xs
466 k(i,4)=k(i,4)-kdd(i,2)*zs+kdd(i,3)*ys
467 k(i,5)=k(i,5)+kdd(i,1)*zs-kdd(i,3)*xs
468 k(i,6)=k(i,6)-kdd(i,1)*ys+kdd(i,2)*xs
480!||====================================================================
487!||====================================================================
488 SUBROUTINE updkb_rb2(NI,NJ,XS,YS,ZS,XS1,YS1,ZS1,KDD,ISYM)
492#include "implicit_f.inc"
499 . XS,YS,ZS,XS1,YS1,ZS1, KDD(6,6)
506 . K(6,6),KR(3,3),RKR(3,3),RMF(3,3),RK(3,3)
513 kr(i,1)=-kdd(i,2)*zs1+kdd(i,3)*ys1
514 kr(i,2)= kdd(i,1)*zs1-kdd(i,3)*xs1
515 kr(i,3)=-kdd(i,1)*ys1+kdd(i
518 rkr(1,i)=-kr(2,i)*zs+kr(3,i)*ys
519 rkr(2,i)= kr(1,i)*zs-kr(3,i)*xs
520 rkr(3,i)=-kr(1,i)*ys+kr(2,i)*xs
521 rk(1,i)=-kdd(2,i)*zs+kdd(3,i)*ys
522 rk(2,i)= kdd(1,i)*zs-kdd(3,i)*xs
523 rk(3,i)=-kdd(1,i)*ys+kdd(2,i)*xs
540 k(i,j)=k(i,j)+kdd(i,j)
546 rmf(i,1)=-kdd(j,2)*zs1+kdd(j,3)*ys1
547 rmf(i,2)= kdd(j,1)*zs1-kdd(j,3)*xs1
548 rmf(i,3)=-kdd(j,1)*ys1+kdd(j,2)*xs1
554 k(mi,mj)=k(mi,mj)+rmf(i,j)
561 k(i,j)=k(i,j)+kdd(i,j)
567 rmf(1,i)=-kdd(2,j)*zs+kdd(3,j)*ys
568 rmf(2,i)= kdd(1,j)*zs-kdd(3,j)*xs
569 rmf(3,i)=-kdd(1,j)*ys+kdd(2,j)*xs
575 k(mi,mj)=k(mi,mj)+rmf(i,j)
579 IF (ni==6.AND.nj==6)
THEN
584 k(mi,mj)=k(mi,mj)+kdd(mi,mj)
592 kdd(i,j)=k(i,j)+k(j,i)
610!||====================================================================
615#include "implicit_f.inc"
622 . X(3,*), A(3,*),AR(3,*)
638 ar(1,m)=ar(1,m)-a(2,n)*zs+a(3,n)*ys
639 ar(2,m)=ar(2,m)+a(1,n)*zs-a(3,n)*xs
640 ar(3,m)=ar(3,m)-a(1,n)*ys+a(2,n)*xs
655#include "implicit_f.inc"
662 . XS,YS,ZS, K(6),KII(6)
684 kr(i,1)=-kdd(i,2)*zs+kdd(i,3)*ys
685 kr(i,2)= kdd(i,1)*zs-kdd(i,3)*xs
686 kr(i,3)=-kdd(i,1)*ys+kdd(i,2)*xs
689 k(4)=k(4)-kr(2,1)*zs+kr(3,1)*ys
690 k(5)=k(5)+kr(1,2)*zs-kr(3,2)*xs
691 k(6)=k(6)-kr(1,3)*ys+kr(2,3)*xs
710#include "implicit_f.inc"
717 INTEGER NOD(*), NBY(*),NDOF(*),IDDL(*)
720 . X(3,*), RBY(*), B(*)
725 INTEGER M, NSN, IJD, ISK, I, N, J,NI,NJ,J1,
733 IF ((m<0).OR.ndof(m)==0)
RETURN
752 CALL updb_rb(ndof(n),xs,ys,zs,bd)
756 b(id) = b(id) + bd(k)
776#include "implicit_f.inc"
797 b(1)=-bd(2)*zs+bd(3)*ys
798 b(2)= bd(1)*zs-bd(3)*xs
799 b(3)=-bd(1)*ys+bd(2)*xs
823#include "implicit_f.inc"
830 INTEGER NOD(*), NBY(*),NDOF(*),IDDL(*)
833 . X(3,*), RBY(*), B(*)
838 INTEGER M, NSN, IJD, ISK, I, N, J,NI,NJ,J1,
839 . K,L,ID,JD,ND,IMD,NIDOF
842 . XS,YS,ZS,BD(6),AC(3,*) ,ACR(3,*)
866 ac(k,m)=ac(k,m)+bd(k)
867 acr(k,m)=acr(k,m)+bd(k+3)
872 b(id) = b(id) + bd(k)
891 1 NDOF ,IDDL ,IDDLM,IADK ,JDIK ,
892 2 DIAG_K,LT_K ,B ,A ,KSS ,
893 3 KSM ,KNM ,KRM ,IDLM ,ISS,ISM )
897#include "implicit_f.inc"
901 INTEGER IADK(*),JDIK(*),NDOF(*),IDDL(*),IDDLM(*),IKC(*),
902 . M, NS,ITAB(*),IDLM ,ISS,ISM
904 . X(3,*),DIAG_K(*),LT_K(*),B(*),A(3,*),
905 . KSS(6),KSM(3,3),KNM(3,3),KRM(3,3)
909 INTEGER I, J, K,ID,NL,NI,NJ,NDOFI,ND,IR,IDM
910 my_real kdd(6,6),bd(6),xs,ys,zs
932 CALL updkb_rb(ndofi,xs,ys,zs,kdd,bd)
933 CALL put_kmii(idlm,iadk,diag_k,lt_k,kdd,nd)
947 krm(k,j)=kdd(j,k+ndofi)
subroutine i2updk0(nsn, nmn, irect, crst, msr, nsv, irtl, ms, x, weight, itab, nsc, isi, ns, nods, ikc, ndof, nddl, iddl, iadk, jdik, diag_k, lt_k, b)
subroutine i2_imp1(ipari, intbuf_tab, itab, nsc2, isij2, nss2, iss2, x, ms, in, weight, ikc, ndof, nddl, iddl, iadk, jdik, diag_k, lt_k, b)
subroutine print_wkij(ni, nj, iflag)
subroutine put_kmii(id, iadk, k_diag, k_lt, kii, nd)
subroutine put_kii(ni, iddl, iadk, k_diag, k_lt, kii, nd)
subroutine put_kij(ni, nj, iddl, iadk, jdik, k_lt, kij, nk, nl, ierr)
subroutine get_kii(ni, iddl, iadk, k_diag, k_lt, kii, nd)
subroutine get_kij(ni, nj, iddl, iadk, jdik, k_lt, kij, nk, nl, ierr)
subroutine updfr_rb(xs, ys, zs, kii, k)
subroutine rby_frk(ns, m, x, itab, ikc, ndof, iddl, iddlm, iadk, jdik, diag_k, lt_k, b, a, kss, ksm, knm, krm, idlm, iss, ism)
subroutine rby_impr1(x, rby, nod, nby, ndof, iddl, b)
subroutine rby_impm(x, nmc, imi, isi, skew, iskew, itab, weight, ms, in, iadk, jdik, lt_k, ndof, iddl)
subroutine rby_impf(x, m, n, ndof, a, ar)
subroutine rby_impi(x, rby, lpby, npby, skew, nrbyac, irbyac, nss, iss, iskew, itab, weight, ms, in, nddl, iadk, jdik, diag_k, lt_k, ndof, iddl, ikc, b)
subroutine updkb_rb(ndl, xs, ys, zs, kdd, bd)
subroutine updb_rb(ndl, xs, ys, zs, bd)
subroutine updkb_rb1(ni, nj, xs, ys, zs, kdd)
subroutine rby_imp1(x, rby, nod, nby, nsc, isi, ns, nods, skew, iskew, itab, weight, ms, in, nddl, iadk, jdik, diag_k, lt_k, ndof, iddl, ikc, b)
subroutine updkb_rb2(ni, nj, xs, ys, zs, xs1, ys1, zs1, kdd, isym)
subroutine rby_imp0(x, rby, lpby, npby, skew, nrbyac, irbyac, nsc, isij, nmc, imij, nss, iss, iskew, itab, weight, ms, in, nddl, iadk, jdik, diag_k, lt_k, ndof, iddl, ikc, b)
subroutine rby_impr2(x, rby, nod, nby, ndof, iddl, b, ac, acr)