41 2 ICODT ,FSAV ,V ,MS ,DT2T ,
42 3 NELTST ,ITYPTST,ITAB ,STIFN ,FSKYI ,
43 4 ISKY ,FCONT ,LINDMAX,
44 5 JTASK ,NB_JLT ,NB_JLT_NEW ,NB_STOK_N ,
45 6 NISKYFI,NSTRF ,SECFCUM,VISCN ,NIN ,FSAVSUB,
46 9 NUM_IMP,NS_IMP ,NE_IMP ,IND_IMP,FNCONT ,
47 A FTCONT ,MSKYI_SMS ,ISKYI_SMS ,NODNX_SMS,
48 B ICONTACT,INTBUF_TAB,FBSAV6,ISENSINT,DIMFB,
49 C H3D_DATA,NODADT_THERM )
67#include "implicit_f.inc"
85 INTEGER NELTST,ITYPTST,NSTRF(*),
87 INTEGER IPARI(*), ICODT(*), ITAB(*),
88 . ISKY(*), ISKYI_SMS(*), NODNX_SMS(*),
89 . ICONTACT(*), ISENSINT(*),DIMFB
90 INTEGER ,
INTENT(IN) :: NODADT_THERM
92 INTEGER NB_JLT,NB_JLT_NEW,NB_STOK_N,JTASK
93 INTEGER NUM_IMP,NS_IMP(*),NE_IMP(*),IND_IMP(*)
96 . x(*), a(3,*), fsav(*), v(3,*),
97 . ms(*),stifn(*),fskyi(lskyi,4),fcont(*),
98 . secfcum(7,numnod,nsect),
99 . viscn(*), fsavsub(*), fncont(3,*), ftcont(3,*),
102 DOUBLE PRECISION FBSAV6(12,6,DIMFB)
104 TYPE(intbuf_struct_) INTBUF_TAB
105 TYPE(H3D_DATABASE) :: H3D_DATA
110 . I, J, H, NOINT, ISECIN, I_STOK, NSEG,
111 . igap, jlt_new, jlt , nft, itied, igsti, nisub, iadm,
112 . nb_loc,i_stok_loc,debut, ierror
113 INTEGER IX1(MVSIZ), IX2(), IX3(MVSIZ), IX4(MVSIZ),
114 . nsvg(mvsiz), cand_n_n(mvsiz),cand_e_n(mvsiz),
115 . cn_loc(mvsiz),ce_loc(mvsiz),
116 . index2(lindmax),ibid,sfsavparit
120 . startt, gap, stopt,
121 . visc, stiglo, gapmin, kmin, kmax, gapmax,
126 . nx1(mvsiz), nx2(mvsiz), nx3(mvsiz), nx4(mvsiz),
127 . ny1(mvsiz), ny2(mvsiz), ny3(mvsiz), ny4(mvsiz),
128 . nz1(mvsiz), nz2(mvsiz), nz3(mvsiz), nz4(mvsiz),
129 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
130 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
131 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz),
132 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
133 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
134 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
135 . xi(mvsiz), yi(mvsiz), zi(mvsiz), stif(mvsiz),
136 . n1(mvsiz), n2(mvsiz), n3(mvsiz), pene(mvsiz),
137 . h1(mvsiz), h2(mvsiz), h3(mvsiz), h4(mvsiz),
139 . vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),msi(mvsiz)
141 my_real,
DIMENSION(:,:,:),
ALLOCATABLE :: fsavparit
153 stiglo=-intbuf_tab%STFAC(1)
154 startt=intbuf_tab%VARIABLES(3)
155 stopt =intbuf_tab%VARIABLES(11)
159 itied =nint(intbuf_tab%VARIABLES(1))
160 gap =intbuf_tab%VARIABLES(2)
161 gapmin=intbuf_tab%VARIABLES(13)
162 visc =intbuf_tab%VARIABLES(14)
163 gapmax=intbuf_tab%VARIABLES(16)
164 kmin =intbuf_tab%VARIABLES(17)
165 kmax =intbuf_tab%VARIABLES(18)
172 i_stok = intbuf_tab%I_STOK(1)
179 nb_loc = i_stok / nthread
180 IF (jtask==nthread)
THEN
181 i_stok_loc = i_stok-nb_loc*(nthread-1)
185 debut = (jtask-1)*nb_loc
188 DO i = debut+1, debut+i_stok_loc
189 IF(intbuf_tab%CAND_N(i)<0)
THEN
193 intbuf_tab%CAND_N(i) = -intbuf_tab%CAND_N(i)
194 ELSEIF(itied/=0.AND.intbuf_tab%CAND_F(6*(i-1)+1)/=0.)
THEN
199 intbuf_tab%CAND_F(6*(i-1)+1) = zero
200 intbuf_tab%CAND_F(6*(i-1)+2) = zero
201 intbuf_tab%CAND_F(6*(i-1)+3) = zero
204 IF (debug(3)>=1)
THEN
205 nb_jlt = nb_jlt + i_stok_loc
206 nb_stok_n = nb_stok_n + i_stok
211 IF(isensint(i)/=0)
THEN
212 sfsavparit = sfsavparit + 1
215 IF (sfsavparit /= 0)
THEN
216 ALLOCATE(fsavparit(nisub+1,11,i_stok),stat=ierror)
218 CALL ancmsg(msgid=19,anmode=aninfo,
219 . c1=
'(/INTER/TYPE10)')
225 fsavparit(h,i,j) = zero
230 ALLOCATE(fsavparit(0,0,0),stat=ierror)
232 CALL ancmsg(msgid=19,anmode=aninfo,
233 . c1=
'(/INTER/TYPE10)')
238 DO nft = 0 , i_stok - 1 , nvsiz
239 jlt =
min( nvsiz, i_stok - nft )
242 1 jlt,index2(nft+1),intbuf_tab%CAND_E,intbuf_tab%CAND_N,cand_e_n,
245 1 jlt ,x ,intbuf_tab%IRECTM,intbuf_tab%NSV,cand_e_n,
246 2 cand_n_n ,intbuf_tab%STFM,intbuf_tab%STFNS,x1 ,x2 ,
247 3 x3 ,x4 ,y1 ,y2 ,y3 ,
248 4 y4 ,z1 ,z2 ,z3 ,z4 ,
249 5 xi ,yi ,zi ,stif ,ix1 ,
250 6 ix2 ,ix3 ,ix4 ,nsvg ,igap ,
251 7 gap ,intbuf_tab%GAP_S,intbuf_tab%GAP_M,gapv,
253 a vzi ,msi ,nsn ,v ,idum ,
254 b idum ,nty ,nin ,igsti ,kmin ,
256 d rbid ,rbid ,rbid ,ibid ,rbid ,
257 e rbid ,rbid ,rbid ,ibid ,rbid ,
258 f ibid ,nodnx_sms ,nsms ,rbid ,rbid ,
259 g ibid ,ibid ,ibid ,ibid ,ibid ,
260 h ibid ,ibid ,rbid ,ibid ,rbid )
263 1 jlt ,cand_n_n,cand_e_n,cn_loc,ce_loc ,
264 2 x1 ,x2 ,x3 ,x4 ,y1 ,
265 3 y2 ,y3 ,y4 ,z1 ,z2 ,
266 4 z3 ,z4 ,xi ,yi ,zi ,
267 5 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
268 6 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
269 7 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
270 8 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
271 9 p1 ,p2 ,p3 ,p4 ,ix1 ,
272 a ix2 ,ix3 ,ix4 ,nsvg ,stif ,
273 b jlt_new,gapv,intbuf_tab%CAND_F,index2(nft+1),itied,
274 c vxi ,vyi ,vzi ,msi ,nsms )
279 . nb_jlt_new = nb_jlt_new + jlt_new
282 1 jlt ,a ,ms ,v ,fsav ,
283 2 intbuf_tab%CAND_F,stifn,stif ,fskyi ,isky ,
284 3 itied ,visc ,x1 ,x2 ,x3 ,
285 4 x4 ,y1 ,y2 ,y3 ,y4 ,
286 5 z1 ,z2 ,z3 ,z4 ,nsvg ,
287 6 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
288 7 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
289 8 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
290 9 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
291 a p1 ,p2 ,p3 ,p4 ,fcont ,
292 b ix1 ,ix2 ,ix3 ,ix4 ,gapv ,
293 c index2(nft+1),niskyfi ,isecin ,nstrf ,secfcum ,
294 d noint ,viscn ,vxi ,vyi ,vzi ,
295 e msi ,nin ,nisub ,intbuf_tab%LISUB,intbuf_tab%ADDSUBS,
296 f intbuf_tab%ADDSUBM,intbuf_tab%LISUBS,intbuf_tab%LISUBM,cn_loc,ce_loc,
297 g fsavsub ,fncont ,ftcont ,mskyi_sms ,iskyi_sms ,
298 h nsms ,xi ,yi ,zi ,icontact,
299 i dt2t ,neltst ,ityptst ,jtask ,isensint,
300 j fsavparit ,nft ,h3d_data,nodadt_therm)
304 ns_imp(i+num_imp)=cn_loc(i)
305 ne_imp(i+num_imp)=ce_loc(i)
306 ind_imp(i+num_imp)=index2(i+nft)
308 num_imp=num_imp+jlt_new
312 IF (sfsavparit /= 0)
THEN
316 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(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(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)