Code Usage
This section demonstrates how to use the code to solve USGS/SECE benchmark problems TPV3, TPV5, TPV6, and TPV7.
Input files
The input file we created performs an automatic feed of data into the code during execution. One can create a new input file according to the fault plane dimensions, material properties, loads, and output locations, following the example input file given below.
An example input file is given as follows:
**Problem_Info**
TPV_No : Enter the TPV problem being solved (enter TPV3, TPV5, TPV6, and TPV7). Set as TEST if testing any other problem.
TPV3
**Fault Geometry**
L1rpt : The length of slip-weakening interface/rupture zone size in X1 direction in mts
30000.d0
L3rpt : The length of slip-weakening interface/rupture zone size in X3 direction in mts
15000.d0
Xr_Ratio: Ratio of (rupture zone + barrier zone) to rupture zone. i.e., (rupture zone + barrier zone)/rupture zone
2.56d0
Z_SYMM : Specify 'T' if symmetric boundary conditions need to be used, else give 'F'. For TPV3 - F , and for TPV5,TPV6,TPV7 - T.
F
**Mesh Info**
nele1 : (nele1) Total number of elements in X1-direction (Should be the powers of 2)
768
nele3 : Total number of elements in X3-direction (Should be the powers of 2)
384
**Material Info**
Csm : The shear wave speed of the lower half-space in m/s
3464d0
Cdm : Dilatational wave speed of lower half-space in m/s
6000d0
Rom : The density of the lower half-space in kg/m³
2670d0
nu : Poisson's ratio
0.25d0
csratio : csratio of lower half-space to top half-space
1.0d0
cdratio : cdratio of lower half-space to top half-space
1.0d0
Roratio : Roratio of lower half-space to top half-space
1.0d0
**Simulation Info**
Tend : Total rupture duration time in seconds
12d0
betaa : Courant parameter (CFL parameter)
0.3464d0
gamma : Non-dimensionalised time step (Refinement in Kernel interpolation.)
0.005d0
**Kernel Info**
input : Give input as 0 if kernels are to be calculated and stored in the folder ./Kernels
input : Give input as 1 if kernels are calculated a priori and stored in folder ./Kernels
1
**Background Frictional Properties**
mus0 : Static coefficient of friction
0.677d0
mur0 : Dynamic coefficient of friction
0.525d0
DeltaC : Critical slip-weakening distance
0.4d0
** Background Stresses** T0bg(1),T0bg(2),T0bg(3) in N/m^2
70d6 -120d6 0d0
**Nucleation Zone List** (Only rectangular and square nucleation zones are modeled). Note: x12>x11 and x32>x31
No_neucles : No.of Nucleation Zones. If no Zones, No_neucles = 0 add nothing. If yes, add lines with x11,x31,x12,x32,tau1, tau2, tau3.
1
-1.5d3 -1.5d3 1.5d3 1.5d3 81.6d6 -120d6 0d6
**Asperity Zone List** (Only circular asperities are modeled)
No_Asps : No.of Asperity Zones. If no Zones, No_Asps = 0 add nothing. If yes, add No_Asps lines with Asps_x, Asps_y,Asps_radii,Asps_mus0,Asps_mur0.
0
** Coordinates of output station points** x_i Y_i
NStations: No. of Station points. Followed by the coordinates of the station points in metres
2
0d3 3d3
7.5d3 0d3
Each parameter can be changed, and a new input file can be fed for solving problems.
Kernel Data
We have provided the precomputed Kernels for the USGS/SCEC benchmark problems TPV3, TPV5, TPV6, and TPV7, along with the mesh size we chose to solve the problems.
However, if you want to compute the kernels, a separate directory with the source code is provided. One can generate the Kernels using the following steps:
cd TBSBIEM
cd src_Kernels
make
cd ..
./Kernel_Check
One can also generate the Kernels during the simulation.
Just provide ‘0’ at Pre_Kernels prompt in the input file, the code will generate and store in a directory given, like TPV5_Kernels, for example.
Note: If you provide ‘1’ at the Pre_Kernels prompt in the input file, the code will search for kernels with no kernels generated. Thus, be cautious when generating the kernels; provide ‘0’ at the Pre_Kernels prompt in the input file.
Running a Simulation
The code is provided with several input files to solve USGS/SCEC benchmark problems. Namely, TPV3, TPV5, TPV6 and TPV7. One can solve these benchmark problems changing a problem name in TPV_Problem.in file.
For example, if you want to solve the TPV6 problem, then store the string:
TPV6
in the file Test_Problem.in
Compile and execute the code:
cd TBSBIEM
cd src
make
cd ..
./TBSBIEM-v1.1.0
The problem TPV6 will be solved, and the data will be stored in the directory ‘./data’.
Now, if you would like to run the TPV5 problem, just change the input string in the file Test_Problem.in to:
TPV6
Now, just execute the code:
./TBSBIEM-v1.1.0
The problem TPV5 will be solved, and the data will be stored in the directory ‘./data’.
Post-Processing
We have provided GNUPLOT scripts and the benchmark data for the MDSBI code, covering TPV3, TPV5, TPV6, and TPV7, to plot various field variables at specific station points. The plots generated from the scripts provide a comparison of results from TBSBIEM and MDSBI.
For post-processing of results of TBSBIEM, we have provided two gnuplot codes in the ‘./Post_Processing’ directory. The first code TPV_Contour_Plots.pg creates the contour for slip, slip-rate, :math:’tau_1, tau_2` and :math:’tau_3` with a time interval of 0.5 Seconds. The second code, TPV_Station_Plots.pg, will generate a comparison of field variables at station points with MDSBI results.
You can use the following command to generate the contour plots:
gnuplot TPV_Contour_Plots.pg
You can use the following command to generate the plots of field variables at different stataion points:
gnuplot TPV_Station_Plots.pg
Note: To plot these figure and the video generation one needs to install gnuplot and ffmpeg. The installation commands are as follows:
sudo apt update
sudo apt upgrade
sudo apt install gnuplot
sudo apt install ffmpeg -y