SPEED
MAKE_MECH_PROP_CASE_019.f90
Go to the documentation of this file.
1! Copyright (C) 2012 The SPEED FOUNDATION
2! Author: Ilario Mazzieri
3!
4! This file is part of SPEED.
5!
6! SPEED is free software; you can redistribute it and/or modify it
7! under the terms of the GNU Affero General Public License as
8! published by the Free Software Foundation, either version 3 of the
9! License, or (at your option) any later version.
10!
11! SPEED is distributed in the hope that it will be useful, but
12! WITHOUT ANY WARRANTY; without even the implied warranty of
13! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14! Affero General Public License for more details.
15!
16! You should have received a copy of the GNU Affero General Public License
17! along with SPEED. If not, see <http://www.gnu.org/licenses/>.
18
19
21
22
23 subroutine make_mech_prop_case_019(rho, lambda, mu, gamma, qs, qp, & !outputs
24 xs, ys, zs, Depth, zs_all,&
25 vs30, thickness, sub_tag_all)
26
27 real*8, intent(out) :: rho, lambda, mu, gamma, qs, qp
28 real*8, intent(in) :: xs, ys, zs, depth, zs_all,&
29 vs30, thickness
30 integer*4 :: sub_tag_all
31 real*8 :: ni, vs, vp, depth_real
32
33 rho = 0.d0;
34 lambda = 0.d0;
35 mu = 0.d0;
36 gamma = 0.d0;
37 qs = 0.d0;
38 qp = 0.d0
39
40
41 if (vs30 .le. 300.0d0) then
42 vp30 = 1800
43 else
44 vp30 = 2000
45 endif
46
47
48 if ((depth.ge.0.0d0).and.(zs_all.ge.0.0d0)) then
49 ! + MATERIAL INSIDE THE BASIN
50
51 vs = vs30 + (2000.0d0-vs30)*(depth/1000.0d0)**(0.70d0)
52 vp = vp30 + (4500.0d0-vp30)*(depth/1000.0d0)**(0.70d0)
53 rho = 2000.d0 + 0.40d0*depth
54
55
56 if (depth .le. 50.0d0) then
57 qs = 20
58 elseif (depth .le. 200.0d0) then
59 qs = 50
60 elseif (depth .le. 500.0d0) then
61 qs = 100
62 else
63 qs = 150
64 endif
65
66 lambda = rho * (vp**2 - 2*vs**2)
67 mu = rho * vs**2
68 gamma = (3.1415*(2/3))/qs ! max freq of 2 Hz
69
70 else
71 ! + MATERIAL INSIDE THE BEDROCK
72
73 vs = 2000.d0
74 vp = 4500.d0
75 rho = 2400.d0
76 qs = 200.d0
77 lambda = rho * (vp**2 - 2*vs**2)
78 mu = rho * vs**2
79 gamma = (3.1415*(2/3))/qs
80 endif
81
82
83 end subroutine make_mech_prop_case_019
subroutine make_mech_prop_case_019(rho, lambda, mu, gamma, qs, qp, xs, ys, zs, depth, zs_all, vs30, thickness, sub_tag_all)
Makes not-honoring technique.