In [1]:
%matplotlib inline
import numpy as np
from fatiando import gridder, utils
from fatiando.mesher import PrismMesh, Prism
from fatiando.gravmag import prism, _prism_numpy
In [2]:
model = PrismMesh((-200, 200, -200, 200, 0, 400), (5, 5, 5))
model.addprop('density', np.ones(model.size))
model.addprop('magnetization', utils.ang2vec(2*np.ones(model.size), 25, -10))
inc, dec = -30, 50
x, y, z = gridder.regular((-500, 500, -500, 500), (100, 100), z=-1)
In [3]:
%timeit prism.gz(x, y, z, model)
In [4]:
%timeit _prism_numpy.gz(x, y, z, model)
In [5]:
%timeit prism.gzz(x, y, z, model)
In [6]:
%timeit _prism_numpy.gzz(x, y, z, model)
In [7]:
%timeit prism.tf(x, y, z, model, inc, dec)
In [8]:
%timeit _prism_numpy.tf(x, y, z, model, inc, dec)
In [9]:
model2 = PrismMesh((-200, 200, -200, 200, 0, 400), (20, 20, 20))
model2.addprop('density', np.ones(model2.size))
model2.addprop('magnetization', utils.ang2vec(2*np.ones(model2.size), 25, -10))
x2, y2, z2 = gridder.regular((-500, 500, -500, 500), (10, 10), z=-1)
In [10]:
%timeit prism.gz(x2, y2, z2, model2)
In [11]:
%timeit _prism_numpy.gz(x2, y2, z2, model2)
In [12]:
%timeit prism.gzz(x2, y2, z2, model2)
In [13]:
%timeit _prism_numpy.gzz(x2, y2, z2, model2)
In [14]:
%timeit prism.tf(x2, y2, z2, model2, inc, dec)
In [15]:
%timeit _prism_numpy.tf(x2, y2, z2, model2, inc, dec)
In [15]: