39
40
41
43 USE visc_param_mod
45 USE my_alloc_mod
46
47
48
49#include "implicit_f.inc"
50
51
52
53 TYPE(VISC_PARAM_) ,INTENT(INOUT) :: VISC
54
55
56
57 INTEGER :: I,NUPARAM,NIPARAM,NUMTABL,IAD,LEN
58 INTEGER ,DIMENSION(NCHARTITLE) :: NAME
59 INTEGER ,DIMENSION(1) :: ILEN
60 INTEGER ,DIMENSION(:) ,ALLOCATABLE :: IBUF
61
62
63
65 len = ilen(1)
66 ALLOCATE (ibuf(len) )
68 iad = 0
69
70 iad = iad+1
71 visc%ILAW = ibuf(iad)
72 iad = iad+1
73 visc%NUPARAM = ibuf(iad)
74 iad = iad+1
75 visc%NIPARAM = ibuf(iad)
76 iad = iad+1
77 visc%NUVAR = ibuf(iad)
78 iad = iad+1
79 visc%NFUNC = ibuf(iad)
80 iad = iad+1
81 visc%NTABLE = ibuf(iad)
82
83 DEALLOCATE( ibuf )
84
85 IF (visc%ILAW > 0) THEN
86
87
88
91 visc%TITLE(i:i) = char(name(i))
92 END DO
93
94
95 nuparam = visc%NUPARAM
96 niparam = visc%NIPARAM
97 CALL my_alloc(visc%UPARAM ,nuparam)
98 CALL my_alloc(visc%IPARAM ,niparam)
99
100 IF (nuparam > 0) THEN
101 CALL read_db(visc%UPARAM ,nuparam)
102 END IF
103 IF (niparam > 0) THEN
105 END IF
106
107
108
109 numtabl = visc%NTABLE
110 IF (numtabl > 0) THEN
111 ALLOCATE (visc%TABLE(numtabl))
113 END IF
114
115 ELSE
116
117 visc%TITLE = " "
118 len = 0
119 ALLOCATE (visc%UPARAM(len))
120 ALLOCATE (visc%IPARAM(len))
121 ALLOCATE (visc%FUNC(len))
122 ALLOCATE (visc%TABLE(len))
123 visc%UPARAM = 0
124 visc%IPARAM = 0
125
126 END IF
127
128 RETURN
integer, parameter nchartitle
subroutine read_mat_table(table, numtabl)
void read_c_c(int *w, int *len)
void read_i_c(int *w, int *len)