69 use max_var ,
only:
nofqp !<max number of 1-d quadrature point per element
72 real*8,
dimension(nofqp**2) :: x_nq
73 real*8,
dimension(nofqp**2) :: y_nq
74 real*8,
dimension(nofqp**2) :: z_nq
101 real*8,
dimension(nofqp**2) :: wx_pl
102 real*8,
dimension(nofqp**2) :: wy_pl
103 real*8,
dimension(nofqp**2) :: wz_pl
125 integer*4:: quad_rule
129 real*8,
dimension(max_quad_points) :: x_pl
130 real*8,
dimension(max_quad_points) :: y_pl
131 real*8,
dimension(max_quad_points) :: z_pl
132 real*8,
dimension(max_quad_points) :: x_mn
133 real*8,
dimension(max_quad_points) :: y_mn
134 real*8,
dimension(max_quad_points) :: z_mn
136 real*8,
dimension(max_quad_points) :: wx_pl
137 real*8,
dimension(max_quad_points) :: wy_pl
138 real*8,
dimension(max_quad_points) :: wz_pl
140 integer*4,
dimension(max_quad_points,0:3) :: omega_minus
141 integer*4,
dimension(max_el_conf,0:2) :: conf
161 real*8,
dimension(:,:),
pointer :: mjump
162 real*8,
dimension(:,:),
pointer :: mjump_only_uv
173 integer*4:: num_of_ne
175 integer*4:: nnz_minus
177 integer*4:: nnz_plus_only_uv
178 integer*4:: nnz_minus_only_uv
179 integer*4:: nnz_col_only_uv
181 integer*4,
dimension(:),
pointer :: iplus, jplus
182 integer*4,
dimension(:),
pointer :: imin, jmin
183 integer*4,
dimension(max_el_conf,0:2) :: el_conf
184 real*8,
dimension(:),
pointer :: matplus, matmin
185 real*8,
dimension(:,:),
pointer :: matp
186 type(
matrix),
dimension(:),
pointer :: matm
188 integer*4,
dimension(:),
pointer :: iplus_only_uv, jplus_only_uv
189 integer*4,
dimension(:),
pointer :: imin_only_uv, jmin_only_uv
190 real*8,
dimension(:),
pointer :: matplus_only_uv, matmin_only_uv
191 real*8,
dimension(:,:),
pointer :: matp_only_uv
192 type(
matrix),
dimension(:),
pointer :: matm_only_uv
335 integer*4,
dimension (:),
allocatable :: &
368 integer*4,
dimension (:),
allocatable ::
mpi_stat, &
383 integer*4,
dimension (:,:),
allocatable ::
con,
con_bc, &
408 real*8,
dimension (:),
allocatable :: &
417 real*8,
dimension (:),
allocatable :: &
457 real*8,
dimension (:,:),
allocatable ::
fel
463 real*8,
dimension (:,:),
allocatable :: &
474 real*8,
dimension (:,:),
allocatable :: &
621 integer,
intent(in out),
dimension(:) :: a
625 call partition(a, iq)
631subroutine partition(A, marker)
632 integer,
intent(in out),
dimension(:) :: a
633 integer,
intent(out) :: marker
666end subroutine partition
680 real*8,
intent(in) :: vec(:)
681 real*8,
intent(in) :: scal
682 integer,
optional,
intent(in) :: min
683 integer,
optional,
intent(in) :: max
692 if(.not.
present(min))
then
696 i = ishft(min+max, -1)
704 if(scal >= vec(i) .and. scal < vec(i+1))
then
707 else if( scal < vec(i) )
then
710 elseif(scal > vec(i))
then
733 integer*4 :: ndt, ndof
736 integer*4 :: structtype
737 integer*4 :: const_law
739 integer*4 :: forceapplicationtype
741 real*8 :: height, floor_h, tend, t2, area, massparea
742 real*8 :: calpha, cbeta
743 real*8,
dimension (:,:),
allocatable :: ms, ks, sysc, ms_inv
744 real*8,
dimension(:,:,:),
allocatable :: props
745 real*8,
dimension (:,:),
allocatable :: dval
747 real*8,
dimension(4,4) :: mat_m, mat_ks, mat_ki, mat_c, mat_f, mat_mcinv
750 real*8 :: beta_newmark, gamma_newmark
753 real*8 :: csi, cs, c0, cr, cv
755 real*8,
dimension(4,2) :: u, v, a, f
756 real*8,
dimension(2) :: fs, fb
758 real*8,
dimension(:,:),
allocatable :: idr, variidr, intforce
759 real*8,
dimension(:,:),
allocatable :: maxidr
760 real*8,
dimension(:,:),
allocatable :: mdofet, mdofspd
761 real*8,
dimension(:,:,:),
allocatable :: mdofstatev
762 real*8,
dimension(:,:),
allocatable :: mdofyield, mdofstate, mdofideath
763 real*8,
dimension(:,:),
allocatable :: tempu0,tempu1,tempu,tempa1
764 real*8,
dimension(:,:),
allocatable :: tempra1
766 real*8 :: fy, fh, fu, ey, eh, eu
767 integer*4,
dimension(3) :: branch, damage
768 integer*4 :: flag_minv
pure recursive integer function, public binarysearch_real(vec, scal, min, max)
Contains structure for jump matrices.
integer, parameter max_quad_points
max number of quadrature nodes on a DG surface
integer, parameter nofqp
max number of 1-D quadrature point per element
integer, parameter nofinr
max number of newton rapson iterations
integer, parameter max_el_conf
max number of neighbouring elements
integer, parameter max_dim
dimension of the problem
recursive subroutine, public qsortc(a)
integer, parameter exit_elem_orient
integer, parameter exit_no_nodes
integer, parameter exit_normal
integer, parameter exit_no_elements
integer, parameter exit_root
integer, parameter exit_missing_file
integer, parameter exit_anelastic
integer, parameter exit_damping_peak
integer, parameter exit_cfl
integer, parameter exit_function_error
integer, parameter exit_setup
integer, parameter exit_syntax_error
integer, parameter exit_surf_notfound
integer, parameter exit_energy_error
integer, parameter exit_singularmtx
integer, parameter exit_no_materials
integer, parameter exit_instab
Contains SPEED paramters (used in MAKE_DG_INTERFACE_CONDITIONS)
type(el4loop), dimension(:), allocatable el_new
type(element), dimension(:), allocatable dg_els
type(scratch_element), dimension(:), allocatable scratch_dg_els
Contains SPEED PARAMETERS used in (SPEED, READ_INPUT_FILES, MAKE_PARTION_AND_MPI_FILES,...
integer *4, dimension(:), allocatable elem_index
real *8, dimension(:,:), allocatable val_poiz_el
real *8, dimension(:), allocatable tsnap
integer *4, dimension(:), allocatable fun_poiz_el
real *8, dimension(5) sum_prova
real *8, dimension(:), allocatable kcel
real *8, dimension(:), allocatable frequency_range
real *8, dimension(:), allocatable yr_system_glo
real *8, dimension(:,:), allocatable pos_sour_node_y
real *8, dimension(:), allocatable y_monitor_lst
real *8, dimension(:,:), allocatable pos_sour_node_x
integer *4, dimension(:), allocatable proc_sys_recv
real *8, dimension(:), allocatable yr_monitor_pgm
real *8, dimension(:), allocatable x_monitor_lst
real *8, dimension(:), allocatable qs
real *8, dimension(:), allocatable x_system_real
real *8, dimension(:), allocatable dist_glo
integer *4, dimension(:), allocatable con_spx
real *8, dimension(:), allocatable delta2
real *8, dimension(:), allocatable cel
real *8, dimension(:,:), allocatable val_neux_el
integer *4 length_check_node_expl
integer *4, dimension(:), allocatable tag_abc_el
real *8, dimension(:), allocatable tol_case
real *8, dimension(:,:), allocatable max_v
real *8, dimension(:), allocatable gamma3
integer *4, dimension(:), allocatable local_el_num
integer *4, dimension(:), allocatable proc_recv
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 i4count
real *8, dimension(:,:), allocatable max_u
real *8, dimension(:), allocatable gamma2
integer *4 con_nnz_bc_loc
integer *4, dimension(:), allocatable tag_dg_frc
real *8, dimension(:,:), allocatable factor_seismic_moment
real *8, dimension(:), allocatable delta3
integer *4, dimension(:), allocatable val_case
real *8, dimension(:), allocatable alfa23
integer *4, dimension(:), allocatable tag_mat_nle
integer *4, dimension(:), allocatable fun_dirx_el
real *8, dimension(:), allocatable z_system_glo_real
integer *4 length_check_node_sism
integer *4, dimension(:,:), allocatable sour_node_expl
real *8, dimension(:,:), allocatable val_shea_el
real *8, dimension(:), allocatable dist_monitor_pgm
real *8, dimension(:,:), allocatable val_poix_el
integer *4, dimension(:), allocatable tag_dg_yn
real *8, dimension(:), allocatable beta13
character *70 file_mpi_new
integer *4, dimension(:), allocatable type_mat
integer *4, dimension(:), allocatable fun_neuy_el
integer *4, dimension(:), allocatable tag_neux_el
real *8, dimension(:,:), allocatable y_mu
integer *4, dimension(:), allocatable elem_domain_loc
integer *4, dimension(:), allocatable sism_el_glo
character *70 monitor_file_new
real *8, dimension(:,:), allocatable prop_mat
real *8, dimension(:,:), allocatable val_play_el
integer *4, dimension(6) opt_out_var
real *8, dimension(:), allocatable alfa33
integer *4 label_testcase
integer *4, dimension(:), allocatable inode_dirx
real *8, dimension(:,:), allocatable val_neun_el
character *3 deltat_fixed
integer *4, dimension(:), allocatable node_index_seq
real *8, dimension(:), allocatable alfa11
integer *4, dimension(:), allocatable con_spx_bc
character *70 head_file_frc
integer *4, dimension(:), allocatable num_node_expl
integer *4, dimension(:), allocatable local_node_num_dg
real *8, dimension(:), allocatable z_system_real
integer *4, dimension(:), allocatable tag_neuz_el
real *8, dimension(:), allocatable vs_tria
real *8, dimension(:), allocatable zr_system_glo
real *8, dimension(:), allocatable beta21
integer *4, dimension(:), allocatable tag_expl_el
integer *4, dimension(:), allocatable fun_play_el
integer *4, dimension(:), allocatable count_faces
real *8, dimension(:,:), allocatable factor_explosive_source
real *8, dimension(:), allocatable yr_glo
real *8, dimension(:,:), allocatable val_fory_el
real *8, dimension(:), allocatable dist_monitor_lst
real *8, dimension(:,:), allocatable max_o
integer *4, dimension(:), allocatable node_domain
integer *4, dimension(:,:), allocatable prop_mat_nle
integer *4, dimension(:), allocatable el_monitor_pgm
integer *4, dimension(:), allocatable fun_plaz_el
real *8, dimension(:), allocatable xr_monitor_pgm
integer *4, dimension(:), allocatable fun_dirz_el
integer *4, dimension(:,:), allocatable check_node_expl
real *8, dimension(:), allocatable delta1
real *8, dimension(:), allocatable zr_monitor_lst
real *8, dimension(:), allocatable z_monitor_pgm
character *70 file_syslst
real *8, dimension(:,:), allocatable val_sism_el
real *8, dimension(:,:), allocatable val_mat_nle
integer *4, dimension(:), allocatable tag_case
real *8, dimension(:), allocatable beta23
integer *4, dimension(:,:), allocatable con
real *8, dimension(:,:), allocatable fel
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 locnode_buildid_map
real *8, dimension(:), allocatable zz_spx_loc
real *8, dimension(:), allocatable set_initial_snap
integer *4, dimension(:,:), allocatable faces
integer *4, dimension(:), allocatable tag_neuy_el
real *8, dimension(:,:), allocatable dist_sour_node_expl
real *8, dimension(:), allocatable z_glo_real
integer *4, dimension(:), allocatable el_system_lst
real *8, dimension(:,:), allocatable y_lambda
real *8, dimension(:), allocatable lambda_nhe
real *8, dimension(:), allocatable y_system_lst
real *8, dimension(:,:), allocatable val_plax_el
real *8, dimension(:), allocatable yr_system_lst
real *8 instability_maxval
real *8, dimension(:), allocatable a1_ray
real *8, dimension(:), allocatable yy_spx_loc
integer *4, dimension(:), allocatable fun_plax_el
integer *4, dimension(:), allocatable n_system_glo
real *8, dimension(:), allocatable alfa13
integer *4, dimension(:), allocatable el_monitor_lst
real *8, dimension(:), allocatable y_glo_real
real *8, dimension(5) prova
integer *4, dimension(:), allocatable type_mat_nle
real *8, dimension(:), allocatable beta12
integer *4, dimension(:), allocatable fun_forz_el
real *8, dimension(:), allocatable xr_glo
character *70 monitor_file
integer *4, dimension(:), allocatable proc_recv_jump
real *8, dimension(:,:), allocatable dist_sour_node_sism
real *8, dimension(:), allocatable x_monitor_pgm
integer *4, dimension(:), allocatable con_spx_bc_loc
integer *4, parameter n_sls
integer *4, dimension(:), allocatable vec
integer *4, dimension(:), allocatable fun_neuz_el
integer *4, dimension(:), allocatable val_nhe
real *8, parameter instability_maxval_default
real *8, dimension(:), allocatable highest_pgm
real *8, dimension(:,:), allocatable val_poiy_el
integer *4, dimension(:), allocatable tag_diry_el
real *8, dimension(:), allocatable thick
real *8, dimension(:), allocatable y_monitor_pgm
real *8, dimension(:,:), allocatable check_dist_node_sism
integer *4, dimension(:), allocatable tag_sism_el
real *8, dimension(:), allocatable beta11
real *8, dimension(:), allocatable alfa31
real *8, dimension(:), allocatable mu_rnd
logical, parameter b_instabilitycontrol_default
integer *4, dimension(:), allocatable proc_send_jump
integer *4, dimension(:), allocatable n_monitor_pgm
integer *4, dimension(:), allocatable tag_dirz_el
real *8, dimension(:), allocatable qp
real *8, dimension(:), allocatable a0_ray
integer *4, dimension(:), allocatable node_send
integer *4, dimension(:), allocatable tag_neun_el
integer *4, dimension(:), allocatable fun_poix_el
integer *4, dimension(:), allocatable proc_sys_send
integer *4, dimension(:), allocatable node_weight
integer *4, dimension(:), allocatable local_node_num
real *8, dimension(:), allocatable dist_system_glo
real *8, dimension(:), allocatable zr_system_lst
integer *4, dimension(:), allocatable system_files
real *8 depth_search_mon_pgm
integer *4 nnz_node_weight
integer *4, dimension(:), allocatable rand_mat
integer *4, dimension(:), allocatable inode_dirz
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 el_glo
integer *4, dimension(:), allocatable sdeg_mat
integer *4, dimension(:), allocatable expl_el_glo
real *8, dimension(:), allocatable x_glo_real
real *8, dimension(:), allocatable posy_el_glo
real *8, dimension(:), allocatable zr_monitor_pgm
real *8, dimension(:), allocatable x_system_lst
real *8, dimension(:), allocatable beta22
real *8, dimension(:), allocatable beta31
integer *4, dimension(:), allocatable mpi_stat
integer *4, dimension(:), allocatable num_node_sism
real *8, dimension(:), allocatable x_monitor_real
integer *4, dimension(:), allocatable con_spx_loc
integer *4, dimension(:), allocatable sub_tag_all
real *8, dimension(:,:), allocatable val_dirx_el
integer *4, dimension(:,:), allocatable check_node_sism
real *8, dimension(:), allocatable alfa21
integer *4, dimension(:), allocatable fun_test
logical b_instabilitycontrol
real *8, dimension(:), allocatable zr_glo
integer *4, dimension(:), allocatable fun_diry_el
real *8, dimension(:), allocatable highest_lst
real *8, dimension(:), allocatable x_system_glo_real
integer *4, dimension(:), allocatable tag_dg_el
integer *4, dimension(:), allocatable n_monitor_lst
real *8, dimension(:), allocatable z_monitor_lst
real *8, dimension(:,:), allocatable val_trax_el
character *70 sys_filename
integer *4, dimension(:), allocatable el_system_glo
real *8, dimension(:), allocatable alfa22
real *8, dimension(:), allocatable zs_elev
real *8, dimension(:), allocatable highest_lst_loc
integer *4, dimension(:), allocatable node_domain_loc
real *8, dimension(:), allocatable zs_all
real *8, dimension(:), allocatable beta33
integer *4, dimension(:), allocatable itersnap
integer *4, dimension(:), allocatable node_recv_jump
integer *4, dimension(:), allocatable fun_trax_el
real *8, dimension(:,:), allocatable check_pos_sism
real *8, dimension(:,:), allocatable check_dist_node_expl
real *8, dimension(:), allocatable yy_spx
integer *4 max_num_node_expl
integer *4, dimension(:), allocatable con_spx_dg
real *8 rotation_angle_mon_pgm
integer *4, dimension(:), allocatable tag_mat
real *8, dimension(:), allocatable xr_system_glo
integer *4, dimension(:), allocatable n_glo
integer *4, dimension(:), allocatable node_send_jump
real *8, dimension(:), allocatable z_monitor_real
integer *4 max_num_node_sism
integer *4, dimension(:), allocatable tol_nhe
real *8, dimension(:), allocatable gamma1
real *8, dimension(:), allocatable highest_pgm_loc
integer *4, dimension(:), allocatable tag_func
real *8, dimension(:), allocatable y_system_real
real *8, dimension(:), allocatable xr_system_lst
real *8, dimension(:), allocatable dist_system_lst
real *8, dimension(:), allocatable posx_el_glo
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 proc_send
real *8, dimension(:), allocatable posz_el_glo
real *4, dimension(:), allocatable qs_nhe_el
real *8, dimension(:), allocatable y_system_glo_real
real *8, dimension(:), allocatable zz_spx
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
integer *4, dimension(:), allocatable inode_diry
real *8, dimension(:,:), allocatable val_tray_el
real *8, dimension(:), allocatable xr_monitor_lst
real *8, dimension(:,:), allocatable val_pres_el
logical, parameter b_failoncoeffs_default
real *8, dimension(:), allocatable alfa32
real *8, dimension(:), allocatable y_monitor_real
integer *4, dimension(:,:), allocatable con_bc
integer *4, dimension(:,:), allocatable ielem_abc
integer *4, dimension(:), allocatable fun_neux_el
real *8, dimension(:), allocatable rho_rnd
real *8, dimension(:,:), allocatable val_forx_el
real *8, dimension(:,:), allocatable val_traz_el
integer *4, dimension(:), allocatable system_label
integer *4, dimension(:), allocatable node_recv
real *8, dimension(:), allocatable yr_monitor_lst
real *8, dimension(:), allocatable xx_spx_loc
real *8, dimension(:,:), allocatable val_dirz_el
real *8, dimension(:,:), allocatable pos_sour_node_z
integer *4, dimension(:), allocatable n_system_lst
real *8, dimension(:), allocatable lambda_rnd
integer *4, dimension(:), allocatable monit_files
integer *4, dimension(:), allocatable fun_sism_el
integer *4, dimension(:,:), allocatable sour_node_sism
logical, parameter b_setuponly_default
integer *4, dimension(:), allocatable node_pointer
integer *4, dimension(3) clock
real *8, dimension(:), allocatable beta32
integer *4, dimension(:), allocatable tag_dg_link
real *8, dimension(:), allocatable xx_spx
real *4, dimension(:), allocatable qp_nhe_el
integer *4 make_damping_yes_or_not
real *8 depth_search_mon_lst
logical, parameter b_failcfl_default
integer *4, dimension(:), allocatable elem_domain
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 z_system_lst
integer *4, dimension(:), allocatable node_counter_sdof
real *8, dimension(:,:), allocatable tau_seismic_moment
real *8, dimension(:,:), allocatable area_nodes
real *8, dimension(:), allocatable alfa12
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
real *8, dimension(:), allocatable mu_nhe
real *8, dimension(:), allocatable highest_sys_lst_loc
real *8, dimension(:), allocatable rho_nhe
real *8, dimension(:,:), allocatable max_a
real *8, dimension(:), allocatable dist_el_glo
Contains parameters for MDOF.
character *100 sdofgraccz
SDOF base ground acceleration.
character *100 fnddisplzy
4DOF foundation displacement
character *100 grdaccz
4DOF ground acceleration
real *8, dimension(:), allocatable ug1
real *8, dimension(:), allocatable sdofforceinputbuffer
character *100 sdofgraccx
integer *4, dimension(3) sdofout
displ, acc, f_react
character *100 fndacczy
4DOF foundation acceleration
real *8, dimension(:), allocatable sdofinputd
character *100 sdofaccz
SDOF total acceleration.
character *100 fndfy
4DOF superstructure and foundation shear force
character *100 sdofgrdisplx
character *100 sdofdisplz
SDOF displacement.
character *100 sdofgrdisply
character *100 fnddisplrx
integer *4 flag_outatalldofs
character *100 straccy
4DOF structure acceleration
real *8, dimension(:), allocatable gr_acc_rot
character *100 sdofgrdisplz
SDOF base displacement.
character *100 strdisply
4DOF structure displacement
character *100 sdofgraccy
real *8, dimension(:), allocatable gr_intf
character *100 sdofdisply
real *8, dimension(:), allocatable ug2
real *8, dimension(:), allocatable sdofforceinput
real *8, dimension(:), allocatable ug3
real *8, dimension(:), allocatable rot_sin
real *8, dimension(:,:), allocatable sdofgd
real *8, dimension(:), allocatable sdofinput
real *8, dimension(:,:), allocatable sdofag
character *100 fnddisplry
character *100 sdoffz
SDOF reaction force.
character *100 fnddisplzx
real *8, dimension(:), allocatable rot_cos
character *100 grddisplz
4DOF ground displacement
type(system), dimension(:), allocatable sys
SDOF system.
real *8, dimension(:), allocatable sdofinputbuffer
character *100 sdofdisplx
character *100 intfz
4DOF interaction forces
Contains a subset of SPEED paramters (used in TIME_LOOP)
Contains mesh structure for DG elements after pre-processing.
Contains mesh structure (scratch)
Contains mesh structure for DG interface elements.
element structure for time loop (RAM saving)