Peano
TPV28.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 TPV28(Scenario):
8  """
9  Part of a series of benchmarks by the Statewide California Earthquake Center (SCEC)
10 
11  Single non-planar fault with two hills.
12  On the plane, the initial stresses are defined by the surface.
13  There are homogeneous initial stress conditions outside of the plane.
14 
15  The description of the scenario can be found at: https://strike.scec.org/cvws/tpv28docs.html
16  """
17 
18  domain_offset = [4.5, 0., 4.5]
19  domain_size = [27., 27., 27.] #leads to a cell size of 0.3333 for 81 cells
20 
21  end_time = 13.0
22 
23  tracer_coordinates = [
24  # off-fault at surface
25  [17.0, 0.0, 5.0],
26  [23.0, 0.0, 5.0],
27  [17.0, 0.0, 20.0],
28  [23.0, 0.0, 20.0],
29  [17.0, 0.0, 35.0],
30  [23.0, 0.0, 35.0],
31  # on-fault at surface (3)
32  [20.0, 0.0, 5.0],
33  [20.0, 0.0, 20.0], #surface above fault hypocenter
34  [20.0, 0.0, 35.0],
35  #on-fault, general (21)
36  [20.0, 6.0, 9.5], #above left patch center
37  [20.0, 7.5, 5.0],
38  [20.0, 7.5, 8.0],
39  [20.0, 7.5, 9.5], #center of left patch
40  [20.0, 7.5, 11.0],
41  [20.0, 7.5, 14.0],
42  [20.0, 9.0, 9.5], #below left patch center
43  [20.0, 3.0, 20.0], #above fault hypocenter
44  [20.0, 7.5, 20.0], #on fault hypocenter
45  [20.0, 12.0, 20.0], #below fault hypocenter
46  [20.0, 6.0, 30.5], #above right patch center
47  [20.0, 7.5, 26.0],
48  [20.0, 7.5, 29.0],
49  [20.0, 7.5, 30.5], #center of right patch
50  [20.0, 7.5, 32.0],
51  [20.0, 7.5, 35.0],
52  [20.0, 9.0, 30.5] #below right patch center
53  ]
54 
55  def initial_conditions(self):
56  return """
57  Q[Shortcuts::rho] = 2.67;
58  Q[Shortcuts::cp ] = 6.0;
59  Q[Shortcuts::cs ] = 3.464;
60 """
61 
62  def generate_required_files(self, order):
63 
64  dictionary = { "MODE": order+1 }
65  self.generate_file_from_templategenerate_file_from_template(
66  os.path.dirname(os.path.realpath(__file__))+"/specs/TPV28/tpv28.yaml.template",
67  "tpv28.yaml", dictionary
68  )
69 
70  self.copy_file_to_current_foldercopy_file_to_current_folder(
71  os.path.dirname(os.path.realpath(__file__))+"/specs/TPV28/tpv28_fault.yaml",
72  "tpv28_fault.yaml"
73  )
74 
75  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: TPV28.py:7
def generate_required_files(self, order)
Definition: TPV28.py:62
def initial_conditions(self)
Definition: TPV28.py:55