Esempio n. 1
0
vpr.model.ttimod.update()
vpr.get_vmodel(mtype='tti')

vpr.model.dipArr[vpr.model.dipArr != 0.] = 90.
vpr.model.strikeArr[vpr.model.strikeArr != 0.] = 33.
vpr.model.init_etensor()
vpr.model.rot_dip_strike()
vpr.model.decompose()
vpr.compute_tcps(wtype='ray')
vpr.compute_tcps(wtype='love')

#
import tcps
import numpy as np

tcpsR1 = tcps.tcps_solver(vpr.model)
vpr.model.flat = 0
tcpsR1.init_default_4()
tcpsR1.dArr = vpr.model.get_dArr()
tcpsR1.solve_PSV()

CR1 = []
azArr = np.arange(360) * 1.
for az in np.arange(360) * 1.:
    tcpsR1.psv_azi_perturb(az, False)
    CR1.append(tcpsR1.CA[1])

CR1 = np.array(CR1)

tcpsL = tcps.tcps_solver(vpr.model)
vpr.model.flat = 0
Esempio n. 2
0
Spherical Earth:
1. dh = 1., 2., 4.; derived kernels are correct
    But the larger the dh, the larger the difference between the directly-computed and derived kernels!

"""
import eigen, tcps
import vmodel
import numpy as np
import matplotlib.pyplot as plt

m = vmodel.model1d()
m.model_ak135_cps()
m.flat = 1

tcps1 = tcps.tcps_solver(m)
tcps1.init_default()
tcps1.solve_PSV()

#
# tcps2 = tcps.tcps_solver(m)
# tcps2.init_default(nl=100, dh=2.)
# tcps2.verbose=1
# tcps2.solve_PSV()
#
# tcps3 = tcps.tcps_solver(m)
# tcps3.init_default(nl=50., dh=4.)
# tcps3.verbose=1
# tcps3.solve_PSV()

#
Esempio n. 3
0
# # model perturbation: isotropic -> VTI
# 
# # m.add_perturb_layer_love(0, 20., 4, -0.1, True)
# # m.add_perturb_layer_love(0, 20., 3, -0.3, True)
#
# m.add_perturb_layer_love(0, 20., 0, -0.05, True)
# m.add_perturb_layer_love(0, 20., 1, 0.05, True)
# m.add_perturb_layer_love(0, 20., 3, -0.05, True)
# m.add_perturb_layer_love(0, 20., 4, 0.05, True)

m.add_perturb_layer_love(0, 35, 0, -0.02, True)
m.add_perturb_layer_love(0, 35, 1, 0.02, True)
# m.add_perturb_layer_love(0, 20., 3, -0.05, True)
m.add_perturb_layer_love(0, 35, 4, 0.02, True)
tcpsR0 = tcps.tcps_solver(m)
tcpsR0.init_default()
tcpsR0.solve_PSV()


m.init_tilt()
m.dipArr[-1] = 90; m.dipArr[-2] = 90
m.strikeArr[-1] = 0; m.strikeArr[-2] = 0

m.rot_dip_strike()
# m.rot_dip_strike()
m.decompose()
#
# m.dipArr[-1] = 180; m.dipArr[-2] = 180
tcpsR = tcps.tcps_solver(m)
tcpsR.init_default_2()
Esempio n. 4
0
"""
import eigen, tcps
import vmodel
import numpy as np
import matplotlib.pyplot as plt

m=vmodel.model1d()
m=vmodel.model1d()
m=vmodel.read_model(m, 'ak135.txt')
# m.earth_flattening()
eig1 = eigen.eigen_solver(m)
eig1.init_default()
eig1.solve_PSV()


tcps1 = tcps.tcps_solver(m)
tcps1.init_default()
tcps1.solve_PSV()

tcps2 = tcps.tcps_solver(m)
tcps2.init_default(nl=100., dh=2.)
tcps2.verbose=1
tcps2.solve_PSV()


i=5
plt.plot((6371000. - eig1.r[::-1])/1000., (eig1.Kvsvdata[0,i,::-1]), 'ro-', ms=10)
plt.plot(tcps1.dArr.cumsum(), tcps1.Kvsvdata[i, :]*4., 'bo-', ms=10)
#     
# for i in xrange(10):
#     # plt.figure()
Esempio n. 5
0
import matplotlib.pyplot as plt

m=vmodel.model1d()
m.model_ak135_cps()
m.flat=1
# 

# # model perturbation: isotropic -> VTI
# 
# # m.add_perturb_layer_love(0, 20., 4, -0.1, True)
# # m.add_perturb_layer_love(0, 20., 3, -0.3, True)
#
m.add_perturb_layer_love(0, 20., 0, -0.1, True)
m.add_perturb_layer_love(0, 20., 3, -0.1, True)
m.add_perturb_layer_love(0, 20., 4, 0.1, True)
tcpsR0 = tcps.tcps_solver(m)
tcpsR0.init_default()
tcpsR0.solve_PSV()

m.init_tilt()

m.dipArr[-1] = 70; m.dipArr[-2] = 70
m.strikeArr[-1] = 0.; m.strikeArr[-2] = 0.

m.rot_dip_strike()
m.decompose()
# 
tcpsR1 = tcps.tcps_solver(m)
tcpsR1.init_default()
tcpsR1.solve_PSV()
# 
Esempio n. 6
0
import matplotlib.pyplot as plt

m=vmodel.model1d()
m.model_ak135_cps()
m.flat=1
# 

# # model perturbation: isotropic -> VTI
# 
# # m.add_perturb_layer_love(0, 20., 4, -0.1, True)
# # m.add_perturb_layer_love(0, 20., 3, -0.3, True)
#
m.add_perturb_layer_love(0, 20., 0, -0.1, True)
m.add_perturb_layer_love(0, 20., 3, -0.1, True)
m.add_perturb_layer_love(0, 20., 4, 0.1, True)
tcpsL0 = tcps.tcps_solver(m)
tcpsL0.init_default()
tcpsL0.solve_SH()

m.init_tilt()

m.dipArr[-1] = 60; m.dipArr[-2] = 60
m.strikeArr[-1] = 0.; m.strikeArr[-2] = 0.

m.rot_dip_strike()
m.decompose()
# 
tcpsL1 = tcps.tcps_solver(m)
tcpsL1.init_default()
tcpsL1.solve_SH()
# 
Esempio n. 7
0
m2.add_perturb_layer(0, 20., 2, 6.06, False)
m2.add_perturb_layer(0, 20., 3, 6.24, False)
m2.add_perturb_layer(0, 20., 4, 0.72, False)
m2.add_perturb_layer(0, 20., 5, 2.73, False)

m2.init_tilt()
m2.dipArr[-1] = 27
m2.dipArr[-2] = 27
m2.strikeArr[-1] = 110
m2.strikeArr[-2] = 110

m2.rot_dip_strike()
m2.decompose()

#
tcpsR1 = tcps.tcps_solver(m1)
tcpsR1.init_default()
tcpsR1.solve_PSV()

#
tcpsR2 = tcps.tcps_solver(m2)
tcpsR2.init_default()
tcpsR2.solve_PSV()

#
CR1 = []
for baz in np.arange(36) * 10.:
    tcpsR1.psv_azi_perturb(baz, True)
    CR1.append(tcpsR1.CA[1])

CR2 = []
Esempio n. 8
0
Spherical Earth:
    T = 5 - 100. sec, dT = 5 sec
        Results are consistent (< ~ 0.1%), result can be more consistent if nl is larger and dh is smaller. But this is computationally more expensive.

"""
import eigen, tcps, aniproppy
import vmodel
import numpy as np
import matplotlib.pyplot as plt

m=vmodel.model1d()
m.model_ak135_cps()
m.flat=1

tcpsR = tcps.tcps_solver(m)
tcpsR.init_default_2()
tcpsR.solve_PSV()

tcpsL = tcps.tcps_solver(m)
tcpsL.init_default_2()
tcpsL.solve_SH()
# 
ani  = aniproppy.aniprop_solver(m)
# ani.init_default(nl=50, dh=4.)
ani.init_default_2()
ani.solve_surf(0.)


# 
# m.flat=1