SPEED
MAKE_MECH_PROP_CASE_018.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine make_mech_prop_case_018 (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_018()

subroutine make_mech_prop_case_018 ( 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 23 of file MAKE_MECH_PROP_CASE_018.f90.

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 if ((depth .ge. 0.0d0).and.(zs_all .ge. 0.0d0)) then
41 vs = 800 + 10*dsqrt(depth);
42 vp = 1300.d0 + 15.d0*dsqrt(depth);
43 rho = 1800.d0 + 5.d0*dsqrt(depth);
44 mu = rho * vs**2.d0;
45 qs = 0.1d0*vs;
46 gamma = 4.d0*datan(1.d0)/qs;
47 else
48 vs = 2100
49 vp = 3500
50 rho = 2200
51 lambda = rho * (vp**2.d0 - 2.d0*vs**2.d0);
52 mu = rho * vs**2.d0;
53 qs = 0.1d0*vs;
54 gamma = 4.d0*datan(1.d0)/qs;
55 endif
56
57
58
59

Referenced by make_eltensor_for_cases().

Here is the caller graph for this function: