35 1 XA ,IRECT ,NSV ,INACTI ,CAND_P ,
36 2 NMN ,NRTM ,NSN ,CAND_E ,CAND_N ,
37 3 GAP ,NOINT ,II_STOK ,TZINF ,MAXBOX ,
38 4 MINBOX ,MWAG ,CURV_MAX,NCONTACT,BMINMA ,
39 5 NB_N_B ,ESHIFT ,ILD ,IFQ ,IFPEN ,
40 6 STFA ,NIN ,STF ,IGAP ,GAP_S ,
41 7 NSNR ,NCONT ,RENUM ,NSNROLD ,GAP_M ,
42 8 GAPMIN ,GAPMAX ,NUM_IMP ,NLN ,NLG ,
43 9 GAP_SH ,NBINFLG ,MBINFLG ,ISYM ,I_MEM ,
44 . INTHEAT ,IDT_THERM, NODADT_THERM)
53#include "implicit_f.inc"
64 INTEGER NMN, , NSN, NOINT, INACTI, IFQ, NIN, NSNR, NSNROLD
65 INTEGER IRECT(4,*),NSV(*),MWAG(*), RENUM(*),NUM_IMP,NLN,ISYM
66 INTEGER CAND_E(*),CAND_N(*),IFPEN(*),NLG(*)
67 INTEGER ,ESHIFT,ILD,NB_N_B, IGAP, ,
68 . NBINFLG(*), MBINFLG(*),I_MEM,II_STOK
69 INTEGER,
INTENT(IN) :: INTHEAT
70 INTEGER,
INTENT(IN) :: IDT_THERM
71 INTEGER,
INTENT(IN) :: NODADT_THERM
74 . gap,tzinf,maxbox,minbox,
78 . xa(3,*), cand_p(*), stfa(*),
79 . stf(*), gap_s(*), gap_m(*), gap_sh(*)
84 PARAMETER (I_ADD_MAX = 10
86 INTEGER , IP0, , MAXSIZ,
87 . add(2,i_add_max), isznsnr
90 . xyzm(6,i_add_max-1), marge
109 maxsiz = 3*(nrtm+100)
112 ip1 = ip0 + nsn + nsnrold + 3
126 xyzm(1,i_add) = bminma(4)
127 xyzm(2,i_add) = bminma(5)
128 xyzm(3,i_add) = bminma(6)
129 xyzm(4,i_add) = bminma(1)
130 xyzm(5,i_add) = bminma(2)
131 xyzm(6,i_add) = bminma(3)
135 IF((inacti==5.OR.inacti==6.OR.inacti==7.OR.ifq>0 .OR.num_imp>0))
THEN
147 1 add ,nsn ,renum ,nsnr ,isznsnr ,
148 2 irect ,xa ,stf ,stfa ,xyzm ,
149 3 i_add ,nsv ,maxsiz ,ii_stok ,cand_n ,
150 4 cand_e ,ncontact,noint ,tzinf ,maxbox ,
151 5 minbox ,i_mem ,nb_n_b ,i_add_max,eshift ,
152 6 inacti ,ifq ,mwag(ip0),cand_p ,ifpen ,
153 7 nrtm ,nsnrold ,igap ,gap ,gap_s ,
154 6 gap_m ,gapmin ,gapmax ,marge ,curv_max,
155 7 nin ,gap_sh ,nbinflg ,mbinflg ,isym ,
156 8 intheat, idt_therm, nodadt_therm)
161 IF (i_mem == 2)
RETURN
164 IF ( nb_n_b > ncont)
THEN
165 CALL ancmsg(msgid=85,anmode=aninfo,
170 ELSEIF(i_mem==2)
THEN
174 WRITE(istdo,*)
' **WARNING INTERFACE/MEMORY'
175 WRITE(iout,*)
' **WARNING INTERFACE NB:',noint
176 WRITE(iout,*)
' TOO MANY POSSIBLE IMPACTS'
177 WRITE(iout,*)
' SIZE OF INFLUENCE ZONE IS'
178 WRITE(iout,*)
' MULTIPLIED BY 0.75'
179#include "lockoff.inc"
181 tzinf = three_over_4*tzinf
185 IF( tzinf<=gap )
THEN
186 CALL ancmsg(msgid=98,anmode=aninfo,
187 . i1=noint,c1=
'(I20BUCE)')
194 IF ( nb_n_b > ncont)
THEN
195 CALL ancmsg(msgid=99,anmode=aninfo,
196 . i1=noint,c1=
'(I20BUCE)')
216 1 XA ,IXLINS ,IXLINM ,NLG ,
217 2 NLINSA ,NMNE ,NLINMA ,CAND_M ,CAND_S ,
218 3 GAP ,NOINT ,II_STOKE,BMINMA ,TZINF ,
219 4 MAXBOX ,MINBOX ,NB_N_B , ESHIFT ,ILD ,
220 6 NCONTACT,ADDCM ,CHAINE ,NIN ,ITAB ,
221 7 NLINSR ,NCONT ,GAP_S ,STIFS , PENIS ,
222 8 IGAP ,STIFM ,IAUTO , I_MEM)
231#include "implicit_f.inc"
232#include "comlock.inc"
236#include "units_c.inc"
241 INTEGER NMNE, NLINMA, NOINT, NLINSA, NIN, NLINSR,
243 INTEGER IXLINS(2,*),IXLINM(2,*),ADDCM(*),CHAINE(2,*)
244 INTEGER CAND_M(*),CAND_S(*),NLG(*)
245 INTEGER ESHIFT,ILD, NB_N_B, NCONTACT, NCONT,
246 . ITAB(*), I_MEM,II_STOKE
249 . GAP,TZINF,MAXBOX,MINBOX,
252 . XA(3,*),GAP_S(*),STIFS(*),PENIS(2,*),STIFM(*)
259 INTEGER I, I_ADD, MAXSIZ,
263 . xyzm(6,i_add_max-1)
264 INTEGER NB_OLD(2,I_ADD_MAX+1)
280 maxsiz = 3*(
max(nlinma,nlinsa+nlinsr)+100)
293 xyzm(1,i_add) = bminma(4)
294 xyzm(2,i_add) = bminma(5)
295 xyzm(3,i_add) = bminma(6)
296 xyzm(4,i_add) = bminma(1)
297 xyzm(5,i_add) = bminma(2)
298 xyzm(6,i_add) = bminma(3)
311 2 ixlins ,ixlinm ,nlinma ,nlinsr ,
312 3 xyzm ,i_add ,maxsiz ,ii_stoke ,cand_s ,
313 4 cand_m ,ncontact,noint ,tzinf ,maxbox ,
314 5 minbox ,i_mem ,nb_n_b ,i_add_max,eshift ,
315 6 addcm ,chaine ,nlinsa ,itab ,nb_old ,
316 7 stifs ,stifm ,iauto ,nin )
321 IF (i_mem == 1 .OR. i_mem==2)
RETURN
324 IF ( nb_n_b >
max(nlinma,nlinsa))
THEN
325 CALL ancmsg(msgid=85,anmode=aninfo,
330 ELSEIF(i_mem==2)
THEN
334 WRITE(istdo,*)
' **WARNING INTERFACE/MEMORY'
335 WRITE(iout,*)
' **WARNING INTERFACE NB:',noint
336 WRITE(iout,*)
' TOO MANY POSSIBLE IMPACTS'
337 WRITE(iout,*)
' SIZE OF INFLUENCE ZONE IS'
338 WRITE(iout,*)
' MULTIPLIED BY 0.75'
339#include "lockoff.inc"
342 tzinf = three_over_4*tzinf
346 IF( tzinf<=gap )
THEN
347 CALL ancmsg(msgid=98,anmode=aninfo,
348 . i1=noint,c1=
'(I20BUCE)')
354 IF ( nb_n_b >
max(nlinma,nlinsa))
THEN
355 CALL ancmsg(msgid=99,anmode=aninfo
356 . i1=noint,c1=
'(I20BUCE)')
subroutine i20buc_edge(xa, ixlins, ixlinm, nlg, nlinsa, nmne, nlinma, cand_m, cand_s, gap, noint, ii_stoke, bminma, tzinf, maxbox, minbox, nb_n_b, eshift, ild, ncontact, addcm, chaine, nin, itab, nlinsr, ncont, gap_s, stifs, penis, igap, stifm, iauto, i_mem)
subroutine i20buce(xa, irect, nsv, inacti, cand_p, nmn, nrtm, nsn, cand_e, cand_n, gap, noint, ii_stok, tzinf, maxbox, minbox, mwag, curv_max, ncontact, bminma, nb_n_b, eshift, ild, ifq, ifpen, stfa, nin, stf, igap, gap_s, nsnr, ncont, renum, nsnrold, gap_m, gapmin, gapmax, num_imp, nln, nlg, gap_sh, nbinflg, mbinflg, isym, i_mem, intheat, idt_therm, nodadt_therm)
subroutine i20tri_edge(add, xa, nlg, ixlins, ixlinm, nlinma, nlinsr, xyzm, i_add, maxsiz, ii_stoke, cand_s, cand_m, nsn4, noint, tzinf, maxbox, minbox, i_mem, nb_n_b, i_add_max, eshift, addcm, chaine, nlinsa, itab, nb_old, stfs, stfm, iauto, nin)
subroutine i20tri(add, nsn, renum, nsnr, isznsnr, irect, xa, stf, stfa, xyzm, i_add, nsv, maxsiz, ii_stok, cand_n, cand_e, mulnsn, noint, tzinf, maxbox, minbox, i_mem, nb_n_b, i_add_max, eshift, inacti, ifq, cand_a, cand_p, ifpen, nrtm, nsnrold, igap, gap, gap_s, gap_m, gapmin, gapmax, marge, curv_max, nin, gap_sh, nbinflg, mbinflg, isym, intheat, idt_therm, nodadt_therm)
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)