OpenRadioss
2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
write_failparam.F
Go to the documentation of this file.
1
Copyright> OpenRadioss
2
Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3
Copyright>
4
Copyright> This program is free software: you can redistribute it and/or modify
5
Copyright> it under the terms of the GNU Affero General Public License as published by
6
Copyright> the Free Software Foundation, either version 3 of the License, or
7
Copyright> (at your option) any later version.
8
Copyright>
9
Copyright> This program is distributed in the hope that it will be useful,
10
Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11
Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
Copyright> GNU Affero General Public License for more details.
13
Copyright>
14
Copyright> You should have received a copy of the GNU Affero General Public License
15
Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16
Copyright>
17
Copyright>
18
Copyright> Commercial Alternative: Altair Radioss Software
19
Copyright>
20
Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21
Copyright> software under a commercial license. Contact Altair to discuss further if the
22
Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23
!||====================================================================
24
!|| write_failparam ../starter/source/materials/fail/write_failparam.F
25
!||--- called by ------------------------------------------------------
26
!|| write_matparam ../starter/source/materials/mat/write_matparam.F
27
!||--- calls -----------------------------------------------------
28
!||--- uses -----------------------------------------------------
29
!||====================================================================
30
SUBROUTINE
write_failparam
(FAIL,LEN)
31
C-----------------------------------------------
32
C M o d u l e s
33
C-----------------------------------------------
34
USE
fail_param_mod
35
USE
names_and_titles_mod
36
C-----------------------------------------------
37
C I m p l i c i t T y p e s
38
C-----------------------------------------------
39
#include "implicit_f.inc"
40
C-----------------------------------------------
41
C D u m m y A r g u m e n t s
42
C-----------------------------------------------
43
TYPE
(fail_param_) ,
INTENT(IN)
:: FAIL
44
INTEGER
,
INTENT(INOUT)
:: LEN
45
C-----------------------------------------------
46
C L o c a l V a r i a b l e s
47
C-----------------------------------------------
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
52
C=======================================================================
53
leni = 9
54
ALLOCATE
(ibuf(leni))
55
c
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
65
c
66
CALL
write_i_c
(ibuf,leni)
67
DEALLOCATE
(ibuf)
68
c
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
75
c
76
c 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
)
82
c
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
89
c
90
c 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
101
c
102
c write function adresses
103
c
104
nfunc = fail%NFUNC
105
IF
(nfunc > 0)
THEN
106
CALL
write_i_c
(fail%IFUNC,nfunc)
107
len = len + nfunc
108
END IF
109
c
110
c write function tables
111
c
112
numtabl = fail%NTABLE
113
IF
(numtabl > 0)
THEN
114
CALL
write_i_c
(fail%TABLE,numtabl)
115
len = len + numtabl
116
END IF
117
c-----------
118
RETURN
119
END
my_real
#define my_real
Definition
cppsort.cpp:32
names_and_titles_mod
Definition
names_and_titles_mod.F:997
names_and_titles_mod::nchartitle
integer, parameter nchartitle
Definition
names_and_titles_mod.F:1003
write_failparam
subroutine write_failparam(fail, len)
Definition
write_failparam.F:31
write_db
subroutine write_db(a, n)
Definition
write_db.F:140
write_i_c
void write_i_c(int *w, int *len)
Definition
write_routtines.c:645
write_c_c
void write_c_c(int *w, int *len)
Definition
write_routtines.c:591
starter
source
materials
fail
write_failparam.F
Generated by
1.15.0