SPEED
MAKE_MECH_PROP_CASE_050.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine make_mech_prop_case_050 (rho, lambda, mu, gamma, qs, qp, xs, ys, zs, depth, zs_all, vs30, thickness, sub_tag_all)
 Makes not-honoring technique.
 

Function/Subroutine Documentation

◆ make_mech_prop_case_050()

subroutine make_mech_prop_case_050 ( real*8, intent(out)  rho,
real*8, intent(out)  lambda,
real*8, intent(out)  mu,
real*8, intent(out)  gamma,
real*8, intent(out)  qs,
real*8, intent(out)  qp,
real*8, intent(in)  xs,
real*8, intent(in)  ys,
real*8, intent(in)  zs,
real*8, intent(in)  depth,
real*8, intent(in)  zs_all,
real*8, intent(in)  vs30,
real*8, intent(in)  thickness,
integer*4  sub_tag_all 
)

Makes not-honoring technique.

Mechanical properties given node by node.

Definition at line 24 of file MAKE_MECH_PROP_CASE_050.f90.

27
28 real*8, intent(out) :: rho, lambda, mu, gamma, qs, qp
29 real*8, intent(in) :: xs, ys, zs, depth, zs_all,&
30 vs30, thickness
31 integer*4 :: sub_tag_all
32 real*8 :: ni, vs, vp, depth_real
33
34 rho = 0.d0;
35 lambda = 0.d0;
36 mu = 0.d0;
37 gamma = 0.d0;
38 qs = 0.d0;
39 qp = 0.d0
40
41
42 !
43 !-------------------------------------------------------------------
44 ! + MATERIAL INSIDE THE ALLUVIAL BASIN - 1st Layer
45
46 if (sub_tag_all.eq.1) then
47 vs = 300;
48 vp = 600;
49 rho = 2200;
50 lambda = rho * (vp**2.d0 - 2.d0*vs**2.d0);
51 mu = rho * vs**2.d0;
52 qs = 0.1*vs;
53 gamma = 4.d0*atan(1.d0)/qs;
54
55 ! + MATERIAL INSIDE THE ALLUVIAL BASIN - 2nd Layer
56 elseif (sub_tag_all.eq.2) then
57 vs = 2000;
58 vp = 4000;
59 rho = 2200;
60 lambda = rho * (vp**2.d0 - 2.d0*vs**2.d0);
61 mu = rho * vs**2.d0;
62 qs = 0.1*vs;
63 gamma = 4.d0*atan(1.d0)/qs;
64
65 ! + MATERIAL INSIDE THE ALLUVIAL BASIN - 3rd Layer
66 elseif (sub_tag_all.eq.3) then
67 vs = 2000;
68 vp = 4000;
69 rho = 2200;
70 lambda = rho * (vp**2.d0 - 2.d0*vs**2.d0);
71 mu = rho * vs**2.d0;
72 qs = 0.1*vs;
73 gamma = 4.d0*atan(1.d0)/qs;
74
75 ! + MATERIAL INTO THE BEDROCK
76 elseif (sub_tag_all.eq.4) then
77 vs = 2000;
78 vp = 4000;
79 rho = 2200;
80 lambda = rho * (vp**2.d0 - 2.d0*vs**2.d0);
81 mu = rho * vs**2.d0;
82 qs = 0.1*vs;
83 gamma = 4.d0*atan(1.d0)/qs;
84
85 endif
86
87

Referenced by make_eltensor_for_cases().

Here is the caller graph for this function: