43
44
45
46 USE elbufdef_mod
47
48
49
50#include "implicit_f.inc"
51
52
53
54#include "mvsiz_p.inc"
55
56
57
58#include "com04_c.inc"
59#include "param_c.inc"
60
61
62
63 INTEGER IXR(NIXR,*), NPF(*),JFT,JLT,OFFSET,NEL ,MTN
64 INTEGER IGEO(*),
65 . ETAG(*),IDDL(*) ,NDOF(*) ,IADK(*) ,JDIK(*)
66
68 . geo(npropg,*),x(*),tf(*),skew(lskew,*),
69 . fr_wave(*),pm(*),ke11(36,mvsiz),ke12(36,mvsiz),ke22(36,mvsiz),
70 . off(mvsiz),k_diag(*) ,k_lt(*)
71
72 TYPE (ELBUF_STRUCT_), TARGET:: ELBUF_TAB
73
74
75
77 . kx(mvsiz) ,ky(mvsiz) ,kz(mvsiz),
78 . mx(mvsiz) ,my(mvsiz) ,mz(mvsiz),
79 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
80 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
81 . r31(mvsiz),r32(mvsiz),r33(mvsiz),al0(mvsiz),al(3,mvsiz)
82 INTEGER PID(MVSIZ),NGL(MVSIZ)
83 INTEGER , NB2, NB3, NB4, NB5, NB6, NB7, NB8, NB9, NB10,
84 . NB11, NB2A, NB2B, NB4A, NB4B, NB5A, NB5B, NB6A, NB6B, NB7A,
85 . NB7B, NB8A, NB8B, NB9A, NB9B, NB10A, NB10B, NB11A, NB11B,
86 . NB12, NB12A, NB12B, NB13, NB13A, NB13B, NB14, NEL3, NEL4,
87 . NB15, NB15A, NB15B, NB15C, NB15D, NB15E, NB15F, NB16,
88 . NB8C, NB8D,NBFI,IGTYP,I0,I,II(3)
89
90 TYPE(G_BUFEL_) ,POINTER :: GBUF
91
92 gbuf => elbuf_tab%GBUF
93
94
95 DO i=1,3
96 ii(i) = (i-1)*nel + 1
97 ENDDO
98
99 CALL r2coork3(jft ,jlt ,x ,ixr ,pid ,
100 2 ngl ,r11 ,r12 ,r13 ,r21 ,
101 3 r22 ,r23 ,r31 ,r32 ,r33 ,
102 4 skew ,geo ,gbuf%OFF,off ,al ,
103 5 igeo )
104
105 DO i=jft,jlt
106 al0(i)=one
107 ENDDO
108
109 CALL r13mat3(jft ,jlt ,geo ,kx ,ky ,
110 2 kz ,mx ,my ,mz ,pid ,
111 3 al0 ,gbuf%FOR(ii(1)),gbuf%FOR(ii(2)),gbuf%FOR(ii(3)),gbuf%TOTDEPL(ii(1)),
112 4 gbuf%TOTDEPL(ii(2)),gbuf%TOTDEPL(ii(3)),gbuf%MOM(ii(1)),gbuf%MOM(ii(2)),gbuf%MOM
113 5 gbuf%TOTROT(ii(1)),gbuf%TOTROT(ii(2)),gbuf%TOTROT(ii(3)),tf
114 6 gbuf%POSX,gbuf%POSY,gbuf%POSZ,gbuf%POSXX,gbuf%POSYY,
115 7 gbuf%POSZZ,igeo )
116
117
118
119 CALL r8sumg3 (jft ,jlt ,kx ,ky ,kz ,
120 2 mx ,my ,mz ,r11 ,r12 ,
121 3 r13 ,r21 ,r22 ,r23 ,r31 ,
122 4 r32 ,r33 ,ke11 ,ke12 ,ke22 )
123 CALL r8chk3(jft ,jlt ,ngl ,al ,off ,
124 1 kx ,ky ,kz ,mx ,my ,
125 2 mz ,r11 ,r12 ,r13 ,r21 ,
126 3 r22 ,r23 ,r31 ,r32 ,r33 )
127
128
129
130 IF (neig>0)
CALL peoff(
131 1 nixr, jft, jlt, ixr, etag,
132 2 off )
134 1 ixr ,nel ,iddl ,ndof ,k_diag ,
135 2 k_lt ,iadk ,jdik ,ke11 ,ke12 ,
136 3 ke22 ,off )
137
138 RETURN
subroutine assem_p(nixpl, nd, ixp, nel, iddl, ndof, k_diag, k_lt, iadk, jdik, kc11, kc12, kc22, off)
subroutine peoff(nixpl, jft, jlt, ixp, etag, off)
subroutine r13mat3(jft, jlt, geo, kx, ky, kz, mx, my, mz, mgn, al0, fx, fy, fz, dx, dy, dz, xmom, ymom, zmom, rx, ry, rz, tf, npf, posx, posy, posz, posxx, posyy, poszz, igeo)
subroutine r2coork3(jft, jlt, x, ncc, pid, ngl, r11, r12, r13, r21, r22, r23, r31, r32, r33, skew, geo, offg, off, al, igeo)
subroutine r8chk3(jft, jlt, ngl, al, off, kx, ky, kz, mx, my, mz, r11, r12, r13, r21, r22, r23, r31, r32, r33)
subroutine r8sumg3(jft, jlt, kx, ky, kz, mx, my, mz, r11, r12, r13, r21, r22, r23, r31, r32, r33, ke11, ke12, ke22)