34 1 X ,V ,IRECT ,NSV ,STFN ,
35 2 NMN ,NRTM ,NSN ,CAND_E ,CAND_N ,
36 3 GAP ,NOINT ,II_STOK ,NCONTACT ,BMINMA ,
37 4 MARGE ,CURV_MAX,PMAX_GAP,VMAXDT ,NB_N_B ,
38 5 ESHIFT ,ILD ,NIN ,STF ,GAP_S ,
39 6 NSNR ,NCONT ,GAP_M ,ITASK ,BGAPSMX ,
40 7 I_MEM ,PENE_OLD,ITAB ,NBINFLG ,MBINFLG ,
41 8 ILEV ,MSEGTYP ,EDGE_L2 ,IEDGE ,ISEADD ,
42 9 ISEDGE ,CAND_T ,FLAGREMNODE,KREMNOD,REMNOD ,
43 A CAND_A ,RENUM ,NSNROLD ,IRTSE ,IS2SE ,
44 B NSNE ,DGAPLOAD,INTHEAT,IDT_THERM,NODADT_THERM)
53#include "implicit_f.inc"
63 INTEGER NMN, NRTM, NSN, NOINT,IDT,NIN, NSNR
64 INTEGER IRECT(4,*),NSV(*),ITASK,ILEV,IEDGE,NSNE
65 INTEGER CAND_E(*),CAND_N(*),MSEGTYP(*)
66 INTEGER NCONTACT,ESHIFT,ILD,NB_N_B, NCONT,I_MEM,
67 . II_STOK,ITAB(*),NBINFLG(*),(*),ISEADD(*),
68 . ISEDGE(*),CAND_T(*),FLAGREMNODE,KREMNOD(*),REMNOD(*),
69 . CAND_A(*) ,RENUM(*),NSNROLD,IRTSE(5,*),IS2SE(2,*)
72 . GAP,PMAX_GAP,VMAXDT,
73 . BMINMA(6),CURV_MAX(NRTM),BGAPSMX, MARGE
74 my_real ,
INTENT(IN) :: dgapload
76 . x(3,*), v(3,*), stfn(*),pene_old(5,nsn),
77 . stf(*), gap_s(*), gap_m(*),edge_l2(*)
81 INTEGER I, J, IP0, IP1, MAXSIZ,
82 . loc_proc, n, isznsnr,
85INTEGER,
INTENT(IN) :: IDT_THERM
86 INTEGER,
INTENT(IN) :: NODADT_THERM
90 INTEGER NBX,NBY,NBZ,NSNF,NSNL
91 INTEGER (KIND=8) :: NBX8,NBY8,NBZ8,RES8,LVOXEL8
101 nsnf = 1 + itask*nsn / nthread
102 nsnl = (itask+1)*nsn / nthread
103 pene_old(4,nsnf:nsnl) = pene_old(3,nsnf:nsnl)
130 . ((bminma(1)-bminma(4))*(bminma(2)-bminma(5))
131 . +(bminma(2)-bminma(5))*(bminma(3)-bminma(6))
132 . +(bminma(3)-bminma(6))*(bminma(1)-bminma(4))))
139 nbx = nint(aaa*(bminma(1)-bminma(4)))
140 nby = nint(aaa*(bminma(2)-bminma(5)))
141 nbz = nint(aaa*(bminma(3)-bminma(6)))
149 res8=(nbx8+2)*(nby8+2)*(nbz8+2)
152 IF(res8 > lvoxel8)
THEN
154 aaa = aaa/((nbx8+2)*(nby8+2)*(nbz8+2))
156 nbx = int((nbx+2)*aaa)-2
157 nby = int((nby+2)*aaa)-2
158 nbz = int((nbz+2)*aaa)-2
167 res8=(nbx8+2)*(nby8+2)*(nbz8+2)
169 IF(res8 > lvoxel8)
THEN
170 nbx =
min(100,
max(nbx8,1))
171 nby =
min(100,
max(nby8,1))
172 nbz =
min(100,
max(nbz8,1))
178 DO i=
inivoxel,(nbx+2)*(nby+2)*(nbz+2)
185 1 nsn ,nsnr ,isznsnr ,i_mem ,vmaxdt ,
186 2 irect ,x ,stf ,stfn ,xyzm ,
187 3 nsv ,ii_stok ,cand_n ,eshift ,cand_e ,
188 4 ncontact,noint ,v ,bgapsmx ,
189 5
voxel1 ,nbx ,nby ,nbz ,pmax_gap ,
190 6 nrtm ,gap_s ,gap_m ,marge ,curv_max ,
191 7 nin ,itask ,pene_old,itab ,nbinflg ,
192 8 mbinflg ,ilev ,msegtyp ,edge_l2 ,iedge ,
193 9 iseadd ,isedge ,cand_t ,flagremnode,kremnod,
194 a remnod ,cand_a ,renum ,nsnrold ,irtse ,
195 b is2se ,nsne ,dgapload,intheat,idt_therm,nodadt_therm)
subroutine i24buce(x, v, irect, nsv, stfn, nmn, nrtm, nsn, cand_e, cand_n, gap, noint, ii_stok, ncontact, bminma, marge, curv_max, pmax_gap, vmaxdt, nb_n_b, eshift, ild, nin, stf, gap_s, nsnr, ncont, gap_m, itask, bgapsmx, i_mem, pene_old, itab, nbinflg, mbinflg, ilev, msegtyp, edge_l2, iedge, iseadd, isedge, cand_t, flagremnode, kremnod, remnod, cand_a, renum, nsnrold, irtse, is2se, nsne, dgapload, intheat, idt_therm, nodadt_therm)
subroutine i24trivox(nsn, nsnr, isznsnr, i_mem, vmaxdt, irect, x, stf, stfn, xyzm, nsv, ii_stok, cand_n, eshift, cand_e, mulnsn, noint, v, bgapsmx, voxel, nbx, nby, nbz, pmax_gap, nrtm, gap_s, gap_m, marge, curv_max, nin, itask, pene_old, itab, nbinflg, mbinflg, ilev, msegtyp, edge_l2, iedge, iseadd, isedge, cand_t, flagremnode, kremnod, remnod, cand_a, renum, nsnrold, irtse, is2se, nsne, dgapload, intheat, idt_therm, nodadt_therm)