43
44
45
47 USE elbufdef_mod
51
52
53
54#include "implicit_f.inc"
55
56
57
58#include "com01_c.inc"
59#include "com04_c.inc"
60#include "vect01_c.inc"
61#include "param_c.inc"
62#include "task_c.inc"
63#include "inter22.inc"
64
65
66
67 TYPE(ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP) :: ELBUF_TAB
68 my_real pm(npropm,nummat), x(3,numnod),
69 . flux(nv46,*), flu2(*),
70 .
alpha(*), flux_sav(nv46,*), qmv(*)
71 INTEGER IPARG(NPARG,NGROUP), IXS(NIXS,NUMELS), IXQ(7,NUMELQ),ITASK,NV46, J
72 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
73
74
75
77 INTEGER :: NG, I, K, II, NF1
78 INTEGER :: NIN, IB, NBF, NBL, IE, MLW
79
80
81
82
83
84
86
87
88
89
90 DO ng=itask+1,ngroup,nthread
91
92 IF (iparg(76, ng) == 1) cycle
94 2 mtn ,llt ,nft ,iad ,ity ,
95 3 npt ,jale ,ismstr ,jeul ,jtur ,
96 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
97 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
98 6 irep ,iint ,igtyp ,israt ,isrot ,
99 7 icsen ,isorth ,isorthg ,ifailure,jsms )
100
101
102
103 IF(jale+jeul == 0) cycle
104 IF(iparg(8,ng) == 1) cycle
105 IF(iparg(1,ng) /= 51) cycle
106
107 lft=1
108 DO i=lft,llt
109 ii = i+nft
111 ENDDO
112 DO k=1,nv46
113 DO ii=nft+lft,nft+llt
114 flux(k,ii)=flux_sav(k,ii)
115 ENDDO
116 ENDDO
117 END DO
118
119
121
122
123
124
125
126 DO ng=itask+1,ngroup,nthread
127
128 IF (iparg(76, ng) == 1) cycle
130 2 mtn ,llt ,nft ,iad ,ity ,
131 3 npt ,jale ,ismstr ,jeul ,jtur ,
132 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
133 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
134 6 irep ,iint ,igtyp ,israt ,isrot ,
135 7 icsen ,isorth ,isorthg ,ifailure,jsms )
136
137
138
139 IF(jale+jeul == 0) cycle
140 IF(iparg(8,ng) == 1) cycle
141 IF(iparg(1,ng) /= 51) cycle
142
143 lft=1
144 nf1=nft+1
145
146
147
148 IF(n2d == 0)THEN
150 + 0 ,bid,qmv(12*nft+1) ,0 ,
151 + nv46)
152 ELSE
153 CALL ale51_upwind2(pm,x,ixq,flux(1,nf1),flu2(nf1),ale_connect,
154 + 0,bid,qmv(8*nft+1), 0)
155 ENDIF
156 END DO
157
158
160
161
162 IF(int22 /= 0)THEN
163
164 nin = 1
165 nbf = 1+itask*
nb/nthread
166 nbl = (itask+1)*
nb/nthread
168 DO ib=nbf,nbl
171 IF(mlw /= 51)cycle
172 DO j=1,6
173 brick_list(nin,ib)%POLY(1:9)%FACE(j)%Adjacent_UpwFLUX(1) =
brick_list(nin,ib)%POLY(1:9)%FACE(j)%Adjacent_FLUX(1)
174 brick_list(nin,ib)%POLY(1:9)%FACE(j)%Adjacent_UpwFLUX(2) =
brick_list(nin,ib)%POLY(1:9)%FACE(j)%Adjacent_FLUX(2)
175 brick_list(nin,ib)%POLY(1:9)%FACE(j)%Adjacent_UpwFLUX(3) =
brick_list(nin,ib)%POLY(1:9)%FACE(j)%Adjacent_FLUX(3)
176 brick_list(nin,ib)%POLY(1:9)%FACE(j)%Adjacent_UpwFLUX(4) =
brick_list(nin,ib)%POLY(1:9)%FACE(j)%Adjacent_FLUX(4)
177 brick_list(nin,ib)%POLY(1:9)%FACE(j)%Adjacent_UpwFLUX(5) =
brick_list(nin,ib)%POLY(1:9)%FACE(j)%Adjacent_FLUX(5)
178 ENDDO
179 ENDDO
180
181
183 + (pm , ixs , 0 , 0,
184 + iparg, elbuf_tab ,itask )
185
186 ENDIF
187
188
189 RETURN
subroutine ale51_upwind2(pm, x, ixq, flux, flu1, ale_connect, itrimat, ddvol, qmv, iflg)
subroutine ale51_upwind3(pm, ixs, flux, flu1, ale_connect, itrimat, ddvol, qmv, iflg, nv46)
subroutine ale51_upwind3_int22(pm, ixs, itrimat, iflg, iparg, elbuf_tab, itask)
type(brick_entity), dimension(:,:), allocatable, target brick_list
subroutine initbuf(iparg, ng, mtn, llt, nft, iad, ity, npt, jale, ismstr, jeul, jtur, jthe, jlag, jmult, jhbe, jivf, mid, jpor, jcvt, jclose, jpla, irep, iint, igtyp, israt, isrot, icsen, isorth, isorthg, ifailure, jsms)