-
Notifications
You must be signed in to change notification settings - Fork 1
File Description
There are two main input files required to run the programme a input_file and a file containing a triangular mesh in a vtk format. A detailed description of both input files is given below. To aid the user, the jupyter notebook planar_mesh.ipynb in the Notebook folder provides an example of how to generate a mesh using Gmsh, set up the inputfile and run k223d. A description of how to setup a docker containing k223d and the jupyter notebook is provided in the Setup page.
There are two option on how to run the code, it can be assumed that the earthquake will occupy the whole mesh or a section of it based on a prescribed magnitude. The other option is that the area of the earthquake is defined by an empirical scalling relationship. At the moment the only option is Strasser et al.,SRL, 2010 but others will be added with time. When this option is activated the cells around the designated nucleation location are choosen with more adjoining cells added until the rupture area is large than the value specified by the scaling relationship.
Slip will automatically taper to zero at the edge of the mesh. In the case of edge representing the surface this is not always desirable. If nodes are defined as representing the earth's surface the slip will not be taper but will remain high with no decrease in slip at the surface. To know more about the technique used to achieve it see Murphy and Herrero, GJI, 2020
k223d automatically looks for a file named "input_file". Many options can be left as they are in this file. For a full description of all the parameters are provided in the inputfile itself as comments. The more common parameters that the user will probably want to change are:
- mesh_file : complete name of the file containing the input mesh
- magnitude : size of the earthquake the user wishes to generate.
-
define_area : this decides whether to use an emperical scaling relationship. Set equal to
truefor k223d to automatically set the area of the fault based on value given for themagnitudewhereby a Strasser et al. scaling relationship will be used to estimate the rupture area and the final slip distribution will be scaled to magnitude provided. If set tofalsek223d will assume the whole mesh is being used for the slip distribution and the slip scaled to correspond to the magnitude specified. - out_file : specify the name of the output vtk file that will be generated by k223d. ".vtk" will be automatically added to the name provided
k223d searches for the mesh file specfied in the inputfile. k223d reads in a Legacy VTK Format, an example of how to construct a file using this format is provided in the Notebook with the corresponding python function provided as well.
Inside the mesh file, the order of the information in the vtk is as follows:
- Nodes - an x,y,z list of the nodal coordinates
- Cells - a 3 integer list connecting nodal indices (based on above list) to each element
- Velocity - stored on the cells, this must be defined if time is provided and none of the values can be 0, this is an optional parameter.
- Time - stored on the nodes, set to -200 where rupture time is to be calculated and with an initial value on one node or a group of nodes where the earthquake initiates.
- Surface - list of integers that provides a list of indices related to nodes that are on the surface, this is an optional parameter, if it is not assigned it is assumed that mesh does not reach the surface.
The program outputs a vtk file. This file contains the mesh with the slip distribution and rupture velocity assigned on each cell while the rupture time is saved on the cell nodes.