31 . IPARG,ELBUF_STR,X, IXS,IXQ,IXTG,DP0,
32 . IPARTS,IPARTQ,IPARTTG)
53#include "implicit_f.inc"
63 INTEGER :: NSEG,NOD,ISEG(NSEG),IRECT(4,NSEG),LISTE(NOD),IPARG(,NGROUP), IELEM(NSEG)
64 INTEGER,
INTENT(IN) :: IXS(NIXS,NUMELS),IXQ(NIXQ,NUMELQ), IXTG(NIXTG,NUMELTG)
65 INTEGER,
INTENT(IN) :: IPARTS(NUMELS), IPARTQ(NUMELQ), IPARTTG(NUMELTG)
66 my_real :: x(3,numnod), dp0(nseg)
67 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_STR
71 INTEGER :: NodeLOC(4),NG,IS,KSEG,NodeG(8),ESEG,EAD,KTY,KLT,MFT,ISOLNOD,ITY,IP
72 my_real :: ORIENT, FAC,ZF(3),ZC(3),VEC(3),RHO ,DIST,GRAV0
73 my_real :: ngx,ngy,ngz
74 TYPE(g_bufel_) ,
POINTER :: GBUF
82 IF(kseg /= 0)orient=float(iseg(is)/kseg)
85 nodeloc(1:4) = irect(1:4,is)
88 nodeg(1:4)=liste(nodeloc(1:4))
91 IF(nodeloc(4) == 0 .OR. nodeloc(3) == nodeloc(4))is_tria=.true.
97 zf(1) = fac*sum( x(1,nodeg(1:3)) )
98 zf(2) = fac*sum( x(2,nodeg(1:3)) )
99 zf(3) = fac*sum( x(3,nodeg(1:3)) )
102 zf(1) = fac*sum( x(1,nodeg(1:4)) )
103 zf(2) = fac*sum( x(2,nodeg(1:4)) )
104 zf(3) = fac*sum( x(3,nodeg(1:4)) )
119 isolnod = iparg(28,ng)
120 IF (eseg<=klt+mft)
EXIT
124 print *,
"**ERROR /EBCS/NRF : #2205"
128 IF(ity /= 2 .AND. ity /= 7)cycle
133 gbuf => elbuf_str(ng)%GBUF
137 nodeg(1:8)=ixs(2:9,eseg)
138 zc(1)= sum(x(1,nodeg(1:isolnod)))/isolnod
139 zc(2)= sum(x(2,nodeg(1:isolnod)))/isolnod
140 zc(3)= sum(x(3,nodeg(1:isolnod)))/isolnod
143 nodeg(1:4)=ixq(2:5,eseg)
144 zc(1)= fourth*sum(x(1,nodeg(1:4)))
145 zc(2)= fourth*sum(x(2,nodeg(1:4)))
146 zc(3)= fourth*sum(x(3,nodeg(1:4)))
149 nodeg(1:3)=ixtg(2:4,eseg)
150 zc(1)= third*sum(x(1,nodeg(1:3)))
151 zc(2)= third*sum(x(2,nodeg(1:3)))
152 zc(3)= third*sum(x(3,nodeg(1:3)))
156 print *,
"**ERROR /EBCS/NRF : ONE SEGMENT IS LOCATED TO AN UNEXPECTED TYPE OF ELEMENTS"
161 vec(1) = -zc(1)+zf(1)
162 vec(2) = -zc(2)+zf(2)
163 vec(3) = -zc(3)+zf(3)
178 IF(grav0 /= zero)
THEN
184 dist = vec(1)*ngx + vec(2)*ngy +vec(3)*ngz
187 dp0(is) = rho*abs(grav0)*dist
subroutine iniebcs_dp(nseg, nod, iseg, ielem, irect, liste, iparg, elbuf_str, x, ixs, ixq, ixtg, dp0, iparts, ipartq, iparttg)