SPectral Elements in Elastodynamics with Discontinuous Galerkin
User guide

A SPEEDy user's guide

The following file are mandatory inputs for SPEED:

  • SPEED.input: Header File
  • FileName.mesh: Mesh File
  • FileName.mate: Material File
  • LS.input: Monitors File

    Other secondary files, which may be needed or not, according to the simulation, are:

  • ALL.out: Mesh file containing the geometry of the topography (not-honoring approach)
  • XYZ.out: Mesh file containing the geometry of the alluvial basin (not-honoring approach)
  • VS_RS.out: Input file for vs30 and sediment thickness (enhanced not-honoring approach)
  • MLST.input: File containing infos about monitored points
  • FACES.input: File containing infos about DG interface conditions
  • DGFS.input: File containing infos about DG interface conditions

All input files are ASCII text files. Command lines are not ordered, nor structured. A command line is identified by a 7/8 characters keyword, starting the line. If a line does not start with a recognized sequence of characters is considered a comment. That is, a space at the beginning of a line identifies that line as a comment. No other specific syntax for the comments is given and only minor syntax check is provided at the moment.

SPEED.input

The header file SPEED.input fixes the fundamental parameters of the analysis. Here follows a list of admissible keywords:

  • GRIDFILE FILENAME
    • FILENAME.mesh contains the description of the mesh (see Mesh File)
  • MATFILE FILENAME
    • FILENAME.mate contains the description of the material properties, interface and boundary conditions and external source terms (see Material File)
  • MPIFILE DIRNAME
    • DIRNAME: Name of the directory in which you want to store files *.mpi during the execution of SPEED. If absent files *.mpi will be stored in the working directory.
      Note
      If the keyword is present, then the folder DIRNAME must be created in the working directory before running SPEED.
  • MONFILE DIRNAME
    • DIRNAME: Name of the directory in which you want to store files MONITOR*.* during the execution of SPEED. If absent files MONITOR.* will be stored in the working directory.
      Note
      If the keyword is present, then the folder DIRNAME must be created in the working directory before running SPEED.
  • BKPFILE DIRNAME
    • DIRNAME: Name of the directory in which you want to store files backup files *.out (for the restart) during the execution of SPEED. If absent files *.out will be stored in the working directory.
      Note
      If the keyword is present, then the folder DIRNAME must be created in the working directory before running SPEED.
  • DAMPING VAL
    • Set VAL=1 for frequency proportional damping, VAL=1 for frequency constant damping, VAL=3 for Rayleigh damping.
      Attention
      Rayleigh damping not yet tested!
  • DGMETHOD VAL
    • Select the DG method used, in particular: VAL 1 -> NIP, VAL 0 -> IIP, VAL -1 -> SIP (recommendable)
  • PENALIZC VAL
    • VAL: Penalty value for DG approximations. VAL > 100 is recommended to prevent numerical instability.
  • STARTIME T0
    • T0: Initial time for the simulation. Default T0 = 0.
  • STOPTIME TF
    • TF: Final time for the simulation.
  • TIMESTEP DELTAT
    • DELTAT: Time integration step adopted.
  • TIMEFIXE DELTAT_FIX
    • DELTAT_FIX: yes or not. A priori fixed (yes) or computed through CFL condition (not) time integration step.
  • TMONITOR TMON
    • Write output results at times t* multiple of TMON*TIMESTEP.
  • TIMESCHM SCHEME ORDER STAGES
    • Use this keyword for selecting Runge-Kutta time integration scheme. Set SCHEME=RUNGEKUTTA, and the couple ORDER STAGE equal to 2 2 , 3 3, or 4 4.
  • TESTMODE TEST
    • Use this keyword with TEST=1, for creating a test case for which the analytical solution is known.
  • TIMERR TERR
    • TERR is the instant of time in which you want to compute the error between the approximated solution and the analytical one. Use this keyword with TESTMODE.
  • SNAPSHOT SNAP
    • SNAP: Instant in which you want to make the backup of the solution. Useful for a restart of the simulation.
  • OPTIOUT DIS VEL ACC STRESS STRAIN ROT FORMAT DATA
    • Options for the output
    • DIS: 1(0) save (do not save) the displacement field
    • VEL: 1(0) save (do not save) the velocity field
    • ACC: 1(0) save (do not save) the acceleration field
    • STRESS: 1(0) save (do not save) the stress tensor
    • STRAIN: 1(0) save (do not save) the strain tensor
    • ROT: 1(0) save (do not save) the rotational tensor
    • FORMAT: DUMMY
    • DATA: DUMMY
  • MLST DEPTH VAL
    • DEPTH: Starting depth for monitored point search
    • VAL: 1(0) Read(Write) MLST.input in the working directory

Mesh File

The file FileName.mesh contains the mesh of the computational domain. To see how generating a mesh with CUBIT software see Input files generation. Mesh files must be written in the following format

First  line:          total_number_of_nodes     total_number_of_elements      0     0     0
Second line:          ID_node     X      Y    Z
Third  line:          ID_node     X      Y    Z
Fourth line:          ID_node     X      Y    Z
.....
.....
.....
(following):          ID_element     #block       element_type       connectivity
.....
.....
.....

Material File

The file FileName.mate contains the description of the parameters of the problem including polynomial approximation degrees, boundary conditions and external loads. Here follows a list of admissible keywords:

  • MATE BLOCKID DEGREE RHO VS VP QS QP
    • BLOCKID: Id for the material, defined and exported from the mesh generator.
    • DEGREE: Polynomial degree adopted for the material
    • RHO: Mass density
    • VS: Shear wave velocity
    • VP: Compressional wave velocity
    • QS: Quality factor for shear waves
    • QP: Quality factor for compressional waves
  • MATN BLOCKID DEGREE NF DEPTH
    • Assigns non linear elastic properties to a group (BLOCKID) of elements.
    • BLOCKID: block number defined and exported from the mesh generator
    • DEGREE: polynomial approximation degree used in the subdomain with label BLOCKID.
    • NF: number of function associated to BLOCKID
    • DEPTH: depth (with respect to the topography) of the non linear layer.
  • ABSO FACEID
    • FACEID: Id for the block, defined and exported from the mesh generator. Absorbing boundary conditions are applied to faces of hexahedral elements.
  • DGIC FACEID VAL
    • FACEID: Id for the block, defined and exported from the mesh generator for DG interfaces.
    • VAL: 1(0) Project(Receive) quadrature nodes when DG interface conditions are applied to faces of hexahedral elements.
  • CASE NCASE BLOCKID TOL
    • Assign material properties node by node through a not-honoring strategy. It needs the input files ALL.out and XYZ.out.
    • NCASE: Id number for particular scenario considered (defined inside MAKE_ELTENSOR4CASES.f90)
    • BLOCKID: Id for the block where the not-honoring strategy is applied
    • TOL: tolerance for the definition of not-honoring interfaces.
  • FMAX FREQ
    • FREQ: Frequency value used at which QS and QP are computed.
  • FUNC NF TYPE PARAMETERS
    • Defines a function of time, used to scale applied loads and boundary conditions. Different formulations and function types are possible and are specified with the second number in the syntax.
    • NF: Id number of the function used for distinguish different functions
    • TYPE:
      • 0 Unit Constant Load
      • 1 Ricker "beta" type wavelet
        Parameters: beta t0
      • 2 Ricker "cos" type wavelet
        Parameters: beta t0
      • 3 Time function of (Nt,Ft) given values written in FileName
        Parameters: Nt FileName
        FileName must be formatted in the following form
        Nt
        0 val0
        t1 val1
        ...
        T valn
      • 4 First derivative of Ricker wavelet
        Parameters: beta t0
      • 6 Ricker "beta" type wavelet, for seismic moment
        Parameters: beta t0
      • 12 Smoothed ramp source: sigmf(t,[a c]) = amp*(1/(1+exp(-a*(t-c))))
        Parameters: amp, a, c
      • 13 Grenoble benchmark (contact developers)
      • 14 SCEC benchmark (contact developers)
      • 15 Explosion: val = ps0 * (1 - (1 + t/tplus)*exp(-alpha*t/tplus));
        Parameters: ps0, tplus, alpha, t0 (time delay)
      • 60 Function for G/G0 (linear equivalent option, contact developers)
      • 61 Function for damping (linear equivalent option, contact developers)
      • 99 Cashima Benchmark (contact developers)
      • 100 Testmode case (contact developers)
  • SISM NF BLID XIPO YIPO ZIPO X1 Y1 Z1 X2 Y2 Z2 X3 Y3 Z3 S1 S2 S3 N1 N2 N3 R M T
    • Assign seismic moment. Fault plane is discretized using triangles. For each of them the load is specified with a specific "SISM" instruction.
    • NF : Number of time function associated with the load
    • BLID : Block id number defined and exported from the mesh generator
    • XIPO, YIPO, ZIPO: Coordinates of ipocenter
    • Xi,Yi,Zi: Coordinates of the three vertex of the triangle
    • S1,S2,S3: Cosine director of the slip vector
    • N1,N2,N3: Cosine director of the normal vector
    • R: Rupture time
    • M: Value of the seismic moment applied to the triangle
    • T: Rising time
  • EXPL NF BLID XIPO YIPO ZIPO X1 Y1 Z1 X2 Y2 Z2 X3 Y3 Z3 S1 S2 S3 N1 N2 N3 R M T
    • Assigns an explosive source. As for seismic moment, fault plane is discretize using triangles. For each of them the load is specified with a specific "EXPL" instruction.
    • NF: number of time function associated with the load
    • BLID: block number defined and exported from the mesh generator
    • XIPO, YIPO, ZIPO: coordinates of ipocenter
    • Xi, Yi, Zi: coordinates of the three vertex of the triangle
    • S1, S2, S3: cosine director of the slip vector
    • N1, N2, N3: cosine director of the normal vector
    • R: rupture time
    • M: value of the seismic moment applied to the triangle
    • T: rising time
      Attention
      Not yet tested!
  • PLAX NF BLOCKID VAL
  • PLAY NF BLOCKID VAL
  • PLAZ NF BLOCKID VAL
    • Defines a plane wave source. This is realized introducing a force time history, able to generate a displacement time history with the Ricker wavelet shape (NF = 4), on a certain surface. The load along the X, Y or Z direction is specified as the product of a time function of index NF, times a point load of intensity VAL integrated on the element.
    • NF: number of function associated with this load: use 4
    • BLOCKID: block id number defined and exported from the mesh generator
    • VAL: value of the applied load
  • NEUX BLOCKID NF VAL1 VAL2 VAL3 VAL4
  • NEUY BLOCKID NF VAL1 VAL2 VAL3 VAL4
  • NEUZ BLOCKID NF VAL1 VAL2 VAL3 VAL4
  • NEUN BLOCKID NF VAL1 VAL2 VAL3 VAL4
    • Assigns Neumann boundary conditions to a group (BLOCKID) of surface (quad) elements. The load may be applied in the X, Y, Z or Normal direction. The load is specified as the product of a time function of index NF, times a distributed load varying from VAL1 to VAL4.
    • BLOCKID: block id number defined and exported from the mesh generator
    • NF: number of function associated with this load
    • VALi: value of Neumann load at vertex i of the element
  • DIRX BLOCKID NF VAL1 VAL2 VAL3 VAL4
  • DIRY BLOCKID NF VAL1 VAL2 VAL3 VAL4
  • DIRZ BLOCKID NF VAL1 VAL2 VAL3 VAL4
    • Assigns Dirichlet boundary conditions to a group (BLOCKID) of surface (quad) elements. The load may be applied in the X, Y or Z direction. The load is specified as the product of a time function of index nf, times a distributed load varying from VAL1 to VAL4.
    • BLOCKID: block id number defined and exported from the mesh generator
    • NF: number of function associated with this load
    • VALi: value of Dirichlet load at vertex i of the element
  • PLOX NF X Y Z VAL
  • PLOY NF X Y Z VAL
  • PLOZ NF X Y Z VAL
    • Assigns Neumann type point load to the spectral node nearest to a specified X,Y,Z position. The load along the X, Y or Z direction is specified as the product of a time function of index NF, times a point load of intensity VAL.
    • NF: number of function associated with this load
    • X Y Z: coordinates of the desired point of application
    • VAL: value of the applied load
  • TLOX NF VEL AMP
  • TLOY NF VEL AMP
  • TLOZ NF VEL AMP
    • Assigns Neumann type point load to the spectral nodes nearest to the ones specified on the file TRAVPOINTS.LOAD. The load along the X, Y or Z direction is specified as the product of a time function of index NF, times a point load of intensity AMP that moves with velocity VEL.
      Attention
      Option not yet tested.
  • FORX NF X Y Z VAL
  • FORY NF X Y Z VAL
  • FORZ NF X Y Z VAL
    • Assigns a force (volume) load along the X, Y or Z direction.
    • NF: number of function associated with this load
    • X Y Z: coordinates of the desired point of application
    • VAL: value of the applied load
  • FORC NF XC YC ZC VAL R1 R2 R3 PHI THETA PSI
    • Assigns the volume force load : VAL* exp(- || x / R ||^2), R=(R1,R2,R3).
    • NF: number of function associated with this load
    • XC YC ZC: coordinates of the desired point of application
    • VAL: amplitude of the desired force
    • R1 R2 R3: components of vector R
    • PHI THETA PSI: polar coordinate representation
      Attention
      Not yet tested!
  • PRES NF XC YC ZC VAL R1 R2 R3 PHI THETA PSI
    • Assigns a pressure load: -2*VAL*x/(R^2)*exp(-||x/R||^2), R=(R1,R2,R3).
    • NF: number of function associated with this load
    • XC YC ZC: coordinates of the desired point of application
    • VAL: amplitude of the desired force
    • R1 R2 R3: components of vector R
    • PHI THETA PSI: polar coordinate representation
      Attention
      Not yet tested!
  • SHEA NF XC YC ZC VAL R1 R2 R3 PHI THETA PSI
    • Assigns a pressure load: (0,-2*x2/(R2^2),2*x3/(R3^2))*VAL*exp(-||x/R||^2), R=(R1,R2,R3).
    • NF: number of function associated with this load
    • XC YC ZC: coordinates of the desired point of application
    • VAL: Amplitude of the desired force
    • R1 R2 R3: components of vector R
    • PHI THETA PSI: polar coordinate representation
      Attention
      Not yet tested!
  • TEST NF
    • NF: number of function used in the TESTMODE case.

Monitors File

The file LS.input contains a list of monitored points for which the solution is written in output.

The list of monitored points must be written in the following format:

#Monitors
1 X Y Z
2 X Y Z
3 X Y Z
.....
.....
.....
#Monitors X Y Z
Note
To generate a long monitors list see Input files generation.