Peano
TPV5.py
Go to the documentation of this file.
1 # This file is part of the ExaHyPE2 project. For conditions of distribution and
2 # use, please see the copyright notice at www.peano-framework.org
3 from .Scenario import Scenario
4 
5 import os
6 
7 class TPV5(Scenario):
8  """
9  Part of a series of benchmarks by the Statewide California Earthquake Center (SCEC)
10 
11  Spontaneous rupture on a vertical strike-slip fault in a homogeneous halfspace.
12  There are slightly heterogeneous initial stress conditions.
13 
14  The description of the scenario can be found at: https://strike.scec.org/cvws/tpv5docs.html
15  """
16 
17  domain_offset = [6.5, 0., 6.5] #centers the fault which is at 20.
18  domain_size = [27., 27., 27.] #leads to a cell size of 0.333 for 81 cells
19 
20  end_time = 10.0
21 
22  tracer_coordinates = [
23  # off-fault at surface
24  [17.0, 0.0, 8.0],
25  [17.0, 0.0, 32.0],
26  [23.0, 0.0, 8.0],
27  [23.0, 0.0, 32.0],
28  # off-fault at hypocenter depth
29  [17.0, 7.5, 8.0],
30  [17.0, 7.5, 32.0],
31  [23.0, 7.5, 8.0],
32  [23.0, 7.5, 32.0],
33  # on-fault at surface
34  [20.0, 0.0, 8.0],
35  [20.0, 0.0, 12.5],
36  [20.0, 0.0, 15.5],
37  [20.0, 0.0, 20.0], #surface above fault hypocenter
38  [20.0, 0.0, 24.5],
39  [20.0, 0.0, 27.5],
40  [20.0, 0.0, 32.0],
41  [20.0, 3.0, 20.0], #above fault hypocenter
42  [20.0, 12.0, 20.0], #below fault hypocenter
43  #on-fault at hypocenter depth
44  [20.0, 7.5, 8.0],
45  [20.0, 7.5, 12.5], #center of left patch
46  [20.0, 7.5, 15.5],
47  [20.0, 7.5, 20.0], #on fault hypocenter
48  [20.0, 7.5, 24.5],
49  [20.0, 7.5, 27.5], #center of right patch
50  [20.0, 7.5, 32.0]
51  ]
52 
53  def initial_conditions(self):
54  return """
55  Q[Shortcuts::rho] = 2.67;
56  Q[Shortcuts::cp ] = 6.0;
57  Q[Shortcuts::cs ] = 3.464;
58 """
59 
60  def generate_required_files(self, order):
61 
62  dictionary = { "MODE": order+1 }
63  self.generate_file_from_templategenerate_file_from_template(
64  os.path.dirname(os.path.realpath(__file__))+"/specs/TPV5/tpv5.yaml.template",
65  "tpv5.yaml", dictionary
66  )
67 
68  self.copy_file_to_current_foldercopy_file_to_current_folder(
69  os.path.dirname(os.path.realpath(__file__))+"/specs/TPV5/tpv5_fault.yaml",
70  "tpv5_fault.yaml"
71  )
72 
73  return
def generate_file_from_template(self, template_file, full_qualified_filename, dictionary)
Definition: Scenario.py:21
def copy_file_to_current_folder(self, current_filename, full_qualified_filename)
Definition: Scenario.py:32
Part of a series of benchmarks by the Statewide California Earthquake Center (SCEC)
Definition: TPV5.py:7
def generate_required_files(self, order)
Definition: TPV5.py:60
def initial_conditions(self)
Definition: TPV5.py:53