42 2 ICODT ,FSAV ,V ,MS ,DT2T ,
43 3 NELTST ,ITYPTST,ITAB ,STIFN ,FSKYI ,
44 4 ISKY ,FCONT ,LINDMAX,
45 5 JTASK ,NB_JLT ,NB_JLT_NEW ,NB_STOK_N ,
46 6 NISKYFI,NSTRF ,SECFCUM,VISCN ,NIN ,FSAVSUB,
47 9 NUM_IMP,NS_IMP ,NE_IMP ,IND_IMP,FNCONT ,
48 A FTCONT ,MSKYI_SMS ,ISKYI_SMS ,NODNX_SMS,
49 B ICONTACT,INTBUF_TAB,FBSAV6,ISENSINT,DIMFB,
50 C H3D_DATA,NODADT_THERM )
69#include "implicit_f.inc"
87 type(output_),
intent(inout) :: output
88 INTEGER NELTST,ITYPTST,NSTRF(*),
90 INTEGER IPARI(*), ICODT(*), ITAB(*),
91 . ISKY(*), ISKYI_SMS(*), NODNX_SMS(*),
92 . ICONTACT(*), ISENSINT(*),DIMFB
93 INTEGER ,
INTENT(IN) :: NODADT_THERM
95 INTEGER NB_JLT,NB_JLT_NEW,NB_STOK_N,JTASK
96 INTEGER NUM_IMP,NS_IMP(*),NE_IMP(*),IND_IMP(*)
99 . x(*), a(3,*), fsav(*), v(3,*),
100 . ms(*),stifn(*),fskyi(lskyi,4),fcont(*),
101 . secfcum(7,numnod,nsect),
102 . viscn(*), fsavsub(*), fncont(3,*), ftcont(3,*),
105 DOUBLE PRECISION FBSAV6(12,6,DIMFB)
107 TYPE(intbuf_struct_) INTBUF_TAB
108 TYPE(H3D_DATABASE) :: H3D_DATA
113 . , J, H, NOINT, ISECIN, I_STOK,
114 . igap, jlt_new, jlt , nft, itied, igsti, nisub, iadm,
115 . nb_loc,i_stok_loc,debut, ierror
116 INTEGER IX1(), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
117 . nsvg(mvsiz), cand_n_n(mvsiz),cand_e_n(mvsiz),
118 . cn_loc(mvsiz),ce_loc(mvsiz),
119 . index2(lindmax),ibid,sfsavparit
123 . startt, gap, stopt,
124 . visc, stiglo, gapmin, kmin, kmax, gapmax,
129 . nx1(mvsiz), nx2(mvsiz), nx3(mvsiz), nx4(mvsiz),
130 . ny1(mvsiz), ny2(mvsiz), ny3(mvsiz), ny4(mvsiz),
131 . nz1(mvsiz), nz2(mvsiz), nz3(mvsiz), nz4(mvsiz),
132 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
133 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
134 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz),
135 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
136 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
137 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
138 . xi(mvsiz), yi(mvsiz), zi(mvsiz), stif(mvsiz),
142 . vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),msi(mvsiz)
144 my_real,
DIMENSION(:,:,:),
ALLOCATABLE :: fsavparit
156 stiglo=-intbuf_tab%STFAC(1)
157 startt=intbuf_tab%VARIABLES(3)
158 stopt =intbuf_tab%VARIABLES(11)
162 itied =nint(intbuf_tab%VARIABLES(1))
163 gap =intbuf_tab%VARIABLES(2)
164 gapmin=intbuf_tab%VARIABLES(13)
165 visc =intbuf_tab%VARIABLES(14)
166 gapmax=intbuf_tab%VARIABLES(16)
167 kmin =intbuf_tab%VARIABLES(17)
168 kmax =intbuf_tab%VARIABLES(18)
175 i_stok = intbuf_tab%I_STOK(1)
182 nb_loc = i_stok / nthread
183 IF (jtask==nthread)
THEN
184 i_stok_loc = i_stok-nb_loc*(nthread-1)
188 debut = (jtask-1)*nb_loc
191 DO i = debut+1, debut+i_stok_loc
192 IF(intbuf_tab%CAND_N(i)<0)
THEN
196 intbuf_tab%CAND_N(i) = -intbuf_tab%CAND_N(i)
197 ELSEIF(itied/=0.AND.intbuf_tab%CAND_F(6*(i-1)+1)/=0.)
THEN
202 intbuf_tab%CAND_F(6*(i-1)+1) = zero
203 intbuf_tab%CAND_F(6*(i-1)+2) = zero
204 intbuf_tab%CAND_F(6*(i-1)+3) = zero
207 IF (debug(3)>=1)
THEN
208 nb_jlt = nb_jlt + i_stok_loc
209 nb_stok_n = nb_stok_n + i_stok
214 IF(isensint(i)/=0)
THEN
215 sfsavparit = sfsavparit + 1
218 IF (sfsavparit /= 0)
THEN
219 ALLOCATE(fsavparit(nisub+1,11,i_stok),stat=ierror)
221 CALL ancmsg(msgid=19,anmode=aninfo,
222 . c1=
'(/INTER/TYPE10)')
228 fsavparit(h,i,j) = zero
233 ALLOCATE(fsavparit(0,0,0),stat=ierror)
235 CALL ancmsg(msgid=19,anmode=aninfo,
236 . c1=
'(/INTER/TYPE10)')
241 DO nft = 0 , i_stok - 1 , nvsiz
242 jlt =
min( nvsiz, i_stok - nft )
245 1 jlt,index2(nft+1),intbuf_tab%CAND_E,intbuf_tab%CAND_N,cand_e_n,
248 1 jlt ,x ,intbuf_tab%IRECTM,intbuf_tab%NSV,cand_e_n,
249 2 cand_n_n ,intbuf_tab%STFM,intbuf_tab%STFNS,x1 ,x2 ,
250 3 x3 ,x4 ,y1 ,y2 ,y3 ,
251 4 y4 ,z1 ,z2 ,z3 ,z4 ,
252 5 xi ,yi ,zi ,stif ,ix1 ,
253 6 ix2 ,ix3 ,ix4 ,nsvg ,igap ,
254 7 gap ,intbuf_tab%GAP_S,intbuf_tab%GAP_M,gapv,
256 a vzi ,msi ,nsn ,v ,idum ,
257 b idum ,nty ,nin ,igsti ,kmin ,
258 c kmax ,gapmax ,gapmin ,iadm ,rbid ,
259 d rbid ,rbid ,rbid ,ibid ,rbid ,
260 e rbid ,rbid ,rbid ,ibid ,rbid ,
261 f ibid ,nodnx_sms ,nsms ,rbid ,rbid ,
262 g ibid ,ibid ,ibid ,ibid ,ibid ,
263 h ibid ,ibid ,rbid ,ibid ,rbid )
266 1 jlt ,cand_n_n,cand_e_n,cn_loc,ce_loc ,
267 2 x1 ,x2 ,x3 ,x4 ,y1 ,
268 3 y2 ,y3 ,y4 ,z1 ,z2 ,
269 4 z3 ,z4 ,xi ,yi ,zi ,
270 5 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
271 6 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
272 7 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
273 8 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
274 9 p1 ,p2 ,p3 ,p4 ,ix1 ,
275 a ix2 ,ix3 ,ix4 ,nsvg ,stif ,
276 b jlt_new,gapv,intbuf_tab%CAND_F,index2(nft+1),itied,
277 c vxi ,vyi ,vzi ,msi ,nsms )
282 . nb_jlt_new = nb_jlt_new + jlt_new
285 1 jlt ,a ,ms ,v ,fsav ,
286 2 intbuf_tab%CAND_F,stifn,stif ,fskyi ,isky ,
287 3 itied ,visc ,x1 ,x2 ,x3 ,
288 4 x4 ,y1 ,y2 ,y3 ,y4 ,
289 5 z1 ,z2 ,z3 ,z4 ,nsvg ,
290 6 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
291 7 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
292 8 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
293 9 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
294 a p1 ,p2 ,p3 ,p4 ,fcont ,
295 b ix1 ,ix2 ,ix3 ,ix4 ,gapv ,
296 c index2(nft+1),niskyfi ,isecin ,nstrf ,secfcum ,
297 d noint ,viscn ,vxi ,vyi ,vzi ,
298 e msi ,nin ,nisub ,intbuf_tab%LISUB,intbuf_tab%ADDSUBS,
299 f intbuf_tab%ADDSUBM,intbuf_tab%LISUBS,intbuf_tab%LISUBM,cn_loc,ce_loc,
300 g fsavsub ,fncont ,ftcont ,mskyi_sms ,iskyi_sms ,
301 h nsms ,xi ,yi ,zi ,icontact,
302 i dt2t ,neltst ,ityptst ,jtask ,isensint,
303 j fsavparit ,nft ,h3d_data,nodadt_therm)
307 ns_imp(i+num_imp)=cn_loc(i)
308 ne_imp(i+num_imp)=ce_loc(i)
309 ind_imp(i+num_imp)=index2(i+nft)
311 num_imp=num_imp+jlt_new
315 IF (sfsavparit /= 0)
THEN
317 . fbsav6, 12, 6, dimfb, isensint )
319 IF (
ALLOCATED(fsavparit))
DEALLOCATE (fsavparit)
subroutine i10dst3(jlt, cand_n, cand_e, cn_loc, ce_loc, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, nx1, nx2, nx3, nx4, ny1, ny2, ny3, ny4, nz1, nz2, nz3, nz4, lb1, lb2, lb3, lb4, lc1, lc2, lc3, lc4, p1, p2, p3, p4, ix1, ix2, ix3, ix4, nsvg, stif, jlt_new, gapv, cand_f, index, itied, vxi, vyi, vzi, msi, nsms)
subroutine i10for3(output, jlt, a, ms, v, fsav, cand_f, stifn, stif, fskyi, isky, itied, visc, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, nsvg, nx1, nx2, nx3, nx4, ny1, ny2, ny3, ny4, nz1, nz2, nz3, nz4, lb1, lb2, lb3, lb4, lc1, lc2, lc3, lc4, p1, p2, p3, p4, fcont, ix1, ix2, ix3, ix4, gapv, index, niskyfi, isecin, nstrf, secfcum, noint, viscn, vxi, vyi, vzi, msi, nin, nisub, lisub, addsubs, addsubm, lisubs, lisubm, cn_loc, ce_loc, fsavsub, fncont, ftcont, mskyi_sms, iskyi_sms, nsms, xi, yi, zi, icontact, dt2t, neltst, ityptst, jtask, isensint, fsavparit, nft, h3d_data, nodadt_therm)
subroutine i10mainf(output, ipari, x, a, icodt, fsav, v, ms, dt2t, neltst, ityptst, itab, stifn, fskyi, isky, fcont, lindmax, jtask, nb_jlt, nb_jlt_new, nb_stok_n, niskyfi, nstrf, secfcum, viscn, nin, fsavsub, num_imp, ns_imp, ne_imp, ind_imp, fncont, ftcont, mskyi_sms, iskyi_sms, nodnx_sms, icontact, intbuf_tab, fbsav6, isensint, dimfb, h3d_data, nodadt_therm)