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