OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
genstat.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "com09_c.inc"
#include "param_c.inc"
#include "units_c.inc"
#include "scr03_c.inc"
#include "scr14_c.inc"
#include "scr16_c.inc"
#include "scr17_c.inc"
#include "chara_c.inc"
#include "task_c.inc"
#include "sphcom.inc"
#include "state_c.inc"
#include "sysunit.inc"
#include "tabsiz_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine genstat (x, ms, elbuf_tab, bufel, spbuf, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, kxsp, iparg, ipm, igeo, itab, ipart, pm, geo, iparts, ipartq, ipartc, ipartt, ipartp, ipartr, ipartur, iparttg, ipartx, ipartsp, dd_iad, weight, nodglob, leng, ipart_state, lengc, lengtg, sh4tree, sh3tree, lengs, sh4trim, sh3trim, temp, ixs10, thke, ixs16, ixs20, icode, lengr, lengp, lengt, iskew, v, vr, lengq, multi_fvm, bufmat, npby, lpby, stack, drape_sh4n, drape_sh3n, dr, drapeg, mat_param, ipartsph, output, lengsph, numsphg, itherm_fe)

Function/Subroutine Documentation

◆ genstat()

subroutine genstat ( x,
ms,
type (elbuf_struct_), dimension(ngroup), target elbuf_tab,
bufel,
spbuf,
integer, dimension(nixs,numels) ixs,
integer, dimension(nixq,numelq) ixq,
integer, dimension(nixc,numelc) ixc,
integer, dimension(nixt,numelt) ixt,
integer, dimension(nixp,numelp) ixp,
integer, dimension(nixr,numelr) ixr,
integer, dimension(nixtg,numeltg) ixtg,
integer, dimension(nisp,*) kxsp,
integer, dimension(*) iparg,
integer, dimension(*) ipm,
integer, dimension(*) igeo,
integer, dimension(*) itab,
integer, dimension(lipart1,*) ipart,
pm,
geo,
integer, dimension(*) iparts,
integer, dimension(*) ipartq,
integer, dimension(*) ipartc,
integer, dimension(*) ipartt,
integer, dimension(*) ipartp,
integer, dimension(*) ipartr,
integer, dimension(*) ipartur,
integer, dimension(*) iparttg,
integer, dimension(*) ipartx,
integer, dimension(*) ipartsp,
integer, dimension(*) dd_iad,
integer, dimension(*) weight,
integer, dimension(*) nodglob,
integer leng,
integer, dimension(*) ipart_state,
integer lengc,
integer lengtg,
integer, dimension(*) sh4tree,
integer, dimension(*) sh3tree,
integer lengs,
integer, dimension(*) sh4trim,
integer, dimension(*) sh3trim,
temp,
integer, dimension(*) ixs10,
thke,
integer, dimension(*) ixs16,
integer, dimension(*) ixs20,
integer, dimension(*) icode,
integer lengr,
integer lengp,
integer lengt,
integer, dimension(*) iskew,
v,
vr,
integer lengq,
type(multi_fvm_struct), intent(in) multi_fvm,
bufmat,
integer, dimension(nnpby,*) npby,
integer, dimension(*) lpby,
type (stack_ply) stack,
type (drape_), dimension(numelc_drape) drape_sh4n,
type (drape_), dimension(numeltg_drape) drape_sh3n,
dr,
type(drapeg_) drapeg,
type (matparam_struct_), dimension(nummat), intent(in) mat_param,
integer, dimension(numsph), intent(in) ipartsph,
type(output_), intent(inout) output,
integer, intent(in) lengsph,
integer, intent(in) numsphg,
integer, intent(in) itherm_fe )

Definition at line 95 of file genstat.F.

109C-----------------------------------------------
110C M o d u l e s
111C-----------------------------------------------
112 USE mat_elem_mod
113 USE elbufdef_mod
114 USE message_mod
115 USE inoutfile_mod
116 USE multi_fvm_mod
118 USE stack_mod
119 USE drape_mod
120 USE output_mod
121 USE stat_sphcel_mp_mod
122 USE stat_sphcel_spmd_mod
123 USE stat_sphcel_full_mod
124 USE my_alloc_mod
125 use element_mod , only : nixs,nixq,nixc,nixp,nixr,nixt,nixtg
126C-----------------------------------------------
127C I m p l i c i t T y p e s
128C-----------------------------------------------
129#include "implicit_f.inc"
130C-----------------------------------------------
131C C o m m o n B l o c k s
132C-----------------------------------------------
133#include "com01_c.inc"
134#include "com04_c.inc"
135#include "com09_c.inc"
136#include "param_c.inc"
137#include "units_c.inc"
138#include "scr03_c.inc"
139#include "scr14_c.inc"
140#include "scr16_c.inc"
141#include "scr17_c.inc"
142#include "chara_c.inc"
143#include "task_c.inc"
144#include "sphcom.inc"
145#include "state_c.inc"
146#include "sysunit.inc"
147#include "tabsiz_c.inc"
148C-----------------------------------------------
149C D u m m y A r g u m e n t s
150C-----------------------------------------------
151 INTEGER IPARG(*),
152 . IXS(NIXS,NUMELS),IXQ(NIXQ,NUMELQ),IXC(NIXC,NUMELC),IXTG(NIXTG,NUMELTG),
153 . IXT(NIXT,NUMELT),IXP(NIXP,NUMELP),IXR(NIXR,NUMELR),KXSP(NISP,*),
154 . ITAB(*),IPART(LIPART1,*),IPM(*),IGEO(*),
155 . IPARTS(*),IPARTQ(*) ,IPARTC(*) ,IPARTT(*),IPARTP(*) ,
156 . IPARTR(*),IPARTUR(*),IPARTTG(*),IPARTX(*),IPARTSP(*),
157 . WEIGHT(*), DD_IAD(*), NODGLOB(*), IPART_STATE(*),
158 . SH4TREE(*), SH3TREE(*),
159 . SH4TRIM(*), SH3TRIM(*),IXS10(*),IXS16(*),IXS20(*),ICODE(*),
160 . ISKEW(*), NPBY(NNPBY,*), LPBY(*)
161 INTEGER LENG,LENGC,LENGTG,LENGS,LENGR,LENGP,LENGT,LENGQ
162 INTEGER ,intent(in) :: ITHERM_FE
163 my_real
164 . x(*), ms(*), bufel(*), spbuf(*),
165 . pm(npropm,*), geo(npropg,*) ,temp(*),thke(*),
166 . v(3,*),vr(3,*),dr(sdr)
167 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP), TARGET :: ELBUF_TAB
168 TYPE(MULTI_FVM_STRUCT), INTENT(IN) :: MULTI_FVM
169 TYPE (STACK_PLY) :: STACK
170 TYPE (DRAPE_) :: DRAPE_SH4N(NUMELC_DRAPE), DRAPE_SH3N(NUMELTG_DRAPE)
171 TYPE(DRAPEG_) :: DRAPEG
172 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(IN) :: MAT_PARAM
173 INTEGER, DIMENSION(NUMSPH), INTENT(IN) :: IPARTSPH
174 my_real bufmat(*)
175 TYPE(OUTPUT_),INTENT(INOUT) :: OUTPUT
176 INTEGER, INTENT(IN) :: LENGSPH
177 INTEGER, INTENT(IN) :: NUMSPHG
178C-----------------------------------------------
179C L o c a l V a r i a b l e s
180C-----------------------------------------------
181 CHARACTER CHSTAT*4, FILNAM*100, T10*10, MES*40
182 INTEGER FILEN, I, IERR, J, N
183 INTEGER SIZLOC, SIZP0
184
185 INTEGER,DIMENSION(:),ALLOCATABLE :: ITABG
186 INTEGER,DIMENSION(:),ALLOCATABLE :: NODTAG
187 INTEGER,DIMENSION(:),ALLOCATABLE :: STAT_INDXC
188 INTEGER,DIMENSION(:),ALLOCATABLE :: STAT_INDXTG
189 INTEGER,DIMENSION(:),ALLOCATABLE :: STAT_INDXQ
190 INTEGER,DIMENSION(:),ALLOCATABLE :: STAT_INDXS
191 INTEGER,DIMENSION(:),ALLOCATABLE :: STAT_INDXR
192 INTEGER,DIMENSION(:),ALLOCATABLE :: STAT_INDXP
193
194 INTEGER,DIMENSION(:),ALLOCATABLE :: STAT_INDXT
195 INTEGER,DIMENSION(:),ALLOCATABLE :: STAT_INDXSPH
196
197 INTEGER CTEXT(2149)
198 double precision
199 . , DIMENSION(:),ALLOCATABLE :: wa,wap0
200
201 INTEGER :: LEN_TMP_NAME
202 CHARACTER(len=2148) :: TMP_NAME
203 LOGICAL IS_FILE_TO_BE_WRITTEN
204 CHARACTER*100 LINE
205C-----------------------------------------------
206C S o u r c e L i n e s
207C-----------------------------------------------
208 CALL my_alloc(itabg,leng)
209 CALL my_alloc(nodtag,numnod)
210 CALL my_alloc(stat_indxc,2*lengc)
211 CALL my_alloc(stat_indxtg,2*lengtg)
212 CALL my_alloc(stat_indxq,2*lengq)
213 CALL my_alloc(stat_indxs,2*lengs)
214 CALL my_alloc(stat_indxr,2*lengr)
215 CALL my_alloc(stat_indxp,2*lengp)
216 CALL my_alloc(stat_indxt,2*lengt)
217 CALL my_alloc(stat_indxsph,2*lengsph)
218C-----------------------------------------------
219 is_file_to_be_written = ((ispmd == 0) .AND. (.NOT.is_stat_inimap_single)) !/STATE/INIMAP* is using an independent state file
220C===============================================|
221C OPEN FILE
222C-----------------------------------------------
223 IF(istatf>=10000)istatf=1
224 WRITE(chstat,'(I4.4)')istatf
225 filnam=rootnam(1:rootlen)//'_'//chstat//'.sta'
226 filen = rootlen + 9
227 len_tmp_name = outfile_name_len + filen
228 tmp_name=outfile_name(1:outfile_name_len)//filnam(1:filen)
229
230 IF(is_file_to_be_written) THEN
231 OPEN(unit=iugeo,file=tmp_name(1:len_tmp_name),access='SEQUENTIAL',form='FORMATTED',status='UNKNOWN')
232 WRITE(iugeo,'(2A)')'#RADIOSS STATE FILE ',filnam(1:filen)
233 ! OPEN STRS FILE
234 IF(izipstrs/=0) THEN
235 filnam=rootnam(1:rootlen)//'_'//chstat//'.str'
236 len_tmp_name = outfile_name_len + filen
237 tmp_name=outfile_name(1:outfile_name_len)//filnam(1:filen)
238 DO i=1,len_tmp_name
239 ctext(i)=ichar(tmp_name(i:i))
240 CALL cur_fil_c(0)
241 ENDDO
242 ENDIF
243 IF(izipstrs==1)THEN
244 CALL open_c(ctext,len_tmp_name,0)
245 ELSEIF(izipstrs==2)THEN
246 CALL open_c(ctext,len_tmp_name,6)
247 ENDIF
248 END IF
249C-----------------------------------------------
250C /BEGIN + UNITS
251C-----------------------------------------------
252 IF(is_file_to_be_written) THEN
253 WRITE(iugeo,'(A)')'/BEGIN'
254 WRITE(iugeo,'(A)') rootnam(1:rootlen)
255 WRITE(iugeo,'(I10,I10)') st_invers, 0
256 WRITE(iugeo,'(1P3E20.13)') fac_mass,fac_length,fac_time
257 WRITE(iugeo,'(1P3E20.13)') fac_mass,fac_length,fac_time
258 IF(izipstrs > 0) THEN
259 WRITE(line,'(A)')'/BEGIN'
260 CALL strs_txt50(line,100)
261 WRITE(line,'(A)') rootnam(1:rootlen)
262 CALL strs_txt50(line,100)
263 WRITE(line,'(I10,I10)') st_invers, 0
264 CALL strs_txt50(line,100)
265 WRITE(line,'(1P3E20.13)') fac_mass,fac_length,fac_time
266 CALL strs_txt50(line,100)
267 WRITE(line,'(1P3E20.13)') fac_mass,fac_length,fac_time
268 CALL strs_txt50(line,100)
269 ENDIF
270 ENDIF
271C-----------------------------------------------
272C CONNECTIVITIES + NODAL COORDINATES
273C-----------------------------------------------
274c
275 IF (nspmd > 1)CALL spmd_outpitab(itab,weight,nodglob,itabg)
276
277 nodtag=0
278
279 stat_numelc =0
280 stat_numeltg =0
281 stat_numels =0
282 stat_numelq =0
283 stat_numelr =0
284 stat_numelp =0
285 stat_numelt =0
286 output%STATE%STAT_NUMELSPH = 0
287
288 IF(nspmd == 1)THEN
289 ! - shells -
290 CALL stat_shel_mp(
291 . itab,itabg,leng,ipart,igeo,
292 . ixc,ixtg,ipartc,iparttg,ipart_state,
293 . nodtag,stat_indxc,stat_indxtg,sh4tree,sh3tree,
294 . iparg ,sh4trim ,sh3trim ,elbuf_tab,thke,
295 . stat_c(9))
296 stat_numelc_g =stat_numelc
297 stat_numeltg_g =stat_numeltg
298 ! - quads - (only taging nodes, quads are currently not exported in state files : 3d only)
299 CALL stat_quad_mp(
300 . itab,ipart,igeo,ixq,ipartq,
301 . ipart_state,nodtag,stat_indxq,
302 . iparg ,elbuf_tab)
303 stat_numelq_g =stat_numelq
304 ! - solids -
305 CALL stat_brick_mp(
306 . itab,ipart,igeo,ixs,iparts,
307 . ipart_state,nodtag,stat_indxs,
308 . iparg ,ixs10,ixs16,ixs20,elbuf_tab,
309 . stat_s(12))
310 stat_numels_g =stat_numels
311 ! - springs -
312 CALL stat_spring_mp(
313 . itab ,ipart ,ixr ,ipartr ,ipart_state,
314 . nodtag ,stat_indxr,iparg ,elbuf_tab,stat_r(2) )
315 stat_numelr_g =stat_numelr
316 ! - beams -
317 CALL stat_beam_mp(
318 . itab ,ipart ,ixp ,ipartp ,ipart_state,
319 . nodtag ,stat_indxp,iparg ,elbuf_tab,stat_p(2) )
320 stat_numelp_g =stat_numelp
321 ! - trusses -
322 CALL stat_truss_mp(
323 . itab ,ipart ,ixt ,ipartt ,ipart_state,
324 . nodtag ,stat_indxt,iparg ,elbuf_tab,stat_t(2) )
325 stat_numelt_g =stat_numelt
326 ! - sphcels -
327 CALL stat_sphcel_mp( numnod , numsph ,nisp ,npart ,ngroup ,
328 . nparg , lipart1 ,output%STATE%STAT_NUMELSPH ,itab ,ipart ,
329 . kxsp , ipartsph ,ipart_state,nodtag ,stat_indxsph,
330 . iparg ,elbuf_tab ,output%STATE%STAT_SPH(2) )
331
332 output%STATE%STAT_NUMELSPH_G = output%STATE%STAT_NUMELSPH
333
334 ELSE
335 ! - shells -
336 CALL stat_shel_spmd(
337 . itab,itabg,leng,ipart,igeo,
338 . ixc,ixtg,ipartc,iparttg,ipart_state,
339 . nodtag,stat_indxc,stat_indxtg,lengc,lengtg,
340 . iparg ,elbuf_tab,thke,stat_c(9))
341 ! - solids -
342 CALL stat_brick_spmd(
343 . itab,ipart,igeo,ixs,iparts,
344 . ipart_state,nodtag,stat_indxs,
345 . iparg, lengs,ixs10,ixs16,ixs20,
346 . elbuf_tab, stat_s(12))
347 ! - quads - (only taging nodes, quads are currently not exported in state files : 3d only)
348 CALL stat_quad_spmd(
349 . itab,ipart,igeo,ixq,ipartq,
350 . ipart_state,nodtag,stat_indxq,
351 . iparg, lengq, elbuf_tab)
352
353 ! - springs -
354 CALL stat_spring_spmd(
355 . itab ,ipart ,ixr ,ipartr,ipart_state,
356 . nodtag ,stat_indxr,lengr ,iparg ,elbuf_tab ,
357 . stat_r(2) )
358 ! - beams -
359 CALL stat_beam_spmd(
360 . itab ,ipart ,ixp ,ipartp,ipart_state,
361 . nodtag ,stat_indxp,lengp ,iparg ,elbuf_tab ,
362 . stat_p(2) )
363 ! - trusses -
364 CALL stat_truss_spmd(
365 . itab ,ipart ,ixt ,ipartt,ipart_state,
366 . nodtag ,stat_indxt,lengt ,iparg ,elbuf_tab ,
367 . stat_t(2) )
368 ! - sphcels -
369 CALL stat_sphcel_spmd(
370 . numnod ,numsph ,numsphg ,nisp ,npart ,
371 . ngroup ,nparg ,lipart1 ,output%STATE%STAT_NUMELSPH ,output%STATE%STAT_NUMELSPH_G ,
372 . lengsph ,nspmd ,itab ,ipart ,kxsp ,
373 . ipartsph ,ipart_state ,nodtag ,stat_indxsph,iparg ,
374 . elbuf_tab ,output%STATE%STAT_SPH(2) )
375 END IF
376
377 ! - inimap1d - (generic subroutine : SMP or SPMD)
378 IF(is_stat_inimap1d)THEN
379 IF(is_stat_inimap_file)THEN
381 . x , v , itab , ipart_state, nodtag ,
382 . ipart , iparts , ipartq, iparttg , mat_param,
383 . igeo , iparg , ixs , ixq , ixtg ,
384 . elbuf_tab, multi_fvm, bufmat, ipm)
385 ELSE
387 . x , v , itab , ipart_state, nodtag ,
388 . ipart , iparts , ipartq, iparttg , mat_param,
389 . igeo , iparg , ixs , ixq , ixtg ,
390 . elbuf_tab, multi_fvm, bufmat, ipm)
391 ENDIF
392 ! - inimap2d - (generic subroutine : SMP or SPMD)
393 ELSEIF(is_stat_inimap2d)THEN
394 IF(is_stat_inimap_file)THEN
396 . x , v , itab , ipart_state, nodtag ,
397 . ipart , iparts , ipartq, iparttg , mat_param,
398 . igeo , iparg , ixs , ixq , ixtg ,
399 . elbuf_tab, multi_fvm, bufmat, ipm)
400 ELSE
402 . x , v , itab , ipart_state, nodtag ,
403 . ipart , iparts , ipartq, iparttg , mat_param,
404 . igeo , iparg , ixs , ixq , ixtg ,
405 . elbuf_tab, multi_fvm, bufmat, ipm)
406 ENDIF
407 ENDIF
408
409C-----------------------------------------------
410C IF OPTION IS STATE/NODE/ALL
411C-----------------------------------------------
412 IF(nstatall /= 0) THEN
413 DO i=1,numnod
414 nodtag(i) = 1
415 ENDDO
416 ELSE
417C-----------------------------------------------
418C RIGID BODY'S PRIMARY NODE IS OUTPUTTED IF ONE OF ITS SECONDARY NODES ARE
419C-----------------------------------------------
420 DO i=1,nrbody
421 DO j=1,npby(2,i)
422 n=lpby(npby(11,i)+j)
423 IF (nodtag(n)/=0) THEN
424 nodtag(npby(1,i)) = 1
425 EXIT
426 END IF
427 ENDDO
428 ENDDO
429 ENDIF
430C-----------------------------------------------
431 CALL stat_node(x,numnod,itab,itabg,leng,nodglob,weight,nodtag)
432
433 IF(izipstrs /= 0 .AND. is_file_to_be_written)THEN
434 WRITE(iugeo,'(A)')'/STATE/STR_FILE'
435 WRITE(iugeo,'(A)')'# gzip (no:0: yes:1)'
436 WRITE(iugeo,'(I10)')izipstrs-1
437 WRITE(iugeo,'(A)')'# file name'
438 IF (izipstrs == 1) WRITE(iugeo,'(A)')filnam(1:filen)
439 IF (izipstrs == 2) WRITE(iugeo,'(A)')filnam(1:filen)//'.gz'
440 ENDIF
441C-----------------------------------------------
442C NODE SCALAR
443C-----------------------------------------------
444 IF(stat_n(1)==1)
445 . CALL stat_n_temp(x,numnod,itab,itabg,leng,
446 . nodglob,weight,nodtag,temp,itherm_fe)
447
448 IF(stat_n(2)==1)
449 . CALL stat_n_bcs(icode,numnod,itab,itabg,leng,
450 . nodglob,iskew,nodtag)
451! translation/rotation velocity
452 IF(stat_n(3)==1)
453 . CALL stat_n_vel(numnod ,itab ,itabg ,leng ,nodglob,
454 . weight ,nodtag ,v ,vr )
455C-----------------------------------------------
456 CALL stat_size_c(iparg ,ixc ,ixtg ,igeo ,ipm ,
457 . sizp0 ,sizloc ,ixs ,geo ,elbuf_tab,
458 . ixr ,ixp ,ixt ,output,lipart1 ,
459 . npart ,ipart ,numsph,ipartsp )
460C-----------------------------------------------
461C ALLOCATION OF TABLES
462C-----------------------------------------------
463 ierr = 0
464 IF(sizloc >= 1) THEN
465 ALLOCATE(wa(sizloc),stat=ierr)
466 ELSE
467 ALLOCATE(wa(1))
468 ENDIF
469 IF(ierr/=0)THEN
470 CALL ancmsg(msgid=252,anmode=aninfo,
471 . i1=ierr)
472 CALL arret(2)
473 END IF
474
475 ierr = 0
476 sizp0 = max(1,sizp0)
477 ALLOCATE(wap0(sizp0),stat=ierr)
478 IF(ierr/=0)THEN
479 CALL ancmsg(msgid=252,anmode=aninfo,
480 . i1=ierr)
481 CALL arret(2)
482 END IF
483C-----------------------------------------------
484C SHELL SCALAR
485C-----------------------------------------------
486 IF(stat_c(1)==1) CALL stat_c_off(
487 . elbuf_tab,iparg ,ipm ,igeo ,ixc ,
488 . ixtg ,wa,wap0,ipartc,iparttg,
489 . ipart_state,stat_indxc,stat_indxtg,sizp0)
490
491C option non documentee (not a public option) ::
492 IF(stat_c(2)==1) CALL stat_c_thk(
493 . elbuf_tab,iparg ,ipm ,igeo,ixc ,
494 . ixtg ,wa,wap0 ,ipartc,iparttg,
495 . ipart_state,stat_indxc,stat_indxtg,
496 . thke ,sizp0)
497
498 IF(stat_c(3)==1) CALL stat_c_epspf(
499 . elbuf_tab,iparg ,ipm ,igeo,ixc ,
500 . ixtg ,wa,wap0 ,ipartc,iparttg,
501 . ipart_state,stat_indxc,stat_indxtg,
502 . thke ,sizp0)
503
504 IF(stat_c(4)==1) CALL stat_c_strsf(
505 . elbuf_tab,iparg ,ipm ,igeo,ixc ,
506 . ixtg ,wa,wap0 ,ipartc,iparttg,
507 . ipart_state,stat_indxc,stat_indxtg,
508 . thke ,sizp0)
509
510 IF(stat_c(10)==1) CALL stat_c_strsfg(
511 . elbuf_tab,x,iparg ,ipm ,igeo,ixc ,
512 . ixtg ,wa,wap0 ,ipartc,iparttg,
513 . ipart_state,stat_indxc,stat_indxtg,
514 . thke ,sizp0,geo ,stack,drape_sh4n,drape_sh3n,drapeg)
515
516 IF(stat_c(5)==1) CALL stat_c_straf(
517 . elbuf_tab,iparg ,ipm ,igeo,ixc ,
518 . ixtg ,wa,wap0 ,ipartc,iparttg,
519 . ipart_state,stat_indxc,stat_indxtg,
520 . thke ,sizp0)
521
522 IF(stat_c(11)==1) CALL stat_c_strafg(
523 . elbuf_tab,x,iparg ,ipm ,igeo,ixc ,
524 . ixtg ,wa,wap0 ,ipartc,iparttg,
525 . ipart_state,stat_indxc,stat_indxtg,
526 . thke ,sizp0,geo ,stack,drape_sh4n,drape_sh3n,drapeg)
527
528 IF(stat_c(6)==1) CALL stat_c_auxf(
529 . elbuf_tab,iparg ,ipm ,igeo,ixc ,
530 . ixtg ,wa,wap0 ,ipartc,iparttg,
531 . ipart_state,stat_indxc,stat_indxtg,sizp0)
532
533C
534 IF(stat_c(7)==1) CALL stat_c_orth_loc(
535 . elbuf_tab,iparg ,ipm ,igeo,ixc,
536 . ixtg ,wa,wap0 ,ipartc,iparttg,
537 . ipart_state,stat_indxc,stat_indxtg,x,stat_c(9),sizp0)
538C
539 IF(stat_c(8)==1) CALL stat_c_fail(
540 . elbuf_tab,iparg ,ipm ,igeo,ixc ,
541 . ixtg ,wa,wap0 ,ipartc,iparttg,
542 . ipart_state,stat_indxc,stat_indxtg,sizp0,
543 . nummat,mat_param)
544C-----------------------------------------------
545C BRICK TENSOR
546C-----------------------------------------------
547 IF(stat_s(4)==1) CALL stat_s_strsf( ! /INIBRI/STRESS/FULL
548 1 elbuf_tab ,iparg ,ipm ,igeo ,ixs ,
549 2 wa,wap0 ,iparts, ipart_state,
550 3 stat_indxs,x,0,ipart,sizp0)
551
552 IF(stat_s(5)==1) CALL stat_s_straf( ! /INIBRI/STRAIN/FULL
553 1 elbuf_tab ,iparg ,ipm ,igeo ,ixs ,
554 2 wa,wap0 ,iparts, ipart_state,
555 3 stat_indxs,x,0,ipart,sizp0)
556
557 IF(stat_s(6)==1) CALL stat_s_auxf( ! /INIBRI/AUX
558 1 elbuf_tab ,iparg ,ipm ,igeo ,ixs ,
559 2 wa,wap0 ,iparts, ipart_state,
560 3 stat_indxs,ipart,sizp0)
561 IF(stat_s(7)==1) CALL stat_s_ortho( ! /INIBRI/ORTHO
562 1 elbuf_tab ,iparg ,ipm ,igeo ,ixs ,
563 2 wa,wap0 ,iparts, ipart_state,
564 3 stat_indxs,x,0,ipart,stat_s(12),sizp0)
565 IF(stat_s(8)==1) CALL stat_s_strsf( ! /INIBRI/STRESS/GLOBF
566 1 elbuf_tab ,iparg ,ipm ,igeo ,ixs ,
567 2 wa,wap0 ,iparts, ipart_state,
568 3 stat_indxs,x,1,ipart,sizp0)
569
570 IF(stat_s(9)==1) CALL stat_s_straf( ! /INIBRI/STRAIN/GLOBF
571 1 elbuf_tab ,iparg ,ipm ,igeo ,ixs ,
572 2 wa,wap0 ,iparts, ipart_state,
573 3 stat_indxs,x,1,ipart,sizp0)
574 IF(stat_s(10)==1) CALL stat_s_ortho( ! /INIBRI/ORTHO/GLOBF
575 1 elbuf_tab ,iparg ,ipm ,igeo ,ixs ,
576 2 wa,wap0 ,iparts, ipart_state,
577 3 stat_indxs,x,1,ipart,stat_s(12),sizp0)
578 IF(stat_s(11)==1) CALL stat_s_fail(
579 1 elbuf_tab ,iparg ,ipm ,igeo ,ixs ,
580 2 wa,wap0 ,iparts, ipart_state,
581 3 stat_indxs,ipart,sizp0,nummat,mat_param)
582 IF(stat_s(13)==1) CALL stat_s_eref(
583 1 elbuf_tab ,iparg ,ipm ,igeo ,
584 2 ixs ,ixs10,ixs16,ixs20,x ,
585 3 dr ,wa,wap0 ,iparts, ipart_state,
586 4 stat_indxs,ipart,sizp0)
587C
588C-----------------------------------------------
589C - 1D - spring elems (FULL)
590C-----------------------------------------------
591 IF(stat_r(1) == 1) CALL stat_r_full(
592 1 elbuf_tab ,iparg ,geo ,igeo ,ixr ,
593 2 wa ,wap0 ,ipartr ,ipart_state ,stat_indxr,
594 3 sizp0 )
595C-----------------------------------------------
596C - 1D - beam elems (FULL + AUX)
597C-----------------------------------------------
598! - FULL -
599 IF(stat_p(1) == 1) CALL stat_p_full(
600 1 elbuf_tab ,iparg ,geo ,igeo ,ixp ,
601 2 wa ,wap0 ,ipartp ,ipart_state ,stat_indxp,
602 3 sizp0 )
603! - AUX -
604 IF(stat_p(3)==1) CALL stat_p_aux(
605 1 elbuf_tab ,iparg ,ipm ,igeo ,ixp ,
606 2 wa ,wap0 ,ipartp ,ipart_state,stat_indxp,
607 3 sizp0 )
608C-----------------------------------------------
609C - 1D - truss elems (FULL)
610C-----------------------------------------------
611! - FULL -
612 IF(stat_t(1) == 1) CALL stat_t_full(
613 1 elbuf_tab ,iparg ,geo ,igeo ,ixt ,
614 2 wa ,wap0 ,ipartt ,ipart_state ,stat_indxt,
615 3 sizp0 )
616C-----------------------------------------------
617C - SPHCEL elems (FULL)
618C-----------------------------------------------
619! - FULL -
620 IF(output%STATE%STAT_SPH(3) == 1) CALL stat_sphcel_full(
621 1 numsph ,nisp ,ngroup ,nparg ,sizloc ,
622 2 npart ,sizp0 ,nspmd ,output%STATE%STAT_NUMELSPH ,output%STATE%STAT_NUMELSPH_G ,
623 2 nspbuf ,numnod ,npropmi ,nummat ,lipart1 ,
624 4 kxsp ,ipartsph ,ipart_state ,stat_indxsph ,iparg ,
625 5 elbuf_tab ,wa ,wap0 ,spbuf ,itab ,
626 6 ipm ,output%STATE%STAT_SPH(2),ipart )
627C-----------------------------------------------
628 IF(sizloc >= 1) DEALLOCATE(wa)
629 IF(sizp0 >= 1) DEALLOCATE(wap0)
630C-----------------------------------------------
631C END
632C-----------------------------------------------
633 IF(is_file_to_be_written) THEN
634 WRITE(iugeo,'(A)')'#ENDDATA '
635 CLOSE(unit=iugeo)
636 IF(izipstrs /= 0)THEN
637 CALL strs_txt50('#ENDDATA ',11)
638 CALL close_c()
639 ENDIF
640 WRITE (iout,1000) filnam(1:filen)
641 WRITE (istdo,1000) filnam(1:filen)
642 ENDIF
643C-----------------------------------------------
644 DEALLOCATE(itabg)
645 DEALLOCATE(nodtag)
646 DEALLOCATE(stat_indxc)
647 DEALLOCATE(stat_indxtg)
648 DEALLOCATE(stat_indxq)
649 DEALLOCATE(stat_indxs)
650 DEALLOCATE(stat_indxr)
651 DEALLOCATE(stat_indxp)
652 DEALLOCATE(stat_indxt)
653 DEALLOCATE(stat_indxsph)
654
655 1000 FORMAT (4x,' STATE FILE:',1x,a,' WRITTEN')
656C
657 RETURN
#define my_real
Definition cppsort.cpp:32
#define max(a, b)
Definition macros.h:21
character(len=outfile_char_len) outfile_name
integer outfile_name_len
logical is_stat_inimap_single
subroutine spmd_outpitab(v, weight, nodglob, vglob)
Definition spmd_outp.F:1081
subroutine strs_txt50(text, length)
Definition sta_txt.F:87
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)
Definition message.F:895
subroutine arret(nn)
Definition arret.F:86
subroutine stat_beam_mp(itab, ipart, ixp, ipartp, ipart_state, nodtag, stat_indxp, iparg, elbuf_tab, idel)
subroutine stat_beam_spmd(itab, ipart, ixp, ipartp, ipart_state, nodtag, stat_indxp, lengp, iparg, elbuf_tab, idel)
subroutine stat_brick_mp(itab, ipart, igeo, ixs, iparts, ipart_state, nodtag, stat_indxs, iparg, ixs10, ixs16, ixs20, elbuf_tab, idel)
subroutine stat_brick_spmd(itab, ipart, igeo, ixs, iparts, ipart_state, nodtag, stat_indxs, iparg, lengs, ixs10, ixs16, ixs20, elbuf_tab, idel)
subroutine stat_c_auxf(elbuf_tab, iparg, ipm, igeo, ixc, ixtg, wa, wap0, ipartc, iparttg, ipart_state, stat_indxc, stat_indxtg, sizp0)
Definition stat_c_auxf.F:40
subroutine stat_c_epspf(elbuf_tab, iparg, ipm, igeo, ixc, ixtg, wa, wap0, ipartc, iparttg, ipart_state, stat_indxc, stat_indxtg, thke, sizp0)
subroutine stat_c_fail(elbuf_tab, iparg, ipm, igeo, ixc, ixtg, wa, wap0, ipartc, iparttg, ipart_state, stat_indxc, stat_indxtg, sizp0, nummat, mat_param)
Definition stat_c_fail.F:41
subroutine stat_c_off(elbuf_tab, iparg, ipm, igeo, ixc, ixtg, wa, wap0, ipartc, iparttg, ipart_state, stat_indxc, stat_indxtg, sizp0)
Definition stat_c_off.F:37
subroutine stat_c_orth_loc(elbuf_tab, iparg, ipm, igeo, ixc, ixtg, wa, wap0, ipartc, iparttg, ipart_state, stat_indxc, stat_indxtg, x, idel, sizp0)
subroutine stat_c_straf(elbuf_tab, iparg, ipm, igeo, ixc, ixtg, wa, wap0, ipartc, iparttg, ipart_state, stat_indxc, stat_indxtg, thke, sizp0)
subroutine stat_c_strafg(elbuf_tab, x, iparg, ipm, igeo, ixc, ixtg, wa, wap0, ipartc, iparttg, ipart_state, stat_indxc, stat_indxtg, thke, sizp0, geo, stack, drape_sh4n, drape_sh3n, drapeg)
subroutine stat_c_strsf(elbuf_tab, iparg, ipm, igeo, ixc, ixtg, wa, wap0, ipartc, iparttg, ipart_state, stat_indxc, stat_indxtg, thke, sizp0)
subroutine stat_c_strsfg(elbuf_tab, x, iparg, ipm, igeo, ixc, ixtg, wa, wap0, ipartc, iparttg, ipart_state, stat_indxc, stat_indxtg, thke, sizp0, geo, stack, drape_sh4n, drape_sh3n, drapeg)
subroutine stat_c_thk(elbuf_tab, iparg, ipm, igeo, ixc, ixtg, wa, wap0, ipartc, iparttg, ipart_state, stat_indxc, stat_indxtg, thke, sizp0)
Definition stat_c_thk.F:38
subroutine stat_inimap1d_file_spmd(x, v, itab, ipart_state, nodtag, ipart, iparts, ipartq, iparttg, mat_param, igeo, iparg, ixs, ixq, ixtg, elbuf_tab, multi_fvm, bufmat, ipm)
subroutine stat_inimap1d_spmd(x, v, itab, ipart_state, nodtag, ipart, iparts, ipartq, iparttg, mat_param, igeo, iparg, ixs, ixq, ixtg, elbuf_tab, multi_fvm, bufmat, ipm)
subroutine stat_inimap2d_file_spmd(x, v, itab, ipart_state, nodtag, ipart, iparts, ipartq, iparttg, mat_param, igeo, iparg, ixs, ixq, ixtg, elbuf_tab, multi_fvm, bufmat, ipm)
subroutine stat_inimap2d_spmd(x, v, itab, ipart_state, nodtag, ipart, iparts, ipartq, iparttg, mat_param, igeo, iparg, ixs, ixq, ixtg, elbuf_tab, multi_fvm, bufmat, ipm)
subroutine stat_n_bcs(icode, numnod, itab, itabg, leng, nodglob, iskew, nodtag)
Definition stat_n_bcs.F:35
subroutine stat_n_temp(x, numnod, itab, itabg, leng, nodglob, weight, nodtag, temp, itherm_fe)
Definition stat_n_temp.F:35
subroutine stat_node(x, numnod, itab, itabg, leng, nodglob, weight, nodtag)
Definition stat_node.F:34
subroutine stat_p_aux(elbuf_tab, iparg, ipm, igeo, ixp, wa, wap0, ipartp, ipart_state, stat_indxp, sizp0)
Definition stat_p_aux.F:41
subroutine stat_p_full(elbuf_tab, iparg, geo, igeo, ixp, wa, wap0, ipartp, ipart_state, stat_indxp, sizp0)
Definition stat_p_full.F:39
subroutine stat_quad_mp(itab, ipart, igeo, ixq, ipartq, ipart_state, nodtag, stat_indxq, iparg, elbuf_tab)
subroutine stat_quad_spmd(itab, ipart, igeo, ixq, ipartq, ipart_state, nodtag, stat_indxq, iparg, lengq, elbuf_tab)
subroutine stat_r_full(elbuf_tab, iparg, geo, igeo, ixr, wa, wap0, ipartr, ipart_state, stat_indxr, sizp0)
Definition stat_r_full.F:38
subroutine stat_s_auxf(elbuf_tab, iparg, ipm, igeo, ixs, wa, wap0, iparts, ipart_state, stat_indxs, ipart, sizp0)
Definition stat_s_auxf.F:42
subroutine stat_s_eref(elbuf_tab, iparg, ipm, igeo, ixs, ixs10, ixs16, ixs20, x, dr, wa, wap0, iparts, ipart_state, stat_indxs, ipart, sizp0)
Definition stat_s_eref.F:44
subroutine stat_s_fail(elbuf_tab, iparg, ipm, igeo, ixs, wa, wap0, iparts, ipart_state, stat_indxs, ipart, sizp0, nummat, mat_param)
Definition stat_s_fail.F:43
subroutine stat_s_ortho(elbuf_tab, iparg, ipm, igeo, ixs, wa, wap0, iparts, ipart_state, stat_indxs, x, iglob, ipart, idel, sizp0)
subroutine stat_s_straf(elbuf_tab, iparg, ipm, igeo, ixs, wa, wap0, iparts, ipart_state, stat_indxs, x, iglob, ipart, sizp0)
subroutine stat_s_strsf(elbuf_tab, iparg, ipm, igeo, ixs, wa, wap0, iparts, ipart_state, stat_indxs, x, iglob, ipart, sizp0)
subroutine stat_shel_mp(itab, itabg, leng, ipart, igeo, ixc, ixtg, ipartc, iparttg, ipart_state, nodtag, stat_indxc, stat_indxtg, sh4tree, sh3tree, iparg, sh4trim, sh3trim, elbuf_tab, thke, idel)
subroutine stat_shel_spmd(itab, itabg, leng, ipart, igeo, ixc, ixtg, ipartc, iparttg, ipart_state, nodtag, stat_indxc, stat_indxtg, lengc, lengtg, iparg, elbuf_tab, thke, idel)
subroutine stat_size_c(iparg, ixc, ixtg, igeo, ipm, p0ars, wasz, ixs, geo, elbuf_tab, ixr, ixp, ixt, output, lipart1, npart, ipart, numsph, ipartsp)
Definition stat_size.F:38
subroutine stat_spring_mp(itab, ipart, ixr, ipartr, ipart_state, nodtag, stat_indxr, iparg, elbuf_tab, idel)
subroutine stat_spring_spmd(itab, ipart, ixr, ipartr, ipart_state, nodtag, stat_indxr, lengr, iparg, elbuf_tab, idel)
subroutine stat_t_full(elbuf_tab, iparg, geo, igeo, ixt, wa, wap0, ipartt, ipart_state, stat_indxt, sizp0)
Definition stat_t_full.F:39
subroutine stat_truss_mp(itab, ipart, ixt, ipartt, ipart_state, nodtag, stat_indxt, iparg, elbuf_tab, idel)
subroutine stat_truss_spmd(itab, ipart, ixt, ipartt, ipart_state, nodtag, stat_indxt, lengt, iparg, elbuf_tab, idel)
subroutine stat_n_vel(numnod, itab, itabg, leng, nodglob, weight, nodtag, v, vr)
Definition state_n_vel.F:35
void close_c()
void cur_fil_c(int *nf)
void open_c(int *ifil, int *len, int *mod)