47 allocate(
mpi_stat(speed_status_size))
57 write(*,
'(A)')
'*******************************************************'
59 write(*,
'(A)')
'* SPEED *'
60 write(*,
'(A)')
'* SPectral Elements in Elastodynamics *'
61 write(*,
'(A)')
'* with Discontinuous Galerkin *'
63 write(*,
'(A)')©
'* PoliMi, 2012, All Rights Reserved *'
65 write(*,
'(A)')
'*******************************************************'
84 call make_partition_and_mpi_files()
108 call make_seismic_moment_or_explosive_source()
110 call make_seismic_moment_pointsources_nhfault()
129 write(*,
'(A)')
'----------------Building the Damping matrix---------------'
134 write(*,
'(A)')
'----------------Building the Damping matrix---------------'
135 write(*,
'(A)')
'ATT: There are no materials with damping defined on'
141 write(*,
'(A)')
'------------Computing anelastic coefficients-----------'
148 if (
fmax .ne. 0.d0) &
158 if (
mpi_id .eq. 0)
write(*,
'(A)')
'NEGATIVE anelastic coefficient found, program ended.'
159 if (
mpi_ierr.ne.0)
write(*,
'(A,I6)')
'MPI Finalization error - proc : '
160 call exit(exit_anelastic)
170 write(*,
'(A)')
'------------Computing Rayleigh coefficients-----------'
176 if (
fmax .ne. 0.d0) &
202 call make_load_matrix()
221 if (
mpi_id.eq.0)
write(*,
'(A)')
'----------------Making not-honoring case---------------'
244 write(*,
'(A,F20.3,A)')
'Set-up time CASE = ',
start2-
start1,
' s'
245 write(*,
'(A)')
'Made.'
273 call make_boundary_conditions()
281 call make_dg_interface_conditions()
288 if (
mpi_id.eq.0)
write(*,
'(A)')
289 if (
mpi_id.eq.0)
write(*,
'(A)')
'------------Setting calculation parameters-------------'
325 write(*,
'(A,I15)')
'Number of time-steps : ',
nts
326 write(*,
'(A,E14.5)')
'Start time : ',
tstart
327 write(*,
'(A,E14.5)')
'Final time : ',
tstop
370 write(*,
'(A)')
'-------------------------------------------------------'
372 write(*,
'(A)')
'-------------------------------------------------------'
378 if (
mpi_ierr.ne.0)
write(*,
'(A,I6)')
'MPI Finalization error - proc : '
380 write(*,
'(A)')
'Set-up ended. Program finished.'
382 call exit(exit_setup)
391 write(*,
'(A)')
'------------Beginning of the time-loop-----------------'
404 if (
mpi_ierr.ne.0)
write(*,
'(A,I6)')
'MPI Finalization error - proc : '
407 write(*,
'(A)');
write(*,
'(A)')
'Print output'
412 if (
mpi_id.eq.0)
write(*,
'(A)')
413 if (
mpi_id.eq.0)
write(*,
'(A)')
'Bye.'
415 call exit(exit_normal)
subroutine deallocate_variables()
Deallocates variables.
subroutine find_monitor_position()
Find monitor position an writes MLST.input or MPGM.
subroutine initialization(comm, np, id, ierr)
Inizialization for parallel computation.
subroutine make_anelastic_coefficients(nmat, n_sls, prop_mat, qs,
Compute anelastic coefficients for Standard Linear Solid model USE THE LIBRARY QR_SOLVE!
subroutine make_nh_enhanced()
...Not-Honoring Enhanced (NHE) Implementation
subroutine make_nothonoring(loc_n_num, nn_loc, n_case, tag_case, val_case, tol_case, cs_nnz_loc, cs_loc, nm, tag_mat, sdeg_mat, xs_loc, ys_loc, zs_loc, zs_elev, zs_all, vs, thick, sub_tag_all, mpi_id)
Makes not-honoring technique.
subroutine make_random_param(loc_n_num, nn_loc, nmat_rnd, rand_mat, xs_loc, ys_loc, zs_loc, lambda_rnd, mu_rnd, rho_rnd, mpi_id)
...
subroutine make_spx_grid_with_loc_numeration()
Makes local spectral grids with nodes numbered according to the new local numeration.
subroutine read_system_position()
Reads oscillator position and writes SYSLST.input file.
Contains structure for jump matrices.
Contains SPEED paramters (used in MAKE_DG_INTERFACE_CONDITIONS)
type(el4loop), dimension(:), allocatable el_new
Contains SPEED PARAMETERS used in (SPEED, READ_INPUT_FILES, MAKE_PARTION_AND_MPI_FILES,...
real *8, dimension(:), allocatable frequency_range
real *8, dimension(:), allocatable qs
real *8, dimension(:), allocatable tol_case
integer *4, dimension(:), allocatable val_case
real *8, dimension(:,:), allocatable y_mu
real *8, dimension(:,:), allocatable prop_mat
character *3 deltat_fixed
real *8, dimension(:), allocatable vs_tria
integer *4, dimension(:), allocatable tag_case
real *8, dimension(:), allocatable zz_spx_loc
real *8, dimension(:,:), allocatable y_lambda
real *8, dimension(:), allocatable lambda_nhe
real *8, dimension(:), allocatable a1_ray
real *8, dimension(:), allocatable yy_spx_loc
integer *4, parameter n_sls
real *8, dimension(:), allocatable thick
real *8, dimension(:), allocatable mu_rnd
real *8, dimension(:), allocatable qp
real *8, dimension(:), allocatable a0_ray
integer *4, dimension(:), allocatable local_node_num
integer *4, dimension(:), allocatable rand_mat
integer *4, dimension(:), allocatable sdeg_mat
integer *4, dimension(:), allocatable mpi_stat
integer *4, dimension(:), allocatable con_spx_loc
integer *4, dimension(:), allocatable sub_tag_all
real *8, dimension(:), allocatable zs_elev
real *8, dimension(:), allocatable zs_all
integer *4, dimension(:), allocatable tag_mat
real *8, dimension(:), allocatable rho_rnd
real *8, dimension(:), allocatable xx_spx_loc
real *8, dimension(:), allocatable lambda_rnd
integer *4 make_damping_yes_or_not
integer *4, dimension(:), allocatable elem_domain
real *8, dimension(:), allocatable mu_nhe
real *8, dimension(:), allocatable rho_nhe
Contains mesh structure (scratch)
Contains mesh structure for DG interface elements.