50 SUBROUTINE gendynain(X ,ELBUF_TAB, BUFEL ,IXC ,IXTG ,
51 2 IPARG ,IPM , IGEO ,ITAB ,IPART ,
52 3 PM ,GEO , IPARTC ,IPARTTG ,LENG ,
53 4 LENGC ,LENGTG , WEIGHT ,NODGLOB ,THKE ,
54 5 NPBY ,LPBY , STACK ,DRAPE_SH4N ,DRAPE_SH3N ,
55 6 DYNAIN_DATA,DRAPEG ,MAT_PARAM)
69#include "implicit_f.inc"
84 . IXC(NIXC,*),IXTG(NIXTG,*),IPM(*),IGEO(*),
85 . ITAB(*) ,IPART(LIPART1,*) ,IPARTC(*) ,IPARTTG(*),
86 . WEIGHT(*), NODGLOB(*), NPBY(NNPBY,*), LPBY(*)
87 INTEGER LENG,LENGC,LENGTG
90 . pm(npropm,*), geo(npropg,*) ,thke(*)
91 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET ::
93 TYPE (DRAPE_) :: DRAPE_SH4N(NUMELC_DRAPE),DRAPE_SH3N(NUMELTG_DRAPE)
94 TYPE (DRAPEG_) :: DRAPEG
95 TYPE (DYNAIN_DATABASE),
INTENT(INOUT) :: DYNAIN_DATA
96 TYPE (MATPARAM_STRUCT_) ,
DIMENSION(NUMMAT) ,
INTENT(IN) :: MAT_PARAM
100 CHARACTER CHSTAT*4,FILNAM*100,T10*10,MES*40
101 INTEGER FILEN,,INNODA,IERR,J,N
102 INTEGER LENR,SIZLOC,SIZP0
103 INTEGER ,
DIMENSION(:),
ALLOCATABLE :: , NODTAG ,DYNAIN_INDXC ,
107 . ,
DIMENSION(:),
ALLOCATABLE :: wa,wap0
109 INTEGER :: LEN_TMP_NAME
110 CHARACTER(len=2148) :: TMP_NAME
111 LOGICAL IS_FILE_TO_BE_WRITTEN
119 IF(dynain_data%IDYNAINF>=10000)dynain_data%IDYNAINF=1
120 WRITE(chstat,
'(I4.4)')dynain_data%IDYNAINF
121 IF(dynain_data%ZIPDYNAIN==0)
THEN
122 filnam=rootnam(1:rootlen)//
'_'//chstat//
'.dynain'
127 OPEN(unit=iudynain,file=tmp_name(1:len_tmp_name),access=
'SEQUENTIAL',form=
'FORMATTED',status=
'UNKNOWN')
128 WRITE(iudynain,
'(2A)')
'$RADIOSS DYNAIN FILE ',filnam(1:filen)
131 filnam=rootnam(1:rootlen)//
'_'//chstat//
'.dynain'
136 ctext(i)=ichar(tmp_name(i:i))
141 WRITE(line,
'(2A)')
'$RADIOSS DYNAIN FILE ',filnam(1:filen)
151 ALLOCATE(nodtag(numnod),stat=ierr)
152 ALLOCATE(itabg(leng),stat=ierr)
153 ALLOCATE(dynain_indxc(2*lengc),stat=ierr)
154 ALLOCATE(dynain_indxtg(2*lengtg),stat=ierr)
163 dynain_data%DYNAIN_NUMELC =0
164 dynain_data%DYNAIN_NUMELTG =0
169 . ixtg ,ipartc ,iparttg ,dynain_data ,
170 . nodtag ,dynain_indxc,dynain_indxtg,iparg ,
171 . elbuf_tab,thke ,ipart )
172 dynain_data%DYNAIN_NUMELC_G =dynain_data%DYNAIN_NUMELC
173 dynain_data%DYNAIN_NUMELTG_G =dynain_data%DYNAIN_NUMELTG
177 . ixtg ,ipartc ,iparttg ,dynain_data ,
178 . nodtag ,dynain_indxc,dynain_indxtg,iparg ,
179 . elbuf_tab,thke ,lengc ,lengtg ,ipart )
189 IF (nodtag(n)/=0)
THEN
190 nodtag(npby(1,i)) = 1
196 CALL dynain_node(x,numnod,itab,itabg,leng,nodglob,weight,nodtag,dynain_data)
199 CALL dynain_size_c(iparg ,elbuf_tab, sizp0 ,sizloc ,dynain_data )
206 ALLOCATE(wa(sizloc),stat=ierr)
211 CALL ancmsg(msgid=252,anmode=aninfo,
218 ALLOCATE(wap0(sizp0),stat=ierr)
220 CALL ancmsg(msgid=252,anmode=aninfo,
229 IF(dynain_data%DYNAIN_C(4)==1)
THEN
231 1 elbuf_tab ,iparg ,igeo ,ixc ,
232 2 ixtg ,wa ,wap0 ,ipartc,iparttg,
233 3 dynain_data,dynain_indxc,dynain_indxtg,sizp0 ,
234 4 geo ,stack ,drape_sh4n ,drape_sh3n,x ,
235 5 thke , drapeg ,nummat ,mat_param )
239 IF(dynain_data%DYNAIN_C(5)==1)
THEN
241 1 elbuf_tab ,iparg ,ipm ,igeo ,ixc ,
242 2 ixtg ,wa ,wap0 ,ipartc,iparttg,
243 3 dynain_data,dynain_indxc,dynain_indxtg,sizp0 ,
244 4 geo ,stack ,drape_sh4n ,drape_sh3n,x ,
250 IF(sizloc >= 1)
DEALLOCATE(wa)
251 IF(sizp0 >= 1)
DEALLOCATE(wap0)
255 DEALLOCATE(nodtag,itabg,dynain_indxc,dynain_indxtg)
260 IF(dynain_data%ZIPDYNAIN==0)
THEN
261 WRITE(iudynain,
'(A)')
'*END '
268 WRITE (iout,1000) filnam(1:filen)
269 WRITE (istdo,1000) filnam(1:filen)
273 1000
FORMAT (4x,
' DYNAIN FILE:',1x,a,
' WRITTEN')
subroutine sortie_main(timers, pm, d, v, ale_connect, w, elbuf, iparg, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, wa, itab, x, geo, ms, a, cont, partsav, icut, xcut, fint, fext, fopt, anin, lpby, npby, nstrf, rwbuf, nprw, ebcs_tab, tani, inoise, bufnois, rby, neflsw, nnflsw, crflsw, flsw, lout, nodes, fsav, skew, elbuf_tab, cluster, vr, in, weight, fcluster, mcluster, dd_iad, dmas, accelm, gauge, ipari, eani, ipart, mat_param, igrnod, subset, nom_opt, ar, igrsurf, bufsf, idata, rdata, kxx, ixx, bufmat, bufgeo, kxsp, ixsp, nod2sp, spbuf, dr, fsavd, ixri, rivet, iskwn, iframe, xframe, ixs10, ixs20, ixs16, ndma, monvol, volmon, ipm, igeo, nodglob, iad_elem, fr_elem, fr_rby2, iad_rby2, fr_wall, fr_sec, fxbipm, fxbrpm, ndin, fxbdep, fxbvit, fxbacc, iflow, rflow, ipartl, npartl, iaccp, naccp, fasolfr, fncont, ftcont, iparth, fr_mv, ipart_state, sh4tree, sh3tree, temp, thke, err_thk_sh4, err_thk_sh3, inod_pxfem, fthreac, nodreac, gresav, diag_sms, sh4trim, sh3trim, fncont2, xmom_sms, irbe2, irbe3, lrbe2, lrbe3, fr_rbe2, fr_rbe3m, iad_rbe2, dxancg, iel_pxfem, zi_ply, vgaz, fcontg, fncontg, ftcontg, fanreac, inod_crk, iel_crk, elcutc, iadc_crk, pdama2, res_sms, sensors, qfricint, igaup, ngaup, weight_md, ncont, indexcont, nodglobxfe, nodedge, xfem_tab, nv46, rthbuf, kxig3d, ixig3d, knot, wige, nercvois, nesdvois, lercvois, lesdvois, crkedge, stack, isphio, vsphio, icode, indx_crk, xedge4n, xedge3n, sph2sol, stifn, stifr, drape_sh4n, drape_sh3n, ms_2d, multi_fvm, segquadfr, h3d_data, iskew, pskids, iskwp, knotlocpc, knotlocel, pinch_data, tag_skins6, irunn_bis, tf, npc, dynain_data, fcont_max, mds_matid, fncontp2, ftcontp2, ibcl, iloadp, lloadp, loadp, tagncont, loadp_hyd_inter, forc, drapeg, user_windows, output, dt, fsavsurf, table, loads, sfani, iparit, x_c, sz_npcont2, npcont2, glob_therm, pblast, wfext)