OpenRadioss
2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
write_viscparam.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_viscparam ../engine/source/output/restart/write_viscparam.F
25
!||--- called by ------------------------------------------------------
26
!|| write_matparam ../engine/source/output/restart/write_matparam.F
27
!||--- calls -----------------------------------------------------
28
!|| write_c_c ../common_source/tools/input_output/write_routtines.c
29
!|| write_db ../common_source/tools/input_output/write_db.F
30
!|| write_i_c ../common_source/tools/input_output/write_routtines.c
31
!|| write_mat_table ../engine/source/materials/tools/write_mat_table.F
32
!||--- uses -----------------------------------------------------
33
!|| names_and_titles_mod ../common_source/modules/names_and_titles_mod.F
34
!|| visc_param_mod ../common_source/modules/mat_elem/visc_param_mod.F90
35
!||====================================================================
36
SUBROUTINE
write_viscparam
(VISC)
37
C-----------------------------------------------
38
C M o d u l e s
39
C-----------------------------------------------
40
USE
visc_param_mod
41
USE
names_and_titles_mod
42
C-----------------------------------------------
43
C I m p l i c i t T y p e s
44
C-----------------------------------------------
45
#include "implicit_f.inc"
46
C-----------------------------------------------
47
C D u m m y A r g u m e n t s
48
C-----------------------------------------------
49
TYPE
(visc_param_) ,
INTENT(IN)
:: VISC
50
C-----------------------------------------------
51
C L o c a l V a r i a b l e s
52
C-----------------------------------------------
53
INTEGER
:: I,IAD,NFIX,NUPARAM,NIPARAM,NUMTABL
54
INTEGER
,
DIMENSION(NCHARTITLE)
:: NAME
55
INTEGER
,
DIMENSION(:)
,
ALLOCATABLE
:: IBUF
56
C=======================================================================
57
nfix = 6
58
ALLOCATE
(ibuf(nfix + 1))
59
c
60
iad = 1
61
ibuf(iad) = nfix
62
c
63
iad = iad+1
64
ibuf(iad) = visc%ILAW
65
iad = iad+1
66
ibuf(iad) = visc%NUPARAM
67
iad = iad+1
68
ibuf(iad) = visc%NIPARAM
69
iad = iad+1
70
ibuf(iad) = visc%NUVAR
71
iad = iad+1
72
ibuf(iad) = visc%NFUNC
73
iad = iad+1
74
ibuf(iad) = visc%NTABLE
75
iad = iad+1
76
c
77
CALL
write_i_c
(ibuf,nfix+1)
78
DEALLOCATE
(ibuf)
79
80
c write viscosity model title
81
82
DO
i=1,
nchartitle
83
name(i) = ichar(visc%TITLE(i:i))
84
END DO
85
CALL
write_c_c
(name,
nchartitle
)
86
c
87
c write viscosity parameter array
88
89
nuparam = visc%NUPARAM
90
niparam = visc%NIPARAM
91
IF
(nuparam > 0)
THEN
92
CALL
write_db
(visc%UPARAM ,nuparam)
93
END IF
94
IF
(niparam > 0)
THEN
95
CALL
write_i_c
(visc%IPARAM ,niparam)
96
END IF
97
c
98
c write viscosity law tables
99
c
100
numtabl = visc%NTABLE
101
IF
(numtabl > 0)
THEN
102
CALL
write_mat_table
(visc%TABLE, numtabl)
103
END IF
104
c-----------
105
RETURN
106
END
write_viscparam
subroutine write_viscparam(visc)
Definition
write_viscparam.F:37
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_mat_table
subroutine write_mat_table(table, numtabl)
Definition
write_mat_table.F:33
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
engine
source
output
restart
write_viscparam.F
Generated by
1.15.0