38
39
40
41
42
43
47
48
49
50#include "implicit_f.inc"
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90 INTEGER ,INTENT(IN) :: IOUT
91 INTEGER NUVAR
93 . pargeo(*)
94
95 TYPE (UNIT_TYPE_),INTENT(IN) ::UNITAB
96 TYPE (SUBMODEL_DATA) ,DIMENSION(NSUBMOD) :: LSUBMODEL
97
98
99
100 INTEGER ,SET_U_GEO
101
102
103
104 INTEGER KFUNC,KMAT,KPROP
105 parameter(kfunc=29)
106 parameter(kmat=31)
107 parameter(kprop=33)
108
109
110
111 INTEGER IERROR,IDEBUG,IFUNN,IFUNT,IFUNS,IRUPT,IFILTR
113 . scal_f,scal_d,scal_sr,dnmax,dtmax,
alpha,rupt,debug,filtr
114
115 LOGICAL IS_AVAILABLE
116
117
118
119
120
121
122
123 is_available = .false.
124
125
126 CALL hm_get_floatv(
'F_scale_stress',scal_f,is_available,lsubmodel,unitab)
127 CALL hm_get_floatv(
'F_scale_strrate',scal_sr,is_available,lsubmodel,unitab)
128 CALL hm_get_floatv(
'F_scale_dist',scal_d,is_available,lsubmodel,unitab)
130
131 CALL hm_get_intv(
'RUPT',irupt,is_available,lsubmodel)
132 CALL hm_get_intv(
'DEBUG',idebug,is_available,lsubmodel)
133 CALL hm_get_intv(
'LFILTR',ifiltr,is_available,lsubmodel)
134 CALL hm_get_intv(
'FUNCT_ID_sr',ifuns,is_available,lsubmodel)
135 CALL hm_get_intv(
'FUNCT_ID_sn',ifunn,is_available,lsubmodel)
136 CALL hm_get_intv(
'FUNCT_ID_st',ifunt,is_available,lsubmodel)
137 CALL hm_get_floatv(
'MAX_N_DIST',dnmax,is_available,lsubmodel,unitab)
138 CALL hm_get_floatv(
'MAX_T_DIST',dtmax,is_available,lsubmodel,unitab)
139
140 IF (scal_f == 0.0) scal_f = one
141 IF (scal_d == 0.0) scal_d = one
142 IF (scal_sr == 0.0) scal_sr = one
143 IF (dnmax == 0.0) dnmax = ep20
144 IF (dtmax == 0.0) dtmax = ep20
145 IF (ifiltr == 1) THEN
149 ENDIF
150 IF (ifunn == 0 .OR. ifunt == 0) GOTO 999
151
152 rupt = irupt
153 debug = idebug
154 filtr = ifiltr
155
165
169
170
171
172 nuvar = 2
173
174 WRITE(iout,1000)
175 WRITE(iout,1100) scal_f,scal_d,scal_sr,
alpha,
176 . dnmax,dtmax,ifunn,ifunt,ifuns,irupt,ifiltr,idebug
177
178 RETURN
179999 WRITE(iout,*)' **ERROR IN USER INTERFACE PROPERTY INPUT'
181
182 1000 FORMAT(
183 . ' USER INTERFACE RUPTURE PARAMETERS '/
184 . ' ---------------------- '/)
185 1100 FORMAT(/10x,'SCAL_F . . . . . . . . . .',1pg20.13
186 . /10x,'SCAL_DISP. . . . . . . . .',1pg20.13
187 . /10x,'SCAL_SR . . . . . . . . .',1pg20.13
188 . /10x,'FILTERING COEFF. . . . . .',1pg20.13
189 . /10x,'DN_MAX . . . . . . . . . .',1pg20.13
190 . /10x,'DT_MAX . . . . . . . . . .',1pg20.13
191 . /10x,'IFUNN . . . . . . . .',i10
192 . /10x,'IFUNT . . . . . . . .',i10
193 . /10x,'IFUNS . . . . . . . .',i10
194 . /10x,'IRUPT . . . . . . . .',i10
195 . /10x,'IFILTR . . . . . . . .',i10
196 . /10x,'IDEBUG . . . . . . . . .',i10//)
197
198 RETURN
subroutine hm_get_floatv(name, rval, is_available, lsubmodel, unitab)
subroutine hm_get_intv(name, ival, is_available, lsubmodel)
integer function set_u_pnu(ivar, ip, k)
integer function set_u_geo(ivar, a)