Peano
TPV29.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 TPV29(Scenario):
8  """
9  Part of a series of benchmarks by the Statewide California Earthquake Center (SCEC)
10 
11  Single rough planar vertical strike-slip fault in a linear elastic medium.
12 
13  The description of the scenario can be found at: https://strike.scec.org/cvws/tpv29_30docs.html
14  """
15 
16  domain_offset = [-2.275, 0.0 , -2.275] #centers the fault which is at 20.
17  domain_size = [44.55, 44.55, 44.55] #leads to cs of 0.55 for 81 cells
18 
19  end_time = 20.0
20 
21  tracer_coordinates = [
22  # off-fault at surface
23  [ 0.0, 0.0, 0.0],
24  [40.0, 0.0, 0.0],
25  [17.0, 0.0, 5.0],
26  [23.0, 0.0, 5.0],
27  [ 0.0, 0.0, 20.0],
28  [17.0, 0.0, 20.0],
29  [23.0, 0.0, 20.0],
30  [40.0, 0.0, 20.0],
31  [17.0, 0.0, 35.0],
32  [23.0, 0.0, 35.0],
33  [ 0.0, 0.0, 40.0],
34  [40.0, 0.0, 40.0],
35  # on-fault at surface (3)
36  [20.0, 0.0, 15.0], #surface above fault hypocenter
37  [20.0, 0.0, 25.0],
38  [20.0, 0.0, 35.0],
39  #on-fault, general (21)
40  [20.0, 15.6, 2.0],
41  [20.0, 5.0, 5.0],
42  [20.0, 12.0, 5.0],
43  [20.0, 1.4, 9.0],
44  [20.0, 10.1, 11.1],
45  [20.0, 10.0, 15.0], #on fault hypocenter
46  [20.0, 16.0, 15.0],
47  [20.0, 6.1, 15.8],
48  [20.0, 12.0, 20.0],
49  [20.0, 6.2, 14.3],
50  [20.0, 6.0, 14.6],
51  [20.0, 12.0, 25.0],
52  [20.0, 5.7, 25.1],
53  [20.0, 4.7, 25.9],
54  [20.0, 15.3, 29.0],
55  [20.0, 15.3, 29.3],
56  [20.0, 5.0, 30.0],
57  [20.0, 11.0, 30.0],
58  [20.0, 13.0, 35.0],
59  [20.0, 10.5, 36.7],
60  [20.0, 4.5, 37.0]
61  ]
62 
63  def initial_conditions(self):
64  return """
65  Q[Shortcuts::rho] = 2.67;
66  Q[Shortcuts::cp ] = 6.0;
67  Q[Shortcuts::cs ] = 3.464;
68 """
69 
70  def generate_required_files(self, order):
71 
72  dictionary = { "MODE": order+1 }
73  self.generate_file_from_templategenerate_file_from_template(
74  os.path.dirname(os.path.realpath(__file__))+"/specs/TPV29/tpv29.yaml.template",
75  "tpv29.yaml", dictionary
76  )
77 
78  self.copy_file_to_current_foldercopy_file_to_current_folder(
79  os.path.dirname(os.path.realpath(__file__))+"/specs/TPV29/tpv29_fault.yaml",
80  "tpv29_fault.yaml"
81  )
82 
83  self.copy_file_to_current_foldercopy_file_to_current_folder(
84  os.path.dirname(os.path.realpath(__file__))+"/specs/TPV29/tpv29_buffer_n.nc",
85  "tpv29_buffer_n.nc"
86  )
87 
88  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: TPV29.py:7
def generate_required_files(self, order)
Definition: TPV29.py:70
def initial_conditions(self)
Definition: TPV29.py:63