OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
write_failparam.F File Reference
#include "implicit_f.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine write_failparam (fail, len)

Function/Subroutine Documentation

◆ write_failparam()

subroutine write_failparam ( type(fail_param_), intent(in) fail,
integer, intent(inout) len )

Definition at line 30 of file write_failparam.F.

31C-----------------------------------------------
32C M o d u l e s
33C-----------------------------------------------
34 USE fail_param_mod
36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40C-----------------------------------------------
41C D u m m y A r g u m e n t s
42C-----------------------------------------------
43 TYPE(FAIL_PARAM_) ,INTENT(IN) :: FAIL
44 INTEGER ,INTENT(INOUT) :: LEN
45C-----------------------------------------------
46C L o c a l V a r i a b l e s
47C-----------------------------------------------
48 INTEGER :: I,J,IAD,LENI,LENR,NUPARAM,NIPARAM,NFUNC,NUMTABL
49 INTEGER ,DIMENSION(NCHARTITLE) :: NAME
50 INTEGER ,DIMENSION(:) ,ALLOCATABLE :: IBUF
51 my_real ,DIMENSION(:) ,ALLOCATABLE :: rbuf
52C=======================================================================
53 leni = 9
54 ALLOCATE (ibuf(leni))
55c
56 ibuf(1) = fail%IRUPT
57 ibuf(2) = fail%FAIL_ID
58 ibuf(3) = fail%NUPARAM
59 ibuf(4) = fail%NIPARAM
60 ibuf(5) = fail%NUVAR
61 ibuf(6) = fail%NFUNC
62 ibuf(7) = fail%NTABLE
63 ibuf(8) = fail%NMOD
64 ibuf(9) = fail%FAIL_IP
65c
66 CALL write_i_c(ibuf,leni)
67 DEALLOCATE(ibuf)
68c
69 lenr = 1
70 ALLOCATE (rbuf(lenr))
71 rbuf(1) = fail%PTHK
72 CALL write_db(rbuf ,lenr)
73 DEALLOCATE(rbuf)
74 len = len + leni + lenr
75c
76c write law keyword and keywords of failure modes
77
78 DO i=1,nchartitle
79 name(i) = ichar(fail%KEYWORD(i:i))
80 END DO
81 CALL write_c_c(name,nchartitle)
82c
83 DO j=1,fail%NMOD
84 DO i=1,nchartitle
85 name(i) = ichar(fail%MODE(j)(i:i))
86 END DO
87 CALL write_c_c(name,nchartitle)
88 END DO
89c
90c write parameter tables
91
92 nuparam = fail%NUPARAM
93 niparam = fail%NIPARAM
94 IF (nuparam > 0) THEN
95 CALL write_db(fail%UPARAM ,nuparam)
96 END IF
97 IF (niparam > 0) THEN
98 CALL write_i_c(fail%IPARAM ,niparam)
99 END IF
100 len = len + nuparam + niparam
101c
102c write function adresses
103c
104 nfunc = fail%NFUNC
105 IF (nfunc > 0) THEN
106 CALL write_i_c(fail%IFUNC,nfunc)
107 len = len + nfunc
108 END IF
109c
110c write function tables
111c
112 numtabl = fail%NTABLE
113 IF (numtabl > 0) THEN
114 CALL write_i_c(fail%TABLE,numtabl)
115 len = len + numtabl
116 END IF
117c-----------
118 RETURN
#define my_real
Definition cppsort.cpp:32
integer, parameter nchartitle
subroutine write_db(a, n)
Definition write_db.F:140
void write_i_c(int *w, int *len)
void write_c_c(int *w, int *len)