 mod_coordinate | This module contains subroutines to compute global \(x,y,z\)-coordinates of a given point in the physical domain from its local \(\xi,\eta,\zeta\)-coordinates |
 mod_gll_value | This module contains subroutines to get GLL nodes values from global GLL nodes numbering |
  get_node_gll_value | Interface for redirection to subroutines mod_gll_value::get_node_gll_value_x or mod_gll_value::get_node_gll_value_xyz |
 mod_global_variables | This module defines all global variables of EFISPEC3D. Scalar variables are initialized directly in this module. This module also contains some general purpose subroutines |
  type_cpu_neighbor | Type that gathers information about cpus connected to cpu myrank (cpus not connected to cpu myrank are not stored) |
  type_double_couple_source | Type for double couple point sources |
  type_elastic_material | Type for linear elastic properties of materials |
  type_receiver_hexa | Type for receivers (i.e., stations) located inside hexahedron elements |
  type_receiver_quad | Type for receivers (i.e., stations) located inside quadrangle elements |
  type_single_force_source | Type for single force point sources |
  type_viscoelastic_material | Type for viscoelastic properties of materials |
 mod_init_efi | This module contains subroutines to initialize some global variable vectors and matrices |
 mod_init_medium | This module contains subroutines to initialize medium for hexahedron and quadrangle elements. It also contains subroutines to write medium in binary VTK xml format readable by ParaView |
 mod_init_memory | This module contains subroutines to allocate arrays and to compute an approximation of the total RAM used by EFISPEC3D |
  init_array_int | Interface init_array_int to redirect allocation to n-rank arrays |
  init_array_real | Interface init_array_real to redirect allocation to n-rank arrays |
  init_array_real_dp | Interface init_array_real_dp to redirect allocation to n-rank arrays |
 mod_init_mesh | This module contains subroutines to read mesh files and creates GLL nodes global numbering in cpu myrank |
 mod_init_mpibuffer | This module contains subroutines to initialize MPI buffers between cpu myrank and its neighbor cpus |
 mod_init_time_step | This module contains subroutines to initialize the time step of the simulation |
 mod_jacobian | This module contains subroutines to compute jacobian matrix |
 mod_lagrange | This module contains functions to compute Lagrange polynomials and its derivatives; and to interpolate \(x,y,z\)-variables at \(\xi,\eta,\zeta\)-coordinates |
 mod_mpi_assemble | This module contains subroutines to assemble forces between cpu myrank and its neighbor cpus by synchrone or asynchrone MPI communications |
 mod_receiver | This module contains subroutines to compute information about receivers and to write receivers' time history into binary files |
 mod_snapshot_surface | This module contains subroutines to compute and write snapshots of the free surface (either in GMT or VTK xml formats) |
 mod_snapshot_volume | This module contains subroutines to compute and write snapshots of a mesh composed by hexahedron elements (VTK XML formats) |
 mod_solver | This module contains subroutines to compute Newmark explicit time marching scheme, external forces \( F^{ext} \), internal forces \( KU \) and boundary traction forces \( C\dot{U} \) of the system \( M\ddot{U} + C\dot{U} + KU = F^{ext} \) |
 mod_source | This module contains subroutines to compute information about sources |
 mod_source_function | This module contains functions and subroutines to compute tsource functions's time history |
 mod_vtk_io | This module programmed by S. Zaghi (https://github.com/szaghi/Lib_VTK_IO) contains functions to write ascii or binary VTK files |
  vtk_geo_xml | Overloading of VTK_GEO_XML |
  vtk_var_xml | Overloading of VTK_VAR_XML |
 mod_write_listing | This module contains subroutines to write information in the listing file *.lst |