In [1]:
#Here the interpolation data is loaded from disk
from scipy.interpolate import interp1d
tInterp = interp1d( np.loadtxt('banddat/interpdat_t_v0.dat'), np.loadtxt('banddat/interpdat_t_tCalc.dat'))

from scipy.interpolate import interp1d
wFInterp = interp1d( np.loadtxt('banddat/interpdat_wF_v0.dat'), np.loadtxt('banddat/interpdat_wF_wF.dat'))

def U_over_t( v0, a ):
    a0a =  5.29e-11 / (1064e-9/2.)
    U = a*a0a*wFInterp(v0)
    t = tInterp(v0)
    return U/t

def get_a( v0, Ut ):
    a0a =  5.29e-11 / (1064e-9/2.)
    t = tInterp(v0)
    U = Ut * t
    a = U / (a0a*wFInterp(v0))
    return a

In [29]:
tInterp(27.5)*29000


Out[29]:
19.976193083418838

In [6]:
print U_over_t( 7.0, 380. )


14.5128496244

In [5]:
print U_over_t( 8.0, 300.)


16.7429860917

In [3]:
print U_over_t( 7.0, 480.)
print U_over_t( 5.5, 480.)


18.3320205782
9.80097450242

In [3]:
tInterp(7.0)


Out[3]:
array(0.039536432740995914)

In [10]:
get_a( 5.5, 1.636)


Out[10]:
80.122644927434933

In [2]:
U_over_t( 7., 350. )


Out[2]:
13.367098338245874

In [20]:
for aS in [80., 200., 360., 580., 800.]:
    print "{0:4.0f}  {1:4.1f}  {2:4.1f}".format( aS, U_over_t(7.0, aS), U_over_t(5.5, aS) )


  80   3.1   1.6
 200   7.6   4.1
 360  13.7   7.4
 580  22.2  11.8
 800  30.6  16.3

In [3]:
tInterp(7.)


Out[3]:
array(0.039536432740995914)

In [5]:
for v0 in[5.5, 7.0, 20., 25., 32., 33., 40., 50.]:
    print "v0 = {0:4.1f} --> t = {1:10.1f} Hz".format(v0,tInterp(v0)*29000)


v0 =  5.5 --> t =     1675.8 Hz
v0 =  7.0 --> t =     1146.6 Hz
v0 = 20.0 --> t =       72.4 Hz
v0 = 25.0 --> t =       30.1 Hz
v0 = 32.0 --> t =        9.9 Hz
v0 = 33.0 --> t =        8.5 Hz
v0 = 40.0 --> t =        3.1 Hz
v0 = 50.0 --> t =        0.7 Hz

In [4]:
print wFInterp(5.5)
print tInterp(5.5)


11.8662407142
0.0577868700057

In [ ]: