SPEED
MAKE_MECH_PROP_CASE_015.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_015(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
42 if ((depth .ge. 0.0d0).and.(zs_all .ge. 0.0d0)) then
43 ! + MATERIAL INSIDE THE BASIN
44 vs = 100.d0 + 10.d0 * depth**(0.6d0) !100.d0 + 10.d0 * Depth**(0.6d0)
45 vp = dsqrt(10.d0)*vs
46 rho = 1530.d0 + 0.1d0*depth**(0.54d0)
47 lambda = rho * (vp**2 - 2*vs**2)
48 mu = rho * vs**2
49 qs = 0.1*vs
50 gamma = (3.1415*(2/3))/qs
51
52 else
53 ! + MATERIAL INSIDE THE BEDROCK
54 depth_real = zs
55 if (depth_real .ge. -500.0d0) then
56 vs = 1000.d0
57 vp = 1800.d0
58 rho = 2300.d0
59 lambda = rho * (vp**2 - 2*vs**2)
60 mu = rho * vs**2
61 qs = 0.1*vs
62 gamma = (3.1415*(2.d0/3.d0))/qs
63
64 elseif (depth_real .le. -500.d0 .and. depth_real .ge. -1000.0d0) then
65 vs = 1700.d0
66 vp = 3160.d0
67 rho = 2500.d0
68 lambda = rho * (vp**2 - 2*vs**2)
69 mu = rho * vs**2
70 qs = 0.1*vs
71 gamma = (3.1415*(2.d0/3.d0))/qs
72
73 else
74 vs = 2600.d0;
75 vp = 4830.d0;
76 rho = 2840.d0;
77 lambda = rho * (vp**2 - 2*vs**2)
78 mu = rho * vs**2
79 qs = 0.1*vs
80 gamma = (3.1415*(2.d0/3.d0))/qs
81
82
83 endif
84 endif
85
86
87
88
89 end subroutine make_mech_prop_case_015
subroutine make_mech_prop_case_015(rho, lambda, mu, gamma, qs, qp, xs, ys, zs, depth, zs_all, vs30, thickness, sub_tag_all)
Makes not-honoring technique.