30 SUBROUTINE cgshell4(ELBUF_STR,JFT,JLT ,PM ,IXC ,
37#include "implicit_f.inc"
46 INTEGER (NIXC,*), JFT, JLT
49 . pm(npropm,*),x(3,*),mas,xc,yc
50 TYPE (ELBUF_STRUCT_),
TARGET :: ELBUF_STR
58 . rx, ry, rz,sx,sy,sz,e3x,e3y,e3z
59 TYPE(g_bufel_) ,
POINTER :: GBUF
61 gbuf => elbuf_str%GBUF
63 rx=x(1,ixc(3,i))+x(1,ixc(4
64 sx=x(1,ixc(4,i))+x(1,ixc(5,i))-x(1,ixc(2,i))-x(1,ixc(3,i))
65 ry=x(2,ixc(3,i))+x(2,ixc(4,i))-x(2,ixc(2,i))-x(2,ixc(5,i))
66 sy=x(2,ixc(4,i))+x(2,ixc(5,i))-x(2,ixc(2,i))-x(2,ixc(3,i))
67 rz=x(3,ixc(3,i))+x(3,ixc(4,i))-x(3,ixc(2,i))-x(3,ixc(5,i))
68 sz=x(3,ixc(4,i))+x(3,ixc(5,i))-x(3,ixc(2,i))-x(3,ixc(3,i))
69 e3x = ry * sz - rz * sy
70 e3y = rz * sx - rx * sz
71 e3z = rx * sy - ry * sx
72 area(i) =fourth*sqrt(e3x*e3x + e3y*e3y + e3z*e3z)
76 xmas(i)=pm(1,mat)*
area(i)*gbuf%THK(i)
81 IF (gbuf%OFF(i) ==zero) cycle
82 xx= x(1,ixc(2,i))+x(1,ixc(3,i))+x(1,ixc(4,i))+x(1,ixc(5,i
83 yy= x(2,ixc(2,i))+x(2,ixc(3,i))+x(2,ixc(4,i))+x(2,ixc(5,i))
84 zz= x(3,ixc(2,i))+x(3,ixc(3,i))+x(3,ixc(4,i))+x(3,ixc(5,i))
85 xmas25 = fourth*xmas(i)
102 + X ,MAS,XC ,YC ,ZC )
108#include "implicit_f.inc"
112#include "mvsiz_p.inc"
113#include "param_c.inc"
117 INTEGER (NIXTG,*), JFT, JLT
120 . pm(npropm,*),x(3,*),mas,xc,yc,zc
121 TYPE (ELBUF_STRUCT_),
TARGET :: ELBUF_STR
128 . xx,yy,zz,xmas25,xmas(mvsiz),
area(mvsiz),
129 . rx, ry, rz,sx,sy,sz,e3x,e3y,e3z
130 TYPE(g_bufel_) ,
POINTER :: GBUF
132 gbuf => elbuf_str%GBUF
134 rx=x(1,ixtg(3,i))-x(1,ixtg(2,i))
135 sx=x(1,ixtg(4,i))-x(1,ixtg(2,i))
136 ry=x(2,ixtg(3,i))-x(2,ixtg(2,i))
137 sy=x(2,ixtg(4,i))-x(2,ixtg(2,i))
138 rz=x(3,ixtg(3,i))-x(3,ixtg(2,i))
139 sz=x(3,ixtg(4,i))-x(3,ixtg(2,i))
140 e3x = ry * sz - rz * sy
141 e3y = rz * sx - rx * sz
142 e3z = rx * sy - ry * sx
143 area(i) =half*sqrt(e3x*e3x + e3y*e3y + e3z*e3z)
147 xmas(i)=pm(1,mat)*
area(i)*gbuf%THK(i)
152 IF (gbuf%OFF(i) ==zero) cycle
153 xx= x(1,ixtg(2,i))+x(1,ixtg(3,i))+x(1,ixtg(4,i))
154 yy= x(2,ixtg(2,i))+x(2,ixtg(3,i))+x(2,ixtg(4,i))
155 zz= x(3,ixtg(2,i))+x(3,ixtg(3,i))+x(3,ixtg(4,i))
156 xmas25 = third*xmas(i)
subroutine cgshell4(elbuf_str, jft, jlt, pm, ixc, x, mas, xc, yc, zc)
subroutine cgshell3(elbuf_str, jft, jlt, pm, ixtg, x, mas, xc, yc, zc)