34 SUBROUTINE rbe3v(RBE3 ,NODES, SKEW )
43#include "implicit_f.inc"
50#include "tabsiz_c.inc"
56 TYPE(rbe3_),
INTENT(INOUT) :: RBE3
57 TYPE(nodal_arrays_),
INTENT(INOUT) :: NODES
61 INTEGER I, J, N, M, NS ,NML, IAD,JJ,IROT,IADS,MAX_M,IROTG,
62 . JT(3,NRBE3),JR(3,NRBE3),NM,NN,K,IPEN
65 . vs(3),vrs(3),as(3),ars(3)
67 .
DIMENSION(:,:,:),
ALLOCATABLE :: fdstnb ,mdstnb
71 CALL prerbe3(rbe3%IRBE3 ,max_m , irotg,jt ,jr )
72 ALLOCATE(fdstnb(3,6,max_m))
73 IF (irotg>0)
ALLOCATE(mdstnb(3,6,max_m))
79 IF (ns==0.OR.ipen>0) cycle
80 irot =
min(rbe3%IRBE3(6,n),iroddl)
81 CALL rbe3cl(rbe3%LRBE3(iad+1),rbe3%LRBE3(iads+iad+1),ns ,nodes%X ,
82 . rbe3%FRBE3(6*iad+1),skew ,nml ,irot ,fdstnb ,
83 . mdstnb ,rbe3%IRBE3(2,n))
94 vs(j) = vs(j)+fdstnb(k,j,i)*nodes%V(k,m)
95 as(j) = as(j)+fdstnb(k,j,i)*nodes%A(k,m)
96 vrs(j) = vrs(j)+fdstnb(k,j+3,i)*nodes%V(k,m)
97 ars(j) = ars(j)+fdstnb(k,j+3,i)*nodes%A(k,m)
103 m = rbe3%LRBE3(iad+i)
106 vs(j) = vs(j)+mdstnb(k,j,i)*nodes%VR(k,m)
107 as(j) = as(j)+mdstnb(k,j,i)*nodes%AR(k,m)
108 vrs(j) = vrs(j)+mdstnb(k,j+3,i)*nodes%VR(k,m)
109 ars(j) = ars(j)+mdstnb(k,j+3,i)*nodes%AR(k,m)
115 nodes%V(j,ns) = vs(j) *jt(j,n)
116 nodes%A(j,ns) = as(j) *jt(j,n)
118 IF ((jr(1,n)+jr(2,n)+jr(3,n))>0)
THEN
120 nodes%VR(j,ns) = vrs(j) *jr(j,n)
121 nodes%AR(j,ns) = ars(j) *jr(j,n)
127 IF (irotg>0)
DEALLOCATE(mdstnb)
144#include "implicit_f.inc"
148#include "com01_c.inc"
149#include "com04_c.inc"
150#include "param_c.inc"
151#include "tabsiz_c.inc"
155 INTEGER IRBE3(NRBE3L,*),LRBE3(*)
158 . x(3,*), d(3,*), dr(3,*), frbe3(*),skew(*)
162 INTEGER , J, N, M, NS ,, IAD,JJ,IROT,IADS,MAX_M,IROTG,
163 . jt(3,nrbe3),jr(3,nrbe3),nm,nn,k
168 .
DIMENSION(:,:,:),
ALLOCATABLE :: fdstnb ,mdstnb
172 CALL prerbe3(irbe3 ,max_m , irotg,jt ,jr
173 ALLOCATE(fdstnb(3,6,max_m))
174 IF (irotg>0)
ALLOCATE(mdstnb(3,6,max_m))
180 irot =
min(irbe3(6,n),iroddl)
181 CALL rbe3cl(lrbe3(iad+1),lrbe3(iads+iad+1),ns ,x ,
182 . frbe3(6*iad+1),skew ,nml ,irot ,fdstnb ,
183 . mdstnb ,irbe3(2,n))
192 vs(j) = vs(j)+fdstnb(k,j,i)*d(k,m)
193 vrs(j) = vrs(j)+fdstnb(k,j+3,i)*d(k,m)
202 vs(j) = vs(j)+mdstnb(k,j,i)*dr(k,m)
203 vrs(j) = vrs(j)+mdstnb(k,j+3,i)*dr(k,m)
209 d(j,ns) = vs(j) *jt(j,n)
211 IF ((jr(1,n)+jr(2,n)+jr(3,n))>0)
THEN
213 dr(j,ns) = vrs(j) *jr(j,n)
219 IF (irotg>0)
DEALLOCATE(mdstnb)
230 1 FDSTNB ,MDSTNB ,JT ,JR ,IROT )
234#include "implicit_f.inc"
238 INTEGER NML,IML(*),NS,IROT,JT(*),JR(*)
240 . d(3,*), dr(3,*), fdstnb(3,6,*) ,mdstnb(3,6,*)
244 INTEGER I, J, N, M, IAD,JJ,NM,NN,K
257 vs(j) = vs(j)+fdstnb(k,j,i)*d(k,m)
258 vrs(j) = vrs(j)+fdstnb(k,j+3,i)*d(k,m)
267 vs(j) = vs(j)+mdstnb(k,j,i)*dr(k,m)
268 vrs(j) = vrs(j)+mdstnb(k,j+3,i)*dr(k,m)
274 d(j,ns) = vs(j) *jt(j)
276 IF ((jr(1)+jr(2)+jr(3))>0)
THEN
278 dr(j,ns) = vrs(j) *jr(j)
subroutine rbe3cl(inrbe3, ilrbe3, ns, xyz, frbe3, skew, ng, irot, fdstnb, mdstnb)
subroutine rbe3_frd(nml, iml, ns, d, dr, fdstnb, mdstnb, jt, jr, irot)