29 SUBROUTINE iniebcsp(NSEG,NOD,ISEG,IELEM,IRECT,LISTE,LA,IPARG,ELBUF_STR,P0,X)
37#include "implicit_f.inc"
46 INTEGER ,NOD,ISEG(NSEG),IRECT(4,NSEG),LISTE(NOD),IPARG(NPARG,*), IELEM(NSEG)
48 TYPE (ELBUF_STRUCT_),
TARGET :: ELBUF_STR
52 INTEGER N1,N2,N3,N4,,N,IS,KSEG,NG1,NG2,NG3,NG4,ESEG,EAD,KTY,KLT,MFT,II(6)
53 my_real orient, fac, x13,y13,z13,x24,y24,z24, nx,ny,nz,p
54 TYPE(g_bufel_) ,
POINTER :: GBUF
56 gbuf => elbuf_str%GBUF
68 IF(kseg /= 0)orient=float(iseg(is)/kseg)
75 IF(n4==0 .OR. n4==n3)
THEN
93 nx=(y13*z24-z13*y24)*fac
94 ny=(z13*x24-x13*z24)*fac
95 nz=(x13*y24-y13*x24)*fac
126 IF(kseg /= 0)orient=float(iseg(is)/kseg)
133 IF (kty==1 .AND. eseg<=klt+mft)
GOTO 60
142 p = -(gbuf%SIG(ii(1)+ead)+gbuf%SIG(ii(2)+ead)+gbuf%SIG(ii(3)+ead))*third
152 IF(n4==0 .OR. n4==n3)
THEN
153 fac=one_over_6*orient
156 fac=one_over_8*orient
163 x13=x(1,ng3)-x(1,ng1)
164 y13=x(2,ng3)-x(2,ng1)
165 z13=x(3,ng3)-x(3,ng1)
166 x24=x(1,ng4)-x(1,ng2)
167 y24=x(2,ng4)-x(2,ng2)
168 z24=x(3,ng4)-x(3,ng2)
170 nx=(y13*z24-z13*y24)*fac
171 ny=(z13*x24-x13*z24)*fac
172 nz=(x13*y24-y13*x24)*fac
174 p0(n1)=p0(n1)+p*(nx*la(1,n1)+ny*la(2,n1)+nz*la(3,n1))
175 p0(n2)=p0(n2)+p*(nx*la(1,n2)+ny*la(2,n2)+nz*la(3,n2))
176 p0(n3)=p0(n3)+p*(nx*la(1,n3)+ny*la(2,n3)+nz*la(3,n3))
178 p0(n4)=p0(n4)+p*(nx*la(1,n4)+ny*la(2,n4)+nz*la(3,n4))
subroutine iniebcsp(nseg, nod, iseg, ielem, irect, liste, la, iparg, elbuf_str, p0, x)