Reads input files and allocates memory.
27
30
31
32 implicit none
33
34 include 'SPEED.MPI'
35
37
39 write(*,'(A)')
40 write(*,'(A)')'------------------Reading Header File------------------'
41 write(*,
'(A,A50)')
'Header File: ',
head_file
42 endif
43
46 write(*,*)
'File ',
head_file,
' is missing!'
47 call exit(exit_missing_file)
48 endif
49
51
54
56
58
61
62
63
71
87
88 if (
mpi_id.eq.0)
write(*,
'(A)')
'Read.'
89
90
94 write(*,
'(A,E12.4,A,E12.4,A)')
'Instability threshold: ',
instability_maxval' (default: '')'
95 endif
96 endif
97
98
100 write(*,*) 'Restart Active ...'
101 write(*,*)
'Backup every ',
trestart,
' time steps'
102 endif
103
104
105
107 if(
dg_c .eq. 1.d0)
write(*,
'(A)')
'DG METHOD : NIPG'
108 if(
dg_c .eq. 0.d0)
write(*,
'(A)')
'DG METHOD : IIPG'
109 if(
dg_c .eq. -1.d0)
write(*,
'(A)')
'DG METHOD : SIPG'
110 if(
pen_c .ge. 0.d0)
write(*,
'(A,E12.4)')
'PENALIZATION : ',
pen_c
111 if(
dg_c .eq. -100)
write(*,
'(A)')
'SEM METHOD '
112 endif
113
114
116
118 write(*,'(A)')
119 write(*,'(A,A20)')'-----------------Reading Material File-----------------'
120 write(*,
'(A,A20)')
'Material File : ',
mat_file
121 endif
122
124 if(
filefound .eqv. .false.)
call exit(exit_missing_file)
125
140
143
144 if(
n_test.gt.0 .and.
mpi_id .eq. 0)
write(*,
'(A)')
'*********TEST MODE*********'
145
147 write(*,
'(A,I8)')
'Materials : ',
nmat
160
161
174 if(
nfunc.gt.0)
write(*,
'(A,I8)')
'Functions : ',
nfunc
175 if(
srcmodflag.eq.1)
write(*,*)
'Using Not Honoring Fault Method For Siesmic Sources'
176 if(
sdofflag.eq.1)
write(*,*)
'Coupling SDOF response :: True'
180 write(*,'(A)')'CASE WARNING: More than one case defined,'
181 write(*,'(A)')' only the 1st case will be adopted'
182 endif
183 write(*,
'(A,I8)')
'CASE : ',
n_case
184
186 write(*,
'(A,I8)')
'Not_Honoring Enhanced Blocks : ',
nmat_nhe
187 endif
188 endif
189
191 write(*,*)'Error ! nmat = 0'
192 call exit(exit_no_materials)
193 endif
194
196
199
203
208
212
213
214
216
217
221
225
226
228
232
237 endif
238
247 endif
248
249
252
255
257
259
260
262
299
300
301 if(
fmax .eq. 0.d0)
then
303 if (
mpi_id .eq. 0)
write(*,*)
'ATTENTION: FMAX not defined!'
304 if (
mpi_id .eq. 0)
write(*,*)
'FMAX ASSUMED = 3'
305 endif
306
307
308
309
311
313 if(
qs(
im) .eq. 0.d0)
then
315 else
317 endif
318
319 enddo
320
321
322 else
323
325
326 endif
327
328
329
330
331
332
335 enddo
336
337
338
339 if (
mpi_id.eq.0)
write(*,
'(A)')
'Read.'
340
342 write(*,'(A)')
345
346 write(*,'(A)') '------------------Not-Honoring case-------------------'
349 case(1)
350 write(*,'(A)')'GRENOBLE H.'
351 case(2)
352 write(*,'(A)')'GRENOBLE'
353 case(3)
354 write(*,'(A)')'GUBBIO'
355 case(4)
356 write(*,'(A)')'SULMONA'
357 case(5)
358 write(*,'(A)')'VOLVI'
359 case(6)
360 write(*,'(A)')'FRIULI'
361 case(7)
362 write(*,'(A)')'AQUILA'
363 case(8)
364 write(*,'(A)')'SANTIAGO'
365 case(11)
366 write(*,'(A)')'CHRISTCHURCH NEW TOPO'
367 case(12)
368 write(*,'(A)')'PO PLAIN (new model)'
369 case(13)
370 write(*,'(A)')'PO PLAIN-BEDROCK (new-model)'
371 case(14)
372 write(*,'(A)')'WELLINGTON (Benites)'
373 case(15)
374 write(*,'(A)')'MARSICA-FUCINO'
375 case(16)
376 write(*,'(A)')'ISTANBUL'
377 case(18)
378 write(*,'(A)')'BEIJING-TUTORIAL'
379 case(19)
380 write(*,'(A)')'THESSALONIKI'
381 case(20)
382 write(*,'(A)')'ATHENS'
383 case(21)
384 write(*,'(A)')'BEIJING'
385 case(22)
386 write(*,'(A)')'NORCIA'
387 case(27)
388 write(*,'(A)')'AQUILA-OB'
389 case(28)
390 write(*,'(A)')'NORCIA-OB'
391 case(29)
392 write(*,'(A)')'THESS-OB'
393 case(30)
394 write(*,'(A)')'ATHENS-Parthenon'
395 case(31)
396 write(*,'(A)')'GRONINGEN'
397 case(32)
398 write(*,'(A)')'GRONINGEN-LAYERED MODEL'
399 case(33)
400 write(*,'(A)')'GRONINGEN-ZE'
401 case(35)
402 write(*,'(A)')'THESS+MYGD-FINAL'
403 case(38)
404 write(*,'(A)')'MONTELIMAR'
405 case(40)
406 write(*,'(A)')'KUTCH BASIN, INDIA'
407 case(46)
408 write(*,'(A)')'KUMAMOTO, JAPAN'
409 case(60)
410 write(*,'(A)')'JAKARTA, INDONESIA'
411 case(70)
412 write(*,'(A)')'AQUILA MULTI-BASIN'
413 case(91)
414 write(*,'(A)')'IRPINIA'
415 case(98,99,100)
416 write(*,'(A)')'TEST MODE'
417 case default
418 write(*,'(A)')'ERROR.. this case was not implemented!'
419 end select
420
421 write(*,
'(A,I8)')
'MATERIAL TYPE : ',
val_case(
i)
422 write(*,
'(A,E12.4)')
'MATERIAL TOL. : ',
tol_case(
i)
423 write(*,*)
424 enddo
425 endif
426 endif
427
429 write(*,'(A)')
431 write(*,
'(A,I8)')
'MATERIAL : ',
tag_mat(
im)
432
437
438 write(*,
'(A,E12.4)')
'Qs : ',
qs(
im)
439 write(*,
'(A,E12.4)')
'Qp : ',
qp(
im)
440 write(*,*)
441 enddo
442 endif
443
445 write(*,'(A)')
447 write(*,
'(A,I8)')
'NON LINEAR ELASTIC - MATERIAL : ',
tag_mat_nle
448
451 write(*,*)
452 enddo
454 write(*,'(A)')'ERROR: Peak frequency for damping not defined!'
455 call exit(exit_damping_peak)
456 endif
457 endif
458
459
461 if (
mpi_id.eq.0)
write(*,
'(A)')
'-------------------Reading Grid File-------------------'
463
465 if(
filefound .eqv. .false.)
call exit(exit_missing_file)
466
467
468
478
481 write(*,
'(A,I8)')
'Elements : ',
nelem
482 write(*,
'(A,I8)')
'Faces : ',
nface
483 endif
484
485
488 else
489 write(*,*)'Error ! nelem = 0'
490 call exit(exit_no_elements)
491 endif
492
494
495
506
507 if(
mpi_id .eq. 0)
write(*,
'(A)')
'Read.'
508 if(
mpi_id .eq. 0)
write(*,
'(A)')
509
subroutine read_dime_filemate(filemate, nb_mat, nb_mat_nle, nb_mat_rnd, nb_load_dirx, nb_load_diry, nb_load_di
Reads dimensions in filemate (*.mate)
subroutine read_dime_filemesh(gridfile, nb_mate, lab_mate, nb_dirix, lab_dirix, nb_diriy, lab_diriy, nb_diri
Reads dimensions in gridfile (*.mesh)
subroutine read_filemate(filemate, nb_mate, char_mat, type_mat, trefm,
Reads and stores data from filemate (*.mate)
subroutine read_filemesh(gridfile, nb_mat, lab_mat, nb_dirix, lab_dirx, nb_diriy, lab_diry, nb_dir
Reads dimensions in gridfile (*.mesh)
Contains SPEED PARAMETERS used in (SPEED, READ_INPUT_FILES, MAKE_PARTION_AND_MPI_FILES,...
real *8, dimension(:,:), allocatable val_poiz_el
integer *4, dimension(:), allocatable fun_poiz_el
real *8, dimension(:), allocatable qs
real *8, dimension(:,:), allocatable val_neux_el
integer *4, dimension(:), allocatable tag_abc_el
real *8, dimension(:), allocatable tol_case
integer *4, dimension(:), allocatable fun_tray_el
integer *4, dimension(:), allocatable tag_plax_el
real *8, dimension(:,:), allocatable val_forc_el
integer *4, dimension(:), allocatable fun_fory_el
real *8, dimension(:,:), allocatable val_forz_el
integer *4, dimension(:), allocatable tag_dg_frc
integer *4, dimension(:), allocatable val_case
integer *4, dimension(:), allocatable tag_mat_nle
integer *4, dimension(:), allocatable fun_dirx_el
real *8, dimension(:,:), allocatable val_shea_el
real *8, dimension(:,:), allocatable val_poix_el
integer *4, dimension(:), allocatable tag_dg_yn
integer *4, dimension(:), allocatable type_mat
integer *4, dimension(:), allocatable fun_neuy_el
integer *4, dimension(:), allocatable tag_neux_el
real *8, dimension(:,:), allocatable prop_mat
real *8, dimension(:,:), allocatable val_play_el
integer *4, dimension(6) opt_out_var
integer *4 label_testcase
real *8, dimension(:,:), allocatable val_neun_el
character *3 deltat_fixed
integer *4, dimension(:), allocatable tag_neuz_el
integer *4, dimension(:), allocatable tag_expl_el
integer *4, dimension(:), allocatable fun_play_el
real *8, dimension(:,:), allocatable val_fory_el
integer *4, dimension(:,:), allocatable prop_mat_nle
integer *4, dimension(:), allocatable fun_plaz_el
integer *4, dimension(:), allocatable fun_dirz_el
real *8, dimension(:,:), allocatable val_sism_el
real *8, dimension(:,:), allocatable val_mat_nle
integer *4, dimension(:), allocatable tag_case
integer *4, dimension(:,:), allocatable con
real *8, dimension(:,:), allocatable val_neuy_el
integer *4, dimension(:), allocatable fun_forc_el
integer *4, dimension(:), allocatable fun_shea_el
integer *4, dimension(:), allocatable tag_neuy_el
real *8, dimension(:,:), allocatable val_plax_el
real *8 instability_maxval
integer *4, dimension(:), allocatable fun_plax_el
integer *4, dimension(:), allocatable type_mat_nle
integer *4, dimension(:), allocatable fun_forz_el
character *70 monitor_file
integer *4, dimension(:), allocatable fun_neuz_el
integer *4, dimension(:), allocatable val_nhe
real *8, parameter instability_maxval_default
real *8, dimension(:,:), allocatable val_poiy_el
integer *4, dimension(:), allocatable tag_diry_el
integer *4, dimension(:), allocatable tag_sism_el
logical, parameter b_instabilitycontrol_default
integer *4, dimension(:), allocatable tag_dirz_el
real *8, dimension(:), allocatable qp
integer *4, dimension(:), allocatable tag_neun_el
integer *4, dimension(:), allocatable fun_poix_el
real *8 depth_search_mon_pgm
integer *4, dimension(:), allocatable rand_mat
integer *4, dimension(:), allocatable fun_poiy_el
real *8, dimension(:,:), allocatable val_dg_frc
real *8 depth_search_sys_lst
real *8, dimension(:), allocatable tref_mat
integer *4, dimension(:), allocatable sdeg_mat
real *8, dimension(:,:), allocatable val_dirx_el
integer *4, dimension(:), allocatable fun_test
logical b_instabilitycontrol
integer *4, dimension(:), allocatable fun_diry_el
integer *4, dimension(:), allocatable tag_dg_el
real *8, dimension(:,:), allocatable val_trax_el
integer *4, dimension(:), allocatable fun_trax_el
real *8 rotation_angle_mon_pgm
integer *4, dimension(:), allocatable tag_mat
integer *4, dimension(:), allocatable tol_nhe
integer *4, dimension(:), allocatable tag_func
integer *4, dimension(:), allocatable func_type
real *8, dimension(:), allocatable time_error
integer *4, dimension(:), allocatable tag_play_el
real *8, dimension(:,:), allocatable val_neuz_el
integer *4, dimension(:), allocatable func_indx
integer *4, dimension(:), allocatable fun_traz_el
real *8, dimension(:,:), allocatable val_expl_el
integer *4, dimension(:), allocatable fun_neun_el
integer *4, dimension(:), allocatable fun_pres_el
real *8, dimension(:,:), allocatable val_tray_el
real *8, dimension(:,:), allocatable val_pres_el
logical, parameter b_failoncoeffs_default
integer *4, dimension(:,:), allocatable con_bc
integer *4, dimension(:), allocatable fun_neux_el
real *8, dimension(:,:), allocatable val_forx_el
real *8, dimension(:,:), allocatable val_traz_el
real *8, dimension(:,:), allocatable val_dirz_el
integer *4, dimension(:), allocatable fun_sism_el
logical, parameter b_setuponly_default
integer *4, dimension(:), allocatable tag_dg_link
real *8 depth_search_mon_lst
logical, parameter b_failcfl_default
integer *4, dimension(:), allocatable tag_plaz_el
integer *4, dimension(:), allocatable fun_expl_el
integer *4, dimension(:), allocatable tag_dirx_el
real *8, dimension(:,:), allocatable val_diry_el
integer *4, dimension(:), allocatable fun_forx_el
real *8, dimension(:), allocatable func_data
real *8, dimension(:,:), allocatable val_plaz_el