103 2 ISENDTO ,IRCVFROM ,IAD_ELEM,FR_ELEM ,ITABM1 ,
104 3 IPARI ,IPARG ,ITAB ,IXS10 ,IXS20 ,
105 4 I13A ,I13B ,I13C ,I13D ,I13E ,
106 5 I13F ,I13G ,I13H ,I13I ,I15A ,
107 6 I15B ,I15C ,I15D ,I15E ,I15F ,
108 7 I15G ,I15H ,I15I ,I87A ,I87B ,
109 8 I87C ,I87D ,I87E ,I87F ,I87G ,
110 9 NFIA ,NFEA ,NFOA ,NDMA ,NDMA2 ,
111 A NODFT ,NODLT ,NDTASK ,NUMNTHREAD ,IXS16 ,
112 B IXS ,IXQ ,IXC ,IXT ,IXP ,
113 C IXR ,IXTG ,PON, IKINE ,
115 E X ,D ,MS ,IN ,STIFN ,
116 F STIFR ,DMAS ,DINER ,
118 H PARTSAV ,PARTS0 ,MONVOL ,
119 I I87H ,I87I ,I87J ,I87K ,
121 K SECBUF ,SECFCUM ,NSTRF ,IGRNOD ,IEXLNK ,
123 M IXTG1 ,IB ,VISCN ,DD_R2R ,
124 O ELBUF ,IPART ,MADPRT ,MADSH4 ,
125 P MADSH3 ,MADSOL ,MADNOD ,MADFAIL ,IGEO ,
126 Q INTLIST ,NBINTC ,PROCNE ,NISKYFI ,WEIGHT ,
127 R ISIZXV ,ILENXV ,ADDCNI2 ,PROCNI2 ,IAD_I2M ,
128 S FR_I2M ,FR_NBCCI2,I2SIZE ,FR_MAD ,LWIBEM ,
129 T LWRBEM ,FXBFP ,FXBEFW ,FXBEDP ,FXBGRP ,
131 V ISLEN7 ,IRLEN7 ,ISLEN11 ,IRLEN11 ,
132 W LWIFLOW ,LWRFLOW ,IFLOW ,ADDCNEL ,CNEL ,
133 X ADDTMPL ,IPARTL ,NPARTL ,NFNCA ,NFTCA ,
134 Y I15ATH ,I35ATH ,IPM ,SH4TREE ,IPADMESH ,
135 Z MSC ,INC ,SH3TREE ,MSTG ,INTG ,
136 a PTG ,FTHE ,FTHESKY ,FTHESKYI ,NME17 ,
137 b ISLEN17 ,IRLEN17 ,IRLEN7T ,ISLEN7T ,LINDIDEL ,
138 c LBUFIDEL,SH4TRIM ,SH3TRIM ,MSCND ,INCND ,
139 d IRLEN20 ,ISLEN20 ,IRLEN20T,ISLEN20T ,NBINT20 ,
140 e IRLEN20E,ISLEN20E ,NISKYFIE,
141 f MCP ,MS0 ,INOD_PXFEM,IEL_PXFEM,IADC_PXFEM,
142 g ADSKY_PXFEM,ICODT,ICODR ,IBFV ,ADMSMS ,
143 h NODREAC ,IGROUC ,NGROUC ,IGROUNC ,NGROUNC ,
144 i FR_RBY ,FR_RBY6 ,NPBY ,
145 j NOM_SECT ,MCPC ,MCPTG ,GRTH ,IGRTH ,
146 k NELEM ,LAG_SEC ,NPRW ,DIAG_SMS ,DMELC ,
147 l DMELTG ,NGRTH ,NFT2 ,DMELS ,DMELTR ,
148 m DMELP ,DMELRT ,RES_SMS ,I87L ,IRBE2 ,
149 n LRBE2 ,NMRBE2 ,IAD_RBE2 ,FR_RBE2 ,FR_RBE2M ,
150 o R2SIZE ,LPBY ,PROCNE_PXFEM ,ISENDP_PXFEM,IRECVP_PXFEM,
151 p IADSDP_PXFEM,IADRCP_PXFEM,FR_NBCC1,RBY,INT18KINE ,
152 q XDP ,I87M,INOD_CRKXFEM,IEL_CRKXFEM ,IADC_CRKXFEM,
153 r ADSKY_CRKXFEM,PROCNE_CRKXFEM,ISENDP_CRKXFEM,IRECVP_CRKXFEM,
154 s IADSDP_CRKXFEM,IADRCP_CRKXFEM ,INT24USE,NDAMA2 ,
155 t IGROUPC ,IGROUPTG ,IGROUPS ,IGROUPFLG ,DMINT2 ,IRBKIN_L,
156 u NRBYKIN_L,KINDRBY ,ELBUF_TAB ,SENSORS ,DD_R2R_ELEM,
157 v SDD_R2R_ELEM ,KINET, WEIGHT_MD,DMSPH ,IOLDSECT,LBUFIDEL24,
158 w INTBUF_TAB ,NUMSPH_GLO_R2R, FLG_SPHINOUT_R2R,I15K,
159 y CONDN ,CONDNSKY ,KXFENOD2ELC ,ELCUTC ,NODEDGE,
160 z IAD_EDGE ,CRKNODIAD,FR_EDGE ,FR_NBEDGE ,NODLEVXF,
161 x CRKEDGE ,XFEM_TAB ,ISENSINT , NISUBMAX,
162 1 INTLIST25 ,INT24E2EUSE ,TABMP_L ,
163 2 I87N ,TAB_MAT,H3D_DATA,TAGTRIMC,TAGTRIMTG,
164 3 IGRBRIC ,IGRQUAD ,IGRSH4N ,IGRSH3N ,IGRTRUSS ,
165 4 IGRBEAM ,IGRSPRING,IGRPART ,FORNEQS ,INT7ITIED ,
166 5 FXVEL_FGEO,FAILWAVE,NLOC_DMG,PINCH_DATA,SLLOADP ,
167 6 TAGSLV_RBY,NFNCA2 ,NFTCA2 ,IN0 ,SORT_COMM,STACK,OUTPUT,
168 7 THKE ,SFR_ELEM ,SH_OFFSET_TAB,
169 8 NEED_COMM_INT25_SOLID_EROSION,COMM_INT25_SOLID_EROSION,
170 9 ISKWN ,IFRAME, LOADS ,GLOB_THERM,PBLAST,RBE3,NHIER_RBY)
193 USE inter_sh_offset_ini_mod ,
only : inter_sh_offset_ini
194 USE inter_sh_offset_mod ,
only:sh_offset_
196 USE inivel_init_mod ,
only: inivel_init
198 use spmd_xv_inter_type1_mod ,
only : is_present_inter1
199 USE parith_on_mod,
only: element_pon_
201 use element_mod ,
only : nixs,nixq,nixc,nixt,nixp,nixr,nixtg
205#include "implicit_f.inc"
209#include "com01_c.inc"
210#include "com04_c.inc"
211#include "com08_c.inc"
212#include "com10_c.inc"
213#include "com_xfem1.inc"
214#include "param_c.inc"
215#include "scr02_c.inc"
216#include "scr03_c.inc"
217#include "scr07_c.inc"
218#include "scr12_c.inc"
219#include "scr14_c.inc"
220#include "scr16_c.inc"
221#include "scr17_c.inc"
222#include "scr23_c.inc"
223#include "units_c.inc"
224#include "cong2_c.inc"
226#include "parit_c.inc"
227#include "timerc_c.inc"
228#include "rad2r_c.inc"
229#include "scr18_c.inc"
232#include "flowcom.inc"
233#include "remesh_c.inc"
235#include "lagmult.inc"
237#include "intstamp_c.inc"
241 TYPE(element_pon_) :: PON
242 INTEGER ITASK, NBINTC, NODFT, , LINDIDEL, LBUFIDEL,
243 . numnthread, ndtask, nfia, nfea, nfoa ,ndma, nfnca, nftca,
244 . ndma2,ndin,n1,n2,n3,igtyp,npartl,ngrouc,ngrounc,
245 . i13a,i13b,i13c,i13d,i13e,i13f,i13g,i13h,i13i,
246 . i15a,i15b,i15c,i15d,i15e,i15f,i15g,i15h,i15i,i15j,i15k,
247 . i87a,i87b,i87c,i87d,i87e,i87f,i87g,i87h,i87i,i87j,
248 . i87k,i87l,i87m,i87n,nfnca2,nftca2,
249 . isizxv , ilenxv, i2size, islen7,irlen7 ,islen11 ,irlen11,
250 . i15ath, i35ath, nme17,islen17,irlen17,irlen7t,islen7t,
251 . irlen20,islen20,irlen20t,islen20t,nbint20,irlen20e,
252 . islen20e,nelem,lag_sec, ngrth, nft2,nmrbe2,
253 . int18kine,int24use,ndama2, nrbykin_l,ioldsect,lbufidel24,
254 . tabmp_l,tagtrimc(*),tagtrimtg(*), slloadp,sfr_elem
256 . ixs(nixs,*),ixs10(6,*) ,ixs20(12,*),
257 . ixs16(6,*) , igeo(npropgi,*),
258 . ixq(nixq,*),ixc(nixc,*), ixt(nixt,*), ixp(nixp,*),
259 . ixr(nixr,*), ixtg(nixtg,*), ixtg1(4,*),
260 . itab(*), iparg(nparg,*), ipari(npari,*),
262 . weight(*), nstrf(*), ib(nibcld,*), itabm1(*),
263 . monvol(*),kxx(nixx,*),isendto(ninter+1,nspmd+1),
264 . fr_nbcc(2,nspmd+1), iad_elem(2,nspmd+1) ,fr_elem(*),
265 . ircvfrom(ninter+1,nspmd+1), intlist(ninter), procne(*),
266 . niskyfi(*),addcni2(*),procni2(*),iad_i2m(*),fr_i2m(*),
267 . fr_nbcci2(*), ipart(*),
268 . dd_r2r(nspmd+1,*),ipartl(*),
269 . madprt(*), madsh4(*), madsh3(*), madsol(*), madnod(*),
270 . madfail(*), fr_mad(5,*), lwibem, lwrbem, lwiflow, lwrflow,
271 . iflow(*), addcnel(0:*), cnel(0:*), addtmpl(0:*),
272 . ipm(npropmi,*), sh4tree(*), ipadmesh(*), sh3tree(*),
273 . sh4trim(*), sh3trim(*), niskyfie(*),
274 . icodt(*), icodr(*),ibfv(nifv,*),
275 . inod_pxfem(*),iel_pxfem(*) ,iadc_pxfem(4,*),elcutc(2,*),
276 . adsky_pxfem(*), kxfenod2elc(*),nodlevxf(*),crknodiad(*),
277 . nodedge(*),iad_edge(*),fr_edge(*),fr_nbedge(*), nodreac(*),
278 . igrouc(*),igrounc(*),fr_rby(*),fr_rby6(*),npby(*),
279 . nom_sect(*), grth(*),igrth(*), nprw(*),iad_rbe2(*),
280 . fr_rbe2(*),fr_rbe2m(*),r2size, irbe2(nrbe2l,*),lrbe2(*),
281 . ikine(numnod),lpby(*), procne_pxfem(*),
282 . isendp_pxfem(*),irecvp_pxfem(*),iadsdp_pxfem(*),
283 . iadrcp_pxfem(*),fr_nbcc1(2,*),inod_crkxfem(*),
284 . iel_crkxfem(*),iadc_crkxfem(*),adsky_crkxfem(0:*),
285 . procne_crkxfem(*),isendp_crkxfem(*),irecvp_crkxfem(*),
286 . iadsdp_crkxfem(*),iadrcp_crkxfem(*
287 . igroupc(*),igrouptg(*),igroups(*),igroupflg(2),
288 . irbkin_l(*), kindrby(*), dd_r2r_elem(*),sdd_r2r_elem,
289 . kinet(*),weight_md(*),numsph_glo_r2r,flg_sphinout_r2r,
290 . isensint(nisubmax+1,ninter),nisubmax,
291 . intlist25(ninter25) ,int24e2euse ,fxvel_fgeo,
293 INTEGER,
INTENT(IN ),
DIMENSION(LISKN,NUMFRAM+1) :: IFRAME
294 INTEGER,
INTENT(IN ),
DIMENSION(LISKN,NUMSKW+1) :: ISKWN
299 INTEGER,
INTENT(INOUT) :: INT7ITIED
300 INTEGER,
INTENT(INOUT) :: NHIER_RBY
302 . X(3,*), D(3,*), V(3,*), VR(3,*),
303 . MS(*), IN(*), WA(*), A(3,*), AR(3,*),
304 . UWA(*), STIFN(*), STIFR(*),
305 . PARTSAV(NPSAV,*),PARTS0(*),
307 . PM(NPROPM,*) , GEO(NPROPG,*),
309 . SECBUF(*),SECFCUM(7,NUMNOD,NSECT),XFRAME(NXFRAME,*),
310 . elbuf(*), msc(*), inc(*), mstg(*), intg(*), ptg(*),
311 . mscnd(*), incnd(*), fthe(*), fthesky(*),ftheskyi(*), mcp(*),
312 . ms0(*), admsms(*), mcpc(*), mcptg(*), diag_sms(*),
313 . dmelc(*), dmeltg(*), dmels(*), dmeltr(*), dmelp(*), dmelrt(*),
314 . res_sms(3,*),rby(nrby,*), dmint2(4,i2nsn25),
315 . dmsph(*),condn(*),condnsky ,tab_mat(ngroup),forneqs(3,*)
317 . fxbfp(*), fxbefw(*), fxbedp(*), fxbgrp(*), fxbgrw(*),in0(*)
319 . thke(numelc+numeltg)
325 LOGICAL,
DIMENSION(NSPMD),
INTENT(inout) :: NEED_COMM_INT25_SOLID_EROSION
326 INTEGER,
INTENT(inout) :: COMM_INT25_SOLID_EROSION
328 DOUBLE PRECISION XDP(3,*)
329 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
330 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
331 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP,NXEL) :: XFEM_TAB
332 TYPE (XFEM_EDGE_) ,
DIMENSION(*) :: CRKEDGE
333 TYPE(H3D_DATABASE) :: H3D_DATA
334 TYPE (PINCH) :: PINCH_DATA
335 TYPE (SENSORS_) :: SENSORS
337 TYPE (GROUP_) ,
DIMENSION(NGRBRIC) :: IGRBRIC
338 TYPE (GROUP_) ,
DIMENSION(NGRQUAD) :: IGRQUAD
339 TYPE (GROUP_) ,
DIMENSION(NGRSHEL) :: IGRSH4N
340 TYPE (GROUP_) ,
DIMENSION(NGRSH3N) :: IGRSH3N
341 TYPE (GROUP_) ,
DIMENSION(NGRTRUS) :: IGRTRUSS
342 TYPE (GROUP_) ,
DIMENSION(NGRBEAM) :: IGRBEAM
343 TYPE (GROUP_) ,
DIMENSION(NGRSPRI) :: IGRSPRING
344 TYPE (GROUP_) ,
DIMENSION(NGRPART) :: IGRPART
345 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
347 TYPE (FAILWAVE_STR_) ,
TARGET :: FAILWAVE
348 TYPE (NLOCAL_STR_) ,
TARGET :: NLOC_DMG
349 TYPE(sorting_comm_type),
DIMENSION(NINTER),
INTENT(inout) :: SORT_COMM
350 TYPE (STACK_PLY) :: STACK
352 TYPE(OUTPUT_),
INTENT(INOUT) :: OUTPUT
353 TYPE(sh_offset_) :: SH_OFFSET_TAB
354 TYPE (LOADS_) ,
INTENT(INOUT) :: LOADS
355 type (glob_therm_) ,
intent(inout) :: glob_therm
356 type (pblast_) ,
intent(inout) :: pblast
357 type (rbe3_) ,
intent(inout) :: rbe3
361 INTEGER IMUEL, I, J, K, NG, NINT7,NNOD,K2S,K0,IAD1,IDUM,LLL,
362 . lrbuf, libuf, ity, iad, nnbem, ityp,irotg,ns,lf,lt,ll,l,
363 . l1,l2,isectr,nfr,ic,icr,nisub, ni25,nbr,nsensor,inloc
364 INTEGER JD(50),KD(50),JFI,KFI,NMN,II,NINOUT,NNO,NEL,IFLGADM,
365 . N,JJ,KK, NFT, ISOLNOD,NBS
366 INTEGER,
DIMENSION(SENSORS%NSENSOR) :: INDEX_SENSOR
367 INTEGER,
DIMENSION(:),
ALLOCATABLE :: ISEND,IRECV
368 INTEGER :: ITIED,NINIVELTG
376 nsensor = sensors%NSENSOR
390 CALL init_kyne(ikine,npby,lpby,tagslv_rby,nhier_rby)
396 IF (ireac == 1 )
CALL init_reac_nod(cptreac,nodreac,nthgrp,output%TH%ITHGRP,output%TH%ITHBUF)
401 IF (igrelem == 1 )
THEN
403 . ipart ,igrbric ,igrquad ,igrsh4n ,igrsh3n,
404 . igrtruss ,igrbeam ,igrspring)
407 IF (imassi /= 0)
THEN
408 ms(1:numnod)=ms0(1:numnod)
409 IF (iroddl /=0) in(1:numnod)=in0(1:numnod)
416 irotg=
max(irotg,rbe3%IRBE3(6,i))
430 icr=(ic-512*(ic/512))/64
432 IF (irbe2(11,i)==0) irotg =1
442 IF (ns==0) r2size = 0
443 nfr = iad_rbe2(nspmd+1)-iad_rbe2(1)
451 CALL rbe2_init(irbe2 ,lrbe2 ,nmrbe2 ,fr_rbe2 ,fr_rbe2m,nfr)
454 1 ipari ,isendto ,ircvfrom,intlist ,nbintc ,
455 2 isizxv ,ilenxv ,iad_elem,i2size ,itask ,
456 3 islen7 ,irlen7 ,islen11 ,irlen11 ,igrbric ,
457 4 nme17 ,islen17 ,irlen17 ,irlen7t ,islen7t ,
458 5 lindidel,lbufidel,irlen20 ,islen20 ,irlen20t,
459 6 islen20t,nbint20 ,irlen20e,islen20e,fr_rby ,
460 7 fr_rby6 ,npby ,irbkin_l,nrbykin_l,kindrby,
461 8 nsensor ,sensors%SENSOR_TAB,lbufidel24, intbuf_tab,
462 9 sort_comm,need_comm_int25_solid_erosion,comm_int25_solid_erosion )
464 IF(idel7ng>0.OR.irad2r>0.OR.
alemuscl_param%IALEMUSCL>0.OR.pdel>0)
THEN
466 2 ixs ,ixq ,ixc ,ixt ,ixp ,
467 3 ixr ,ixtg ,ixs10 ,ixs20 ,
468 4 ixs16 ,ixtg1 ,geo ,addcnel ,cnel ,
473 IF (irad2r /= 0)
THEN
474 CALL r2r_init(iexlnk ,itab,igrnod,x ,
475 2 ms ,in ,dd_r2r,weight ,iad_elem,
476 3 fr_elem,addcnel,cnel,ixc,iparg,icodt,icodr,
477 4 ibfv,d,rby,npby,xdp,stifn,stifr,dd_r2r_elem,
478 5 sdd_r2r_elem,weight_md,ilenxv,numsph_glo_r2r,
479 6 flg_sphinout_r2r,ipari,nloc_dmg)
484 nfia = numnod*
min(1,anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONT)
486 nfea = nfia + numnod*
min(1,anim_v(5)+outp_v(5)+h3d_data%N_VECT_FINT)
488 nfnca= nfea + numnod*
min(1,anim_v(6)+outp_v(6)+h3d_data%N_VECT_FEXT)
490 nftca= nfnca+ numnod*
min(1,anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT)
492 nfoa = nftca+ numnod*
min(1,anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT)
494 nft2 = nfoa+ 2*(nsect+nrbody+nrwall)
496 nfnca2= nft2 + numnod*
min(1,anim_v(13)+h3d_data%N_VECT_CONT2)
498 nftca2= nfnca2+ numnod*
min(1,anim_v(27)+h3d_data%N_VECT_PCONT2)
502 ndma = numnod*
min(1,anim_n(1)+outp_n(1)+h3d_data%N_SCAL_DT)
504 ndin = ndma +numnod*
min(1,anim_n(2)+outp_n(2)+h3d_data%N_SCAL_DMAS)
505 ! anin(1,ndma2+1) = scal_spring
506 ndma2 = ndin+numnod*
min(1,anim_n(12)+outp_n(3)+h3d_data%N_SCAL_DINER)
508 ndama2 = ndma2+numelr*(anim_fe(11)+anim_fe(12)+anim_fe(13))
517 i = intbuf_tab(ng)%MSR(ii)
518 intbuf_tab(ng)%NMAS(nmn+ii) = in(i)
520 IF (irad2r==1) in(i)=
max(em20,in(i))
528 IF(mcheck==0)ncycle=0
541 i15ath=1+lipart1*(npart+nthpart)
542 i15a=i15ath+2*9*(npart+nthpart)
553 i35ath=1+lisub1*nsubs
556 i87b = i87a + 8 * numels + 6 * numels10 + 12 * numels20 + 8 * numels16
557 i87c = i87b + 4 * numelq
558 i87d = i87c + 4 * numelc
559 i87e = i87d + 2 * numelt
560 i87f = i87e + 2 * numelp
561 i87g = i87f + 3 * numelr
562 i87h = i87g + 3 * numeltg
563 i87h = i87h + 3 * numeltg6
565 i87j = i87i + 4 * nskymv0
566 i87k = i87j + 4 * nconld
567 i87l = i87k + 4 * glob_therm%NUMCONV
568 i87m = i87l + 4 * glob_therm%NUMRADIA
569 i87n = i87m + slloadp
575 IF (kxx(3,i)>maxnx) maxnx=kxx(3,i)
579 partsav(8,i)=parts0(i)
583 CALL date_and_time(startdate, starttime, zone, values)
584 WRITE(istdo,
'(A,I2.2,A,I2.2,A,I4.4)')
' ',values(3),
'/',values(2),
'/',values(1)
585 WRITE(iout,
'(A,I2.2,A,I2.2,A,I4.4)')
' ',values(3),
'/',values(2),
'/',values(1)
593 IF(dtin/=0. .AND. mcheck==0)
THEN
597 dt2old=
min(dt2old,dtin/onep1)
600 IF(anim_v(26)+h3d_data%N_VECT_CONT_MAX >0)
ifcontmax=1
606 IF(h3d_data%N_SCAL_CSE_FRIC >0)
THEN
607 output%DATA%S_EFRIC = numnod
608 IF(nintstamp/=0) output%DATA%S_EFRICG = numnodg
610 IF(output%DATA%NINEFRIC >0) output%DATA%S_EFRICINT
611 IF(output%DATA%NINEFRIC_STAMP >0) output%DATA%S_EFRICINTG = numnodg
616 write(6,*)
'Non supported /PARITH option'
617 ELSEIF(iparit/=0)
THEN
627 1 pon%ADSKY ,pon%ADSKY(iad1),pon%FSKY ,pon%FSKYM ,iad_elem ,
628 2 fr_elem ,fr_nbcc ,procne,niskyfi ,addcni2 ,
629 3 procni2 ,iad_i2m ,fr_i2m,fr_nbcci2,addcni2(iad1),
630 4 pon%IADSDP ,pon%IADRCP ,pon%ISENDP,pon%IRECVP ,fthesky ,
631 5 niskyfie,inod_pxfem ,adsky_pxfem,procne_pxfem,
632 6 isendp_pxfem,irecvp_pxfem ,iadsdp_pxfem,iadrcp_pxfem,
633 7 fr_nbcc1,inod_crkxfem,adsky_crkxfem,procne_crkxfem,
634 8 isendp_crkxfem,irecvp_crkxfem,iadsdp_crkxfem,iadrcp_crkxfem,
635 9 condnsky,glob_therm)
639 1 ipartl ,ipart(i15a),ipart(i15b),ipart(i15c),ipart(i15d),
640 2 ipart(i15e),ipart(i15f),ipart(i15g),ipart(i15h),ipart(i15i),
641 3 ipart(i15j),ipart(i15k),npartl )
646 1 iparg, igrouc, ngrouc, igrounc, ngrounc,
647 2 ixc,ixs,ixtg,ipm,igeo,pm,geo,tabmp_l,tab_mat)
651 IF(igroupflg(1) == 1 )
CALL findgroupc(iparg, igrouc, ngrouc, igroupc, igrouptg)
655 IF(igroupflg(2) == 1 )
CALL findgroups(iparg, igroups)
663 k2s=k0+30+nstrf(k0+14)
665 secfcum(4,nstrf(k2s),i)=1.
668 IF (nstrf(k0) >= 100 ) isectr = i
671 CALL section_init(nstrf,secbuf,nom_sect,isectr,nsect,ioldsect)
678 IF(igtyp==1.OR.(igtyp>=9 .AND. igtyp<=11).OR.igtyp==16)
THEN
679 geo(18,i) = sqrt(geo(13,i))
680 geo(19,i) = sqrt(geo(14,i))
681 geo(20,i) = sqrt(geo(15,i))
689 geo(100,i) = sqrt(geo(38,i))
692 IF(ipm(2,i)==999)cycle
693 pm(12,i) = sqrt(abs(pm(22,i)))
694 pm(13,i) = sqrt(abs(pm(24,i)))
695 pm(14,i) = sqrt(abs(pm(25,i)))
696 pm(190,i)= sqrt(abs(pm(21,i)))
723 lwibem=lwibem+1+nnbem
724 lwrbem=lwrbem+nnbem**2
736 IF (ityp == 1 .OR.ityp == 3)
THEN
737 lwiflow=lwiflow+iflow(iad+8)
738 lwrflow=lwrflow+iflow(iad+9)
750 CALL admini(ixc ,ipart(i15c),ixtg ,ipart(i15h),ipart,
751 . igeo,ipm ,iparg ,x ,ms ,
752 . in ,elbuf_tab ,sh4tree,ipadmesh,msc ,
753 . inc ,sh3tree ,mstg ,intg ,ptg ,
754 . sh4trim ,sh3trim,mscnd ,incnd ,pm ,
755 . mcp ,mcpc ,mcptg ,tagtrimc ,tagtrimtg,
756 . glob_therm%ITHERM_FE)
758 CALL admordr(sh4tree,sh3tree,ixc,ixtg)
764 CALL cndordr(ipart,ipart(i15c),ipart(i15h),sh4tree,sh3tree)
769 IF(lag_ncf+lag_ncl > 0)
THEN
773 IF(ipari(33,i)/=0)lag_sec=1
776 IF(nprw(i+5*nrwall)==1)lag_sec=1
778 IF(nbcslag+ngjoint+nrbylag > 0)lag_sec=1
785 is_present_inter1 = -1
791 IF(ipari(7,i) == 7 .AND. ipari(34,i) == -2 .AND. ipari(22,i) == 7)
THEN
802 IF(ityp==7.AND.itied/=0)
THEN
805 IF(ityp==10) int7itied = 1
812 IF(ipari(7,i)==24)
THEN
815 IF(ipari(59,i) >0) int24e2euse=1
823 IF(ipari(7,i)==25)
THEN
831 IF (sensors%STABSEN > 0)
THEN
834 isensint(1,n) = sensors%TABSENSOR(n+1 + nsect) - sensors%TABSENSOR(n + nsect)
836 IF (ipari(71,n)>0)
THEN
838 isensint(1,n) = isensint(1,ipari(71,n))
842 isensint(i+1,n) = sensors%TABSENSOR(i +1 + nsect + ninter) -
843 . sensors%TABSENSOR(i + nsect + ninter)
852 IF (ipari(7,i) == 2 .AND. ipari(20,i) == 25)
THEN
879 IF(ninter/=0.AND.anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONT >0) output%DATA%VECT_CONT = 0
880 IF(anim_v(12)+outp_v(12)+h3d_data%N_VECT_PCONT>0)
THEN
881 output%DATA%VECT_PCONT = 0
882 output%DATA%VECT_PCONT_2 = 0
884 IF(anim_n(2)+outp_n(2)+h3d_data%N_SCAL_DMAS >0)
THEN
885 output%DATA%SCAL_DMAS = 0
891 IF(anim_n(12)+outp_n(3)+h3d_data%N_SCAL_DINER >0)
THEN
892 output%DATA%SCAL_DINER = 0
898 IF(anim_n(15) == 1 .OR. anim_n(16) == 1 .OR. h3d_data%N_SCAL_DAMA2 == 1)
THEN
899 output%DATA%SCAL_DAMA2 = 0
909 CALL zeror(a(1,ndtask),numnod)
910 IF(iroddl/=0)
CALL zeror(ar(1,ndtask),numnod)
911 DO i=ndtask,ndtask+numnod-1
915 DO i=ndtask,ndtask+numnod-1
921 CALL zero1(viscn(ndtask),numnod)
924 IF (glob_therm%ITHERM_FE > 0)
THEN
925 CALL zero1(fthe(ndtask),numnod)
928 IF(sol2sph_flag/=0)
THEN
929 CALL zero1(dmsph(ndtask),numnod)
932 IF (glob_therm%NODADT_THERM > 0)
THEN
933 CALL zero1(condn(ndtask),numnod)
938 DO i=ndtask,ndtask+numnod-1
939 pinch_data%STIFPINCH(i)=em20
943 CALL zeror(a(1,nodft),numnthread)
944 IF(iroddl/=0)
CALL zeror(ar(1,nodft),numnthread)
954 CALL zero1(viscn(nodft
957 IF (glob_therm%ITHERM_FE > 0 )
THEN
958 CALL zero1(fthe(nodft),numnthread)
961 IF(sol2sph_flag/=0)
THEN
962 CALL zero1(dmsph(nodft),numnthread)
965 IF (glob_therm%NODADT_THERM > 0)
THEN
966 CALL zero1(condn(nodft),numnthread)
970 CALL zeror(pinch_data%APINCH(1,nodft),numnthread)
972 pinch_data%STIFPINCH(i)=em20
981 stifn(i) = stifn(i)*weight(i)
986 stifr(i) = stifr(i)*weight(i)
994 IF (itask==0)
CALL imp_init(v,vr,iparg,ipm,igeo,elbuf_tab)
1001 1 iparg ,elbuf_tab ,pon%FSKY ,pon%FSKY ,fthesky,
1002 2 pon%IADC,pon%IAD_TG,iflgadm,igrouc,ngrouc,
1003 3 condnsky ,glob_therm%NODADT_THERM)
1007 IF( itask == 0)
CALL kinini()
1011 IF(idtmins == 1 .AND. idtmins_old == 1)
THEN
1012 IF(dtfacs /= dtfacs_old .OR. dtmins /= dtmins_old)
THEN
1014 admsms(nodft:nodlt)=zero
1015 res_sms(1:3,nodft:nodlt)=zero
1016 ELSEIF(idtgrs_old/=0)
THEN
1018 . -idtgrs /= igrpart(idtgrs_old)%ID)
THEN
1021 admsms(nodft:nodlt)=zero
1022 res_sms(1:3,nodft:nodlt)=zero
1026 ELSEIF(idtgrs_old==0.AND.idtgrs/=0)
THEN
1029 admsms(nodft:nodlt)=zero
1030 res_sms(1:3,nodft:nodlt)=zero
1035 ELSEIF(idtmins == 2 .AND. idtmins_old == 2)
THEN
1036 IF(dtfacs /= dtfacs_old .OR. dtmins /= dtmins_old)
THEN
1038 ELSEIF(idtgrs_old/=0)
THEN
1040 . -idtgrs/= igrpart(idtgrs_old)%ID)
THEN
1044 dmelc(1:numelc )=zero
1045 dmeltg(1:numeltg)=zero
1046 dmels(1:numels )=zero
1047 dmeltr(1:numelt )=zero
1048 dmelp(1:numelp )=zero
1049 dmelrt(1:numelr )=zero
1052 res_sms(1:3,nodft:nodlt)=zero
1056 ELSEIF(idtgrs_old==0.AND.idtgrs/=0)
THEN
1060 dmelc(1:numelc )=zero
1061 dmeltg(1:numeltg)=zero
1062 dmels(1:numels )=zero
1063 dmeltr(1:numelt )=zero
1064 dmelp(1:numelp )=zero
1065 dmelrt(1:numelr )=zero
1066 dmint2(1:4,1:i2nsn25)=zero
1068 res_sms(1:3,nodft:nodlt)=zero
1075 admsms(nodft:nodlt)=zero
1076 res_sms(1:3,nodft:nodlt)=zero
1078 ELSEIF(idtmins == 2 .AND. idtmins_old
THEN
1081 dmelc(1:numelc )=zero
1082 dmeltg(1:numeltg)=zero
1083 dmels(1:numels )=zero
1084 dmeltr(1:numelt )=zero
1085 dmelp(1:numelp )=zero
1086 dmelrt(1:numelr )=zero
1087 dmint2(1:4,1:i2nsn25)=zero
1089 res_sms(1:3,nodft:nodlt)=zero
1091 ELSEIF(idtmins_int /= 0 .AND. idtmins_int_old /= idtmins_int)
THEN
1093 res_sms(1:3,nodft:nodlt)=zero
1101 IF((idtmins==2.AND.idtmins_old/=idtmins).OR.
1102 . (idtmins_int/=0.AND.idtmins_int_old/=idtmins_int))
THEN
1107 IF(anim_ply > 0.AND. itask == 0)
THEN
1111 IF (icrack3d > 0 .AND. itask == 0)
THEN
1113 . iadc_crkxfem,iadc_crkxfem(1+4*ecrkxfec))
1119 IF (itask == 0)
THEN
1148 .
CALL tmax_ipart(iparg ,ipart ,ipart(i15a),ipart(i15c),
1149 . ipart(i15i),h3d_data)
1151 . ixs ,ixs10 ,ixs16 ,ixs20 ,ixq ,
1152 . ixc ,ixtg ,ixt ,ixp ,ixr ,
1153 . x ,d ,v ,iad_elem ,fr_elem ,
1154 . weight ,ipm ,igeo ,stack ,itask )
1156 IF (failwave%WAVE_MOD > 0)
THEN
1160 IF (nloc_dmg%IMOD > 0)
THEN
1168 IF (idttsh>0)
CALL dim_tshedg(elbuf_tab ,ntsheg, ixs ,iparg )
1173 IF (ntsheg > 0)
THEN
1174 ALLOCATE (
ienunl(2*ntsheg),alpha_dc(numnod))
1179 nbs = iad_elem(1,nspmd+1)-iad_elem(1,1)
1180 ALLOCATE (isend(nbs),irecv(nbs))
1188 DEALLOCATE(isend,irecv)
1194 CALL inter_sh_offset_ini(
1195 . ngroup, nparg, iparg, npropg,
1196 . numgeo, geo, numelc, nixc,
1197 . ixc, numeltg, nixtg, ixtg,
1198 . numnod, nspmd, iad_elem, fr_elem,
1199 . sfr_elem, thke, elbuf_tab, sh_offset_tab,
1202 niniveltg = loads%NINIVELT
1204 loads%NINIVELT_G = niniveltg
1205 IF (tt == zero .AND. loads%NINIVELT > 0)
THEN
1207 . ngrnod, ngrbric, ngrquad, ngrsh3n,
1208 . igrnod, igrbric, igrquad, igrsh3n,
1209 . numskw, liskn, iskwn, numfram,
1210 . iframe, loads%NINIVELT,loads%INIVELT,sensors)
1214 CALL int_flushtime(intbuf_tab(n)%METRIC)
subroutine resol_init(itask, fr_nbcc, isendto, ircvfrom, iad_elem, fr_elem, itabm1, ipari, iparg, itab, ixs10, ixs20, i13a, i13b, i13c, i13d, i13e, i13f, i13g, i13h, i13i, i15a, i15b, i15c, i15d, i15e, i15f, i15g, i15h, i15i, i87a, i87b, i87c, i87d, i87e, i87f, i87g, nfia, nfea, nfoa, ndma, ndma2, nodft, nodlt, ndtask, numnthread, ixs16, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, pon, ikine, a, ar, v, vr, x, d, ms, in, stifn, stifr, dmas, diner, wa, uwa, pm, geo, partsav, parts0, monvol, i87h, i87i, i87j, i87k, i15j, kxx, secbuf, secfcum, nstrf, igrnod, iexlnk, xframe, ixtg1, ib, viscn, dd_r2r, elbuf, ipart, madprt, madsh4, madsh3, madsol, madnod, madfail, igeo, intlist, nbintc, procne, niskyfi, weight, isizxv, ilenxv, addcni2, procni2, iad_i2m, fr_i2m, fr_nbcci2, i2size, fr_mad, lwibem, lwrbem, fxbfp, fxbefw, fxbedp, fxbgrp, fxbgrw, ndin, islen7, irlen7, islen11, irlen11, lwiflow, lwrflow, iflow, addcnel, cnel, addtmpl, ipartl, npartl, nfnca, nftca, i15ath, i35ath, ipm, sh4tree, ipadmesh, msc, inc, sh3tree, mstg, intg, ptg, fthe, fthesky, ftheskyi, nme17, islen17, irlen17, irlen7t, islen7t, lindidel, lbufidel, sh4trim, sh3trim, mscnd, incnd, irlen20, islen20, irlen20t, islen20t, nbint20, irlen20e, islen20e, niskyfie, mcp, ms0, inod_pxfem, iel_pxfem, iadc_pxfem, adsky_pxfem, icodt, icodr, ibfv, admsms, nodreac, igrouc, ngrouc, igrounc, ngrounc, fr_rby, fr_rby6, npby, nom_sect, mcpc, mcptg, grth, igrth, nelem, lag_sec, nprw, diag_sms, dmelc, dmeltg, ngrth, nft2, dmels, dmeltr, dmelp, dmelrt, res_sms, i87l, irbe2, lrbe2, nmrbe2, iad_rbe2, fr_rbe2, fr_rbe2m, r2size, lpby, procne_pxfem, isendp_pxfem, irecvp_pxfem, iadsdp_pxfem, iadrcp_pxfem, fr_nbcc1, rby, int18kine, xdp, i87m, inod_crkxfem, iel_crkxfem, iadc_crkxfem, adsky_crkxfem, procne_crkxfem, isendp_crkxfem, irecvp_crkxfem, iadsdp_crkxfem, iadrcp_crkxfem, int24use, ndama2, igroupc, igrouptg, igroups, igroupflg, dmint2, irbkin_l, nrbykin_l, kindrby, elbuf_tab, sensors, dd_r2r_elem, sdd_r2r_elem, kinet, weight_md, dmsph, ioldsect, lbufidel24, intbuf_tab, numsph_glo_r2r, flg_sphinout_r2r, i15k, condn, condnsky, kxfenod2elc, elcutc, nodedge, iad_edge, crknodiad, fr_edge, fr_nbedge, nodlevxf, crkedge, xfem_tab, isensint, nisubmax, intlist25, int24e2euse, tabmp_l, i87n, tab_mat, h3d_data, tagtrimc, tagtrimtg, igrbric, igrquad, igrsh4n, igrsh3n, igrtruss, igrbeam, igrspring, igrpart, forneqs, int7itied, fxvel_fgeo, failwave, nloc_dmg, pinch_data, slloadp, tagslv_rby, nfnca2, nftca2, in0, sort_comm, stack, output, thke, sfr_elem, sh_offset_tab, need_comm_int25_solid_erosion, comm_int25_solid_erosion, iskwn, iframe, loads, glob_therm, pblast, rbe3, nhier_rby)