Пример #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
Пример #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()

#
Пример #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()
Пример #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()
Пример #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()
# 
Пример #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()
# 
Пример #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 = []
Пример #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