43 . LA,FV,MS,STIFN,EBCS,OUTPUT,DT1,TIME)
49 USE output_mod ,
ONLY : output_
53#include "implicit_f.inc"
60 INTEGER NSEG,NOD,ISEG(NSEG),LISTE(),IRECT(4,NSEG)
61 my_real :: A(3,*),V(3,*),X(3,*), LA(3,NOD),MS(*),STIFN(*),FV(*)
62 TYPE(t_ebcs_normv),
INTENT(IN) :: EBCS
64 my_real,
INTENT(IN) :: dt1, time
65 TYPE(output_),
INTENT(INOUT) :: OUTPUT
69 INTEGER :: I,IS,KSEG,N1,N2,N3,N4,NG1,NG2,NG3,NG4,N,IVIMP,IRHO,IENER
70 my_real :: ORIENT,RHO,,ROC,FAC,
71 . X13,Y13,,X24,Y24,Z24,NX,NY,NZ,S,
72 . roou,enou,vmx,vmy,vmz,fluxi,fluxo,p
73 my_real :: de_in, de_out, dm_in, dm_out
84 vimp=ebcs%vimp*fv(ivimp)
94 ener=ebcs%ener*fv(iener)
113 orient=float(iseg(is)/kseg)
118 IF(n4==0 .OR. n4==n3)
THEN
119 fac=one_over_6*orient
122 fac=one_over_8*orient
129 x13=x(1,ng3)-x(1,ng1)
130 y13=x(2,ng3)-x(2,ng1)
131 z13=x(3,ng3)-x(3,ng1)
132 x24=x(1,ng4)-x(1,ng2)
133 y24=x(2,ng4)-x(2,ng2)
134 z24=x(3,ng4)-x(3,ng2)
136 nx=(y13*z24-z13*y24)*fac
137 ny=(z13*x24-x13*z24)*fac
138 nz=(x13*y24-y13*x24)*fac
150 vmx=v(1,ng1)+v(1,ng2)+v(1,ng3)
151 vmy=v(2,ng1)+v(2,ng2)+v(2,ng3)
152 vmz=v(3,ng1)+v(3,ng2)+v(3,ng3)
164 roou = segvar%RHO(kseg)
165 enou = segvar%EINT(kseg)
167 fluxo=(vmx*nx+vmy*ny+vmz*nz)*dt1
168 fluxi=
min(fluxo,zero)
169 fluxo=
max(fluxo,zero)
170 dm_out=dm_out-fluxo*roou
171 dm_in=dm_in-fluxi*rho
172 de_out=de_out-fluxo*enou
173 de_in=de_in-fluxi*ener
178 segvar%EINT(kseg)=ener
182 output%DATA%INOUT%DM_IN = output%DATA%INOUT%DM_IN + dm_in
183 output%DATA%INOUT%DM_OUT = output%DATA%INOUT%DM_OUT + dm_out
184 output%DATA%INOUT%DE_IN = output%DATA%INOUT%DE_IN + de_in
185 output%DATA%INOUT%DE_OUT = output%DATA%INOUT%DE_OUT + de_out
191 fac=vimp/sqrt(la(1,i)**2+la(2,i)**2+la(3,i)**2)
200 s=sqrt(la(1,i)**2+la(2,i)**2+la(3,i)**2)
201 dvx=v(1,n)-vimp*la(1,i)/s
202 dvy=v(2,n)-vimp*la(2,i)/s
203 dvz=v(3,n)-vimp*la(3,i)/s
205 p=roc*(dvx*la(1,i)+dvy*la(2,i)+dvz*la(3,i))/s
207 a(1,n)=a(1,n)-p*la(1,i)
208 a(2,n)=a(2,n)-p*la(2,i)
209 a(3,n)=a(3,n)-p*la(3,i)
210 stifn(n)=stifn(n)+(two*(s*roc)**2)/ms(n)
subroutine ebcs5_normv(nseg, iseg, segvar, a, v, x, liste, nod, irect, la, fv, ms, stifn, ebcs, output, dt1, time)