30!||--- uses -----------------------------------------------------
35 1 X ,IRECT ,NSV ,INACTI ,CAND_P ,
36 2 NMN ,NRTM ,NSN ,CAND_E ,CAND_N ,
37 3 GAP ,NOINT ,II_STOK ,NCONTACT ,BMINMA ,
38 4 TZINF ,MAXBOX ,MINBOX ,CAND_A ,CURV_MAX,
39 5 NB_N_B ,ESHIFT ,ILD ,IFQ ,IFPEN ,
40 8 STFN ,NIN ,STF ,IGAP ,GAP_S ,
41 A NSNR ,NCONT ,RENUM ,NSNROLD ,GAP_M ,
42 B GAPMIN ,GAPMAX ,CURV_MAX_MAX ,NUM_IMP ,GAP_S_L ,
43 C GAP_M_L ,INTTH ,ITASK ,BGAPSMX ,I_MEM ,
44 D KREMNOD ,REMNOD ,ITAB ,FLAGREMNODE ,DRAD ,
45 E ITIED ,CAND_F ,DGAPLOAD ,INTHEAT ,IDT_THERM,
55#include "implicit_f.inc"
64 INTEGER NMN, NRTM, NSN, , INACTI, IFQ, NIN, NSNR, NSNROLD
65 INTEGER IRECT(4,*),NSV(*),CAND_A(*), RENUM(*),NUM_IMP, ITASK
66 INTEGER CAND_E(*),CAND_N(*),IFPEN(*),KREMNOD(*),REMNOD(*),ITAB(*)
67 INTEGER NCONTACT,ESHIFT,ILD,NB_N_B, IGAP, NCONT,INTTH,I_MEM,
68 * II_STOK, FLAGREMNODE, ITIED
69 INTEGER,
INTENT(IN) :: INTHEAT
70 INTEGER,
INTENT(IN) :: IDT_THERM
71 INTEGER,
INTENT(IN) :: NODADT_THERM
74 . GAP,TZINF,MAXBOX,MINBOX,CURV_MAX_MAX,
75 . GAPMIN, GAPMAX, BMINMA(12),CURV_MAX(NRTM),BGAPSMX
76 my_real ,
INTENT(IN) :: drad,dgapload
78 . x(3,*), cand_p(*), stfn(*),
79 . stf(*), gap_s(*), gap_m(*),
80 . gap_s_l(*), gap_m_l(*), cand_f(*)
84 INTEGER I_ADD_MAX,I_ADD
85 parameter(i_add_max = 1001)
86 INTEGER ADD(2,I_ADD_MAX)
90 . xyzm(6,i_add_max-1), marge
103 maxsiz = 10 * (nrtm+100)
132 xyzm(1,i_add) = bminma(4)
133 xyzm(2,i_add) = bminma(5)
134 xyzm(3,i_add) = bminma(6)
135 xyzm(4,i_add) = bminma(1)
136 xyzm(5,i_add) = bminma(2)
137 xyzm(6,i_add) = bminma(3)
141 IF(inacti==5.OR.inacti==6.OR.inacti==7.OR.
142 . ifq>0.OR.num_imp>0.OR.itied/=0)
THEN
148 marge = tzinf - (gap+dgapload)
150 1 add ,nsn ,renum ,nsnr ,isznsnr ,
151 2 irect ,x ,stf ,stfn ,xyzm ,
152 3 i_add ,nsv ,maxsiz ,ii_stok ,cand_n ,
153 4 cand_e,ncontact,noint ,tzinf ,maxbox ,
154 5 minbox,i_mem ,nb_n_b ,i_add_max,eshift ,
155 6 inacti,ifq ,cand_a, cand_p ,ifpen ,
156 7 nrtm ,nsnrold,igap ,gap ,gap_s ,
157 8 gap_m ,gapmin ,gapmax ,marge ,curv_max ,
158 9 nin ,gap_s_l,gap_m_l,intth, drad ,itied ,
159 a cand_f ,kremnod ,remnod ,flagremnode,dgapload,
160 b intheat, idt_therm, nodadt_therm)
169 IF (i_mem /= 0)
RETURN
189 1 X ,IRECT ,NSV ,INACTI ,CAND_P ,
190 2 NMN ,NRTM ,NSN ,CAND_E ,CAND_N ,
191 3 GAP ,NOINT ,II_STOK ,NCONTACT ,BMINMA ,
192 4 TZINF ,MAXBOX ,MINBOX ,CAND_A ,CURV_MAX,
193 5 NB_N_B ,ESHIFT ,ILD ,IFQ ,IFPEN ,
194 8 STFN ,NIN ,STF ,IGAP ,GAP_S ,
195 A NSNR ,NCONT ,RENUM ,NSNROLD ,GAP_M ,
196 B GAPMIN ,GAPMAX ,CURV_MAX_MAX,NUM_IMP,GAP_S_L ,
197 C GAP_M_L ,INTTH ,ITASK ,BGAPSMX ,I_MEM ,
198 D KREMNOD ,REMNOD ,ITAB ,FLAGREMNODE, DRAD ,
199 E ITIED ,CAND_F ,DGAPLOAD,REMOTE_S_NODE,LIST_REMOTE_S_NODE,
200 F TOTAL_NB_NRTM,INTHEAT,IDT_THERM,NODADT_THERM)
209#include "implicit_f.inc"
210#include "comlock.inc"
214#include "units_c.inc"
216#include "com01_c.inc"
220 INTEGER NMN, NSN, NOINT, INACTI, IFQ, NIN, NSNR,
221 INTEGER,
INTENT(in) :: NRTM
222 INTEGER,
INTENT(in) :: TOTAL_NB_NRTM
223 INTEGER IRECT(4,*),NSV(*),CAND_A(*), RENUM(*),NUM_IMP, ITASK
224 INTEGER CAND_E(*),CAND_N(*),IFPEN(*),KREMNOD(*),REMNOD(*),ITAB(*)
225 INTEGER NCONTACT,ESHIFT,ILD,NB_N_B, IGAP, NCONT,INTTH,I_MEM,
226 * II_STOK, FLAGREMNODE, ITIED
227 INTEGER,
INTENT(inout) :: REMOTE_S_NODE
228 INTEGER,
INTENT(in) :: INTHEAT
229 INTEGER,
INTENT(in) :: IDT_THERM
230 INTEGER,
INTENT(in) :: NODADT_THERM
231 INTEGER,
DIMENSION(NSNR),
INTENT(inout) :: LIST_REMOTE_S_NODE
234 . GAP,TZINF,MAXBOX,MINBOX,CURV_MAX_MAX,
235 . GAPMIN, GAPMAX, BMINMA(12),CURV_MAX(NRTM),BGAPSMX
236 my_real ,
INTENT(IN) :: DRAD,DGAPLOAD
238 . X(3,*), CAND_P(*), STFN(*),
239 . STF(*), GAP_S(*), GAP_M(*),
240 . GAP_S_L(*), GAP_M_L(*), CAND_F(*)
248 . xyzm(6,2), marge, aaa
257 INTEGER (KIND=8) :: NBX8,NBY8,NBZ8,RES8,LVOXEL8
279 xyzm(1,1) = bminma(4)
280 xyzm(2,1) = bminma(5)
281 xyzm(3,1) = bminma(6)
282 xyzm(4,1) = bminma(1)
283 xyzm(5,1) = bminma(2)
284 xyzm(6,1) = bminma(3)
286 xyzm(1,2) = bminma(10)
287 xyzm(2,2) = bminma(11)
288 xyzm(3,2) = bminma(12)
289 xyzm(4,2) = bminma(7)
290 xyzm(5,2) = bminma(8)
291 xyzm(6,2) = bminma(9)
294 IF(inacti==5.OR.inacti==6.OR.inacti==7.OR.
295 . ifq>0.OR.num_imp>0.OR.itied/=0)
THEN
303 marge = tzinf-
max(gap+dgapload,drad)
320 . ((bminma(7)-bminma(10))*(bminma(8)-bminma(11))
321 . +(bminma(8)-bminma(11))*(bminma(9)-bminma(12))
322 . +(bminma(9)-bminma(12))*(bminma(7)-bminma(10))))
329 nbx = nint(aaa*(bminma(7)-bminma(10)))
330 nby = nint(aaa*(bminma(8)-bminma(11)))
331 nbz = nint(aaa*(bminma(9)-bminma(12)))
340 res8=(nbx8+2)*(nby8+2)*(nbz8+2)
343 IF(res8 > lvoxel8)
THEN
345 aaa = aaa/((nbx8+2)*(nby8+2)*(nbz8+2))
347 nbx = int((nbx+2)*aaa)-2
348 nby = int((nby+2)*aaa)-2
349 nbz = int((nbz+2)*aaa)-2
358 res8=(nbx8+2)*(nby8+2)*(nbz8+2)
360 IF(res8 > lvoxel8)
THEN
361 nbx =
min(100,
max(nbx8,1))
362 nby =
min(100,
max(nby8,1))
363 nbz =
min(100,
max(nbz8,1))
368 DO i=
inivoxel,(nbx+2)*(nby+2)*(nbz+2)
373 1 nsn ,renum ,nsnr ,isznsnr ,i_mem ,
374 2 irect ,x ,stf ,stfn ,xyzm ,
375 3 nsv ,ii_stok ,cand_n ,eshift ,cand_e ,
376 4 ncontact,noint ,tzinf ,gap_s_l ,gap_m_l ,
377 5
voxel1 ,nbx ,nby ,nbz ,intth ,
378 6 inacti ,ifq ,cand_a,cand_p ,ifpen ,
379 7 nrtm ,nsnrold ,igap ,gap
380 8 gap_m ,gapmin ,gapmax ,marge ,curv_max,
381 9 nin ,itask ,bgapsmx ,kremnod ,remnod ,
382 a itab ,flagremnode,drad ,itied ,cand_f ,
383 b dgapload,remote_s_node,list_remote_s_node,
384 c total_nb_nrtm,intheat,idt_therm,nodadt_therm)
391 IF (i_mem ==2)
RETURN
394 IF ( nb_n_b > ncont)
THEN
395 CALL ancmsg(msgid=85,anmode=aninfo,
400 ELSEIF(i_mem==2)
THEN
404 WRITE(istdo,*)
' **WARNING INTERFACE/MEMORY'
405 WRITE(iout,*)
' **WARNING INTERFACE NB:',noint
406 WRITE(iout,*)
' TOO MANY POSSIBLE IMPACTS'
407 WRITE(iout,*)
' SIZE OF INFLUENCE ZONE IS'
408 WRITE(iout,*)
' MULTIPLIED BY 0.75'
409#include "lockoff.inc"
412 tzinf = three_over_4*tzinf
416 IF( tzinf<=
max(gap+dgapload,drad) )
THEN
417 CALL ancmsg(msgid=98,anmode=aninfo,
418 . i1=noint,c1=
'(I7BUCE)')
424 IF ( nb_n_b > ncont)
THEN
425 CALL ancmsg(msgid=100,anmode=aninfo,
subroutine i7buce(x, irect, nsv, inacti, cand_p, nmn, nrtm, nsn, cand_e, cand_n, gap, noint, ii_stok, ncontact, bminma, tzinf, maxbox, minbox, cand_a, curv_max, nb_n_b, eshift, ild, ifq, ifpen, stfn, nin, stf, igap, gap_s, nsnr, ncont, renum, nsnrold, gap_m, gapmin, gapmax, curv_max_max, num_imp, gap_s_l, gap_m_l, intth, itask, bgapsmx, i_mem, kremnod, remnod, itab, flagremnode, drad, itied, cand_f, dgapload, intheat, idt_therm, nodadt_therm)
subroutine i7buce_vox(x, irect, nsv, inacti, cand_p, nmn, nrtm, nsn, cand_e, cand_n, gap, noint, ii_stok, ncontact, bminma, tzinf, maxbox, minbox, cand_a, curv_max, nb_n_b, eshift, ild, ifq, ifpen, stfn, nin, stf, igap, gap_s, nsnr, ncont, renum, nsnrold, gap_m, gapmin, gapmax, curv_max_max, num_imp, gap_s_l, gap_m_l, intth, itask, bgapsmx, i_mem, kremnod, remnod, itab, flagremnode, drad, itied, cand_f, dgapload, remote_s_node, list_remote_s_node, total_nb_nrtm, intheat, idt_therm, nodadt_therm)
subroutine i7trivox(nsn, renum, nsnr, isznsnr, i_mem, irect, x, stf, stfn, xyzm, nsv, ii_stok, cand_n, eshift, cand_e, mulnsn, noint, tzinf, gap_s_l, gap_m_l, voxel, nbx, nby, nbz, intth, inacti, ifq, cand_a, cand_p, ifpen, nrtm, nsnrold, igap, gap, gap_s, gap_m, gapmin, gapmax, marge, curv_max, nin, itask, bgapsmx, kremnod, remnod, itab, flagremnode, drad, itied, cand_f, dgapload, remote_s_node, list_remote_s_node, total_nb_nrtm, intheat, idt_therm, nodadt_therm)
integer, dimension(lvoxel) voxel1
subroutine i7tri(bpe, pe, bpn, pn, add, irect, x, nb_nc, nb_ec, xyzm, i_add, nsv, i_amax, xmax, ymax, zmax, maxsiz, i_stok, i_mem, nb_n_b, cand_n, cand_e, nsn, noint, tzinf, maxbox, minbox, stf, stfn, j_stok, multimp, istf, itab, gap, gap_s, gap_m, igap, gapmin, gapmax, marge, gap_s_l, gap_m_l, id, titr, ix1, ix2, ix3, ix4, nsvg, prov_n, prov_e, n11, n12, n13, pene, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, x0, y0, z0, nx1, ny1, nz1, nx2, ny2, nz2, nx3, ny3, nz3, nx4, ny4, nz4, p1, p2, p3, p4, lb1, lb2, lb3, lb4, lc1, lc2, lc3, lc4, stif)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)