29
30
31
34
35
36
37#include "implicit_f.inc"
38
39
40
41#include "com04_c.inc"
42#include "com06_c.inc"
43#include "scr02_c.inc"
44#include "scr17_c.inc"
45#include "scr18_c.inc"
46#include "sphcom.inc"
47#include "sms_c.inc"
48#include "units_c.inc"
49
50
51
52 TYPE(GROUP_) ,DIMENSION(NGRPART) :: IGRPART
53
54
55
56 INTEGER I
58 . dt_crit
59
60
61
62 DO i=1,102
63 dtfac1(i) = zero
64 dtmin1(i) = zero
65 idtmin(i) = 0
66 idtgr(i) = 0
67 ENDDO
68 nodadt = 0
69
70 min_aspect = zero
71 min_defv = zero
72
73
74 dtin = zero
75 dtmx = zero
76
77
78 dtfacs = zero
79 dtmins = zero
80 dtfacs_int = zero
81 dtmins_int = zero
82
83
84
85
86
87
88
89 DO i=1,51
90 IF(dtmin1(i) == zero)dtmin1(i) = dtmin
91 IF(dtfac1(i) == zero)dtfac1(i) = dtfac
92 ENDDO
93
94 IF(nodadt == 0)THEN
95 IF(idtmin(1) == 0)idtmin(1) = 1
96 IF(idtmin(2) == 0)idtmin(2) = 1
97 IF(idtmin(3) == 0)idtmin(3) = 2
98 IF(idtmin(7) == 0)idtmin(7) = 2
99 ENDIF
100
101 IF(idtmins/=0)THEN
102 IF(dtmins == zero)dtmins = dtmin
103 IF(dtfacs == zero)dtfacs = dtfac
104 IF(tol_sms == zero) tol_sms = em03
105 IF(nsmspcg==0)nsmspcg=1000
106 ENDIF
107 IF(idtmins_int/=0)THEN
108 IF(dtmins_int == zero)dtmins_int = dtmin
109 IF(dtfacs_int == zero)dtfacs_int = dtfac
110 IF(tol_sms == zero) tol_sms = em03
111 IF(nsmspcg==0)nsmspcg=1000
112 ENDIF
113
114
115
116
117 WRITE(iout,1000)
118 IF(idt1sh /=0) WRITE(iout,4720)
119 IF(idt1sol /= 0) WRITE(iout,4710)
120 IF(idt1sol/=0) WRITE(iout,4730)
121 IF(idt1tet10/=0) WRITE(iout,4740)
122 IF(nodadt == 0)THEN
123 IF (min_aspect+min_defv > zero) THEN
124 WRITE(iout,1115) dtfac1(1),dtmin1(1),idtmin(1),
125 + min_aspect,min_defv,
126 + dtfac1(2),dtmin1(2),idtmin(2),
127 + dtfac1(3),dtmin1(3),idtmin(3),
128 + dtfac1(4),dtmin1(4),idtmin(4),
129 + dtfac1(5),dtmin1(5),idtmin(5),
130 + dtfac1(6),dtmin1(6),idtmin(6),
131 + dtfac1(9),dtmin1(9),idtmin(9),
132 + dtfac1(10),dtmin1(10),idtmin(10)
133
134 ELSE
135 WRITE(iout,1105) dtfac1(1),dtmin1(1),idtmin(1),
136 + dtfac1(2),dtmin1(2),idtmin(2),
137 + dtfac1(3),dtmin1(3),idtmin(3),
138 + dtfac1(4),dtmin1(4),idtmin(4),
139 + dtfac1(5),dtmin1(5),idtmin(5),
140 + dtfac1(6),dtmin1(6),idtmin(6),
141 + dtfac1(9),dtmin1(9),idtmin(9),
142 + dtfac1(10),dtmin1(10),idtmin(10)
143
144 END IF
145 IF(idtmin(11) == 3 .OR. idtmin(11) == 8) THEN
146 WRITE(iout,1107)dtfac1(11),dtmin1(11),idtmin(11)
147 ENDIF
148 IF(idtmins_int/=0)THEN
149 WRITE(iout,1208) dtfacs_int,dtmins_int
150 END IF
151 IF(idtmins/=0)THEN
152 IF(idtgrs <= 0)THEN
153 WRITE(iout,1108) dtfacs,dtmins,tol_sms,
154 . nsmspcg,ncprisms,-idtgrs
155 ELSE
156 WRITE(iout,1108) dtfacs,dtmins,tol_sms,
157 . nsmspcg,ncprisms,
158 . igrpart(idtgrs)%ID
159 END IF
160 END IF
161 ELSE
162 IF(idtmin(11)==3.OR.idtmin(11) == 8)THEN
163 WRITE(iout,1106) dtfac1(11),dtmin1(11),idtmin(11)
164 END IF
165 IF (min_aspect+min_defv > zero) THEN
166 WRITE(iout,1115) dtfac1(1),dtmin1(1),idtmin(1),
167 + min_aspect,min_defv,
168 + dtfac1(2),dtmin1(2),idtmin(2),
169 + dtfac1(3),dtmin1(3),idtmin(3),
170 + dtfac1(4),dtmin1(4),idtmin(4),
171 + dtfac1(5),dtmin1(5),idtmin(5),
172 + dtfac1(6),dtmin1(6),idtmin(6),
173 + dtfac1(9),dtmin1(9),idtmin(9),
174 + dtfac1(10),dtmin1(10),idtmin(10)
175
176 ELSE
177 WRITE(iout,1105) dtfac1(1),dtmin1(1),idtmin(1),
178 + dtfac1(2),dtmin1(2),idtmin(2),
179 + dtfac1(3),dtmin1(3),idtmin(3),
180 + dtfac1(4),dtmin1(4),idtmin(4),
181 + dtfac1(5),dtmin1(5),idtmin(5),
182 + dtfac1(6),dtmin1(6),idtmin(6),
183 + dtfac1(9),dtmin1(9),idtmin(9),
184 + dtfac1(10),dtmin1(10),idtmin(10)
185
186 END IF
187 IF(idtmins_int/=0)THEN
188 WRITE(iout,1208) dtfacs_int,dtmins_int
189 END IF
190
191 IF (idtmins/=0) THEN
192 IF (isms_selec < 3) THEN
193 IF(idtgrs<=0)THEN
194 WRITE(iout,1108) dtfacs,dtmins,tol_sms,
195 . nsmspcg,ncprisms,-idtgrs
196 ELSE
197 WRITE(iout,1108) dtfacs,dtmins,tol_sms,
198 . nsmspcg,ncprisms,
199 . igrpart(idtgrs)%ID
200 END IF
201 ELSE
202
203 dt_crit = dtmins /
max(em20,dtfac1(11))
204 IF(idtgrs<=0)THEN
205 WRITE(iout,2108) dtfacs,dtmins,tol_sms,
206 . nsmspcg,ncprisms,dt_crit,-idtgrs
207 ELSE
208 WRITE(iout,2108) dtfacs,dtmins,tol_sms,
209 . nsmspcg,ncprisms,dt_crit,
210 . igrpart(idtgrs)%ID
211 END IF
212 ENDIF
213 END IF
214
215 ENDIF
216
217 IF(numsph /= 0)THEN
218 IF(idtmin(51) == 3)THEN
219 WRITE(istdo,*)
220 .' ** WARNING SMALL STRAIN FORMULATION FOR SPH'
221 WRITE(iout,*)
222 .' ** WARNING SMALL STRAIN FORMULATION IS NOT AVAILABLE FOR SPH,',
223 . ' OPTION /DT/SPHCEL/CST WILL BE OMITTED.'
224 idtmin(51)=0
225 ENDIF
226 IF(nodadt == 1)THEN
227 WRITE(iout,*)
228 . 'IMPROVED TIME STEP (NODAL) COMPUTATION ON SPH PARTICLES :'
229 dtfac1(51)=dtfac1(11)
230 ENDIF
231 WRITE(iout,1151)dtfac1(51),dtmin1(51),idtmin(51)
232 ENDIF
233
234 WRITE(iout,1152)dtfac1(52),dtmin1(52),idtmin(52)
235
236 1000 FORMAT(/,' TIME STEP CONTROL . . . . . . .. . . . . . . ',/,
237 . ' ---------------------------------------------'/)
238 1105 FORMAT(
239 . ' BRICK TIME STEP SCALE FACTOR . . . . . . . . . . ',g14.7/
240 . ' BRICK MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
241 . ' MIN. TIME STEP FLAG (1:STOP RUN, 2:DELETE BRICK) ',i5//
242 . ' QUAD TIME STEP SCALE FACTOR. . . . . . . . . . . ',g14.7/
243 . ' QUAD MINIMUM TIME STEP . . . . . . . . . . . . . ',g14.7/
244 . ' MIN. TIME STEP FLAG (1:STOP RUN, 2:DELETE QUAD). ',i5//
245 . ' SHELL TIME STEP SCALE FACTOR . . . . . . . . . . ',g14.7/
246 . ' SHELL MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
247 . ' MIN. TIME FLAG (1:STOP, 2:DELETE, 3:SMALL STRAIN)',i5//
248 . ' TRUSS TIME STEP SCALE FACTOR . . . . . . . . . . ',g14.7/
249 . ' TRUSS MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
250 . ' MIN. TIME FLAG (1:STOP, 2:DELETE). . . . . . . . ',i5//
251 . ' BEAM TIME STEP SCALE FACTOR. . . . . . . . . . . ',g14.7/
252 . ' BEAM MINIMUM TIME STEP . . . . . . . . . . . . . ',g14.7/
253 . ' MIN. TIME FLAG (1:STOP, 2:DELETE). . . . . . . . ',i5//
254 . ' SPRING TIME STEP SCALE FACTOR. . . . . . . . . . ',g14.7/
255 . ' SPRING MINIMUM TIME STEP . . . . . . . . . . . . ',g14.7/
256 . ' MIN. TIME FLAG (1:STOP, 2:DELETE). . . . . . . . ',i5//
257 . ' AIRBAG TIME STEP SCALE FACTOR. . . . . . . . . . ',g14.7/
258 . ' AIRBAG MINIMUM TIME STEP . . . . . . . . . . . . ',g14.7/
259 . ' MIN. TIME FLAG (1:STOP). . . . . . . . . . . . . ',i5//
260 . ' CONTACT TIME STEP SCALE FACTOR . . . . . . . . . ',g14.7/
261 . ' CONTACT MINIMUM TIME STEP. . . . . . . . . . . . ',g14.7/
262 . ' MIN. TIME FLAG(1:STOP, 2:REMOVE NODE FROM INTERF)',i5/ )
263 1106 FORMAT(
264 . ' NODAL TIME STEP SCALE FACTOR, . . . . . . . . . ',g14.7/
265 . ' NODAL MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
266 . ' MIN. TIME FLAG . . . . . . . . . . . . . . . . . ',i5/
267 . ' 1:STOP. . . . . . . . . . . . . . . . . . . . ',/
268 . ' 3:INCREASE MASS, ORIGINAL FORMULATION . . . . ',/
269 . ' 8:INCREASE MASS, IMPROVED FORMULATION . . . . ',//)
270 1107 FORMAT(
271 . ' CONTACT NODAL TIME STEP SCALE FACTOR . . . . . . ',g14.7/
272 . ' CONTACT NODAL MINIMUM TIME STEP. . . . . . . . . ',g14.7/
273 . ' CONTACT NODAL MIN. TIME FLAG . . . . . . . . . . ',i5/
274 . ' 3:INCREASE MASS, ORIGINAL FORMULATION . . . . ',/
275 . ' 8:INCREASE MASS, IMPROVED FORMULATION . . . . ',//)
276 1108 FORMAT(
277 . ' ADVANCED MASS SCALING IS ON . . . . . . . . . . .',/
278 . ' AMS NODAL TIME STEP SCALE FACTOR. . . . . . . . .',g14.7/
279 . ' AMS NODAL MINIMUM TIME STEP . . . . . . . . . . .',g14.7/
280 . ' AMS TOLERANCE ON CONVERGENCE. . . . . . . . . . .',g14.7/
281 . ' AMS MAXIMUM NUMBER OF ITERATIONS FOR CONVERGENCE.',i10/
282 . ' OUTPUT FREQUENCY OF INFORMATION / CONVERGENCE . .',i10/
283 . ' PART GROUP ID (=0 ALL PARTS) . . . . . . . . . . ',i10//)
284 1113 FORMAT(
285 . ' GLOBAL TIME STEP IS ON . . . . . . . . . . . . . . .',/
286 . ' GLOBAL TIME STEP SCALE FACTOR. . . . . . .. . . .',g14.7/
287 . ' GLOBAL TIME STEP TOLERANCE ON CONVERGENCE. . .. .',g14.7/
288 . ' NUMBER OF CYCLES FOR GLOBAL TIME STEP UPDATE. . .',i10//)
289 1115 FORMAT(
290 . ' BRICK TIME STEP SCALE FACTOR . . . . . . . . . . ',g14.7/
291 . ' BRICK MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
292 . ' MIN. TIME STEP FLAG (1:STOP RUN, 2:DELETE 3:CST )',i5//
293 . ' BRICK MINIMUM ASPECT RATIO (Tet collapse). . . . :',g14.7/
294 . ' BRICK MINIMUM VOLUME CHANGE . . . . . . . . . . .:',g14.7//
295 . ' QUAD TIME STEP SCALE FACTOR. . . . . . . . . . . ',g14.7/
296 . ' QUAD MINIMUM TIME STEP . . . . . . . . . . . . . ',g14.7/
297 . ' MIN. TIME STEP FLAG (1:STOP RUN, 2:DELETE QUAD). ',i5//
298 . ' SHELL TIME STEP SCALE FACTOR . . . . . . . . . . ',g14.7/
299 . ' SHELL MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
300 . ' MIN. TIME FLAG (1:STOP, 2:DELETE, 3:SMALL STRAIN)',i5//
301 . ' TRUSS TIME STEP SCALE FACTOR . . . . . . . . . . ',g14.7/
302 . ' TRUSS MINIMUM TIME STEP. . . . . . . . . . . . . ',g14.7/
303 . ' MIN. TIME FLAG (1:STOP, 2:DELETE). . . . . . . . ',i5//
304 . ' BEAM TIME STEP SCALE FACTOR. . . . . . . . . . . ',g14.7/
305 . ' BEAM MINIMUM TIME STEP . . . . . . . . . . . . . ',g14.7/
306 . ' MIN. TIME FLAG (1:STOP, 2:DELETE). . . . . . . . ',i5//
307 . ' SPRING TIME STEP SCALE FACTOR. . . . . . . . . . ',g14.7/
308 . ' SPRING MINIMUM TIME STEP . . . . . . . . . . . . ',g14.7/
309 . ' MIN. TIME FLAG (1:STOP, 2:DELETE). . . . . . . . ',i5//
310 . ' AIRBAG TIME STEP SCALE FACTOR. . . . . . . . . . ',g14.7/
311 . ' AIRBAG MINIMUM TIME STEP . . . . . . . . . . . . ',g14.7/
312 . ' MIN. TIME FLAG (1:STOP). . . . . . . . . . . . . ',i5//
313 . ' INTERFACE TYPE 7 TIME STEP SCALE FACTOR. . . . . ',g14.7/
314 . ' INTERFACE TYPE 7 MINIMUM TIME STEP . . . . . . . ',g14.7/
315 . ' MIN. TIME FLAG(1:STOP, 2:REMOVE NODE FROM INTERF)',i5/ )
316 1151 FORMAT(
317 . ' SMOOTH PARTICLES TIME STEP SCALE FACTOR. . . . . ',g14.7/
318 . ' SMOOTH PARTICLES MINIMUM TIME STEP . . . . . . . ',g14.7/
319 . ' MIN. TIME FLAG (1:STOP, 2:DELETE, 5:KILL). . . . ',i5 )
320 1152 FORMAT(
321 . ' FVMBAG TIME STEP SCALE FACTOR. . . . . . . . . . ',g14.7/
322 . ' FVMBAG MINIMUM TIME STEP . . . . . . . . . . . . ',g14.7/
323 . ' FVMBAG TIME STEP FLAG. . . . . . . . . . . . . . ',i5,/)
324 1208 FORMAT(
325 . ' AMS CONTACT TIME STEP IS ON . . . . . . . . . . . . .',/
326 . ' . . . . . .(ALL CONTACTS WILL BE CONCERNED).) . . . .',/
327 . ' AMS CONTACT TIME STEP SCALE FACTOR. . . . . . . . . .',g14.7/
328 . ' AMS CONTACT MINIMUM TIME STEP . . . . . . . . . . . .',g14.7//)
329 2108 FORMAT(
330 . ' ADVANCED MASS SCALING IS ON . . . . . . . . . . .',/
331 . ' AMS TIME STEP SCALE FACTOR. . . . . . . . . . . .',g14.7/
332 . ' AMS MINIMUM TIME STEP . . . . . . . . . . . . . .',g14.7/
333 . ' AMS TOLERANCE ON CONVERGENCE. . . . . . . . . . .',g14.7/
334 . ' AMS MAXIMUM NUMBER OF ITERATIONS FOR CONVERGENCE.',i10/
335 . ' OUTPUT FREQUENCY OF INFORMATION / CONVERGENCE . .',i10/
336 . ' AUTO ELEMENT SELECTION - TIME STEP CRITERIA . . .',g14.7/
337 . ' PART GROUP ID (=0 ALL PARTS) . . . . . . . . . . ',i10//)
338 4710 FORMAT(
339 . ' ACCURATE TIME STEP COMPUTATION FOR HEPH IS USED .',/)
340 4720 FORMAT(
341 . ' accurate time step
for shells is used. . . . . .
',/)
342 4730 FORMAT(
343 . ' accurate time step
for 4-node tetrahedra is used
',/)
344 4740 FORMAT(
345 . ' accurate time step
for 10-node tetrahedra is used
',/)
346
347 RETURN
for(i8=*sizetab-1;i8 >=0;i8--)