In [4]:
# Import Packages
from SimPEG import *
from IPython.html.widgets import interactive
import numpy as np
%pylab inline
In [5]:
beta_0=1000000
beta=beta_0
m = np.array([1., 1])*beta
phid = np.dot(m.T,m)**0.5
phi_dstar=20
phid_mid = []
tol = 0.000000000000001
i=1
while np.absolute(phid - phi_dstar)>tol:
m = np.array([1., 1])*beta #put fcn for m here
phid = np.dot(m.T,m)**0.5 #put fcn for phid here
if phid>phi_dstar:
beta = beta_0*0.5**i
if phid<phi_dstar:
beta_abv = beta_0*0.5**(i-2)
beta_bel = beta_0*0.5**(i-1)
beta_mid = 0.5*(beta_abv+beta_bel)
mmid = np.array([1., 1])*beta_mid #put fcn for m here
phidmid = np.dot(mmid.T,mmid)**0.5 #put fcn for phid here
while np.absolute(phidmid - phi_dstar)>tol:
if phidmid<phi_dstar:
beta_abv = beta_0*0.5**(i-2)
beta_bel = beta_mid
beta_mid = 0.5*(beta_abv+beta_bel)
beta=beta_mid
mmid = np.array([1., 1])*beta_mid #put fcn for m here
phidmid = np.dot(mmid.T,mmid)**0.5 #put fcn for phi here
if phidmid>phi_dstar:
beta_abv = beta_mid
beta_bel = beta_bel
beta_mid = 0.5*(beta_abv+beta_bel)
beta=beta_mid
mmid = np.array([1., 1])*beta_mid #put fcn for m here
phidmid = np.dot(mmid.T,mmid)**0.5 #put fcn for phi here
if phidmid<phi_dstar:
beta_abv = beta_abv
beta_bel = beta_mid
beta_mid = 0.5*(beta_abv+beta_bel)
beta=beta_mid
mmid = np.array([1., 1])*beta_mid #put fcn for m here
phidmid = np.dot(mmid.T,mmid)**0.5 #put fcn for phi here
phid=phidmid
m=mmid
i=i+1
print("At end beta=", beta,"phid=", phid)
In [1]:
beta_0=1000000
beta=beta_0
m = np.array([1., 1])*beta
phid = np.dot(m.T,m)**0.5
phi_dstar=20
phid_mid = []
tol = 0.0001
i=1
while np.absolute(phid - phi_dstar)>tol:
print("At start beta=", beta)
m = np.array([1., 1])*beta
phid = np.dot(m.T,m)**0.5
print("Start Itn",j, "beta=", beta, "phid=", phid)
if phid>phi_dstar:
beta = beta_0*0.5**i
if phid<phi_dstar:
beta_abv = beta_0*0.5**(i-2)
beta_bel = beta_0*0.5**(i-1)
beta_mid = 0.5*(beta_abv+beta_bel)
mabv= np.array([1., 1])*beta_abv
mbel= np.array([1., 1])*beta_bel
mmid = np.array([1., 1])*beta_mid
phidabv = np.dot(mabv.T,mabv)**0.5
phidbel = np.dot(mbel.T,mbel)**0.5
phidmid = np.dot(mmid.T,mmid)**0.5
print("Itn # is:",j, "below threshold", "beta above=", beta_abv, "beta below=", beta_bel, "beta mid=",beta_mid)
print("Itn # is:",j, "below threshold", "phi above=", phidabv, "phi below=", phidbel, "phi mid=", phidmid)
while np.absolute(phidmid - phi_dstar)>tol:
if phidmid<phi_dstar:
beta_abv = beta_0*0.5**(i-2)
beta_bel = beta_mid
beta_mid = 0.5*(beta_abv+beta_bel)
beta=beta_mid
mabv= np.array([1., 1])*beta_abv
mbel= np.array([1., 1])*beta_bel
mmid = np.array([1., 1])*beta_mid
phidabv = np.dot(mabv.T,mabv)**0.5
phidbel = np.dot(mbel.T,mbel)**0.5
phidmid = np.dot(mmid.T,mmid)**0.5
print("Itn # is:",j, "in R1", "beta above=", beta_abv, "beta below=", beta_bel, "beta mid=",beta_mid)
print("Itn # is:",j, "in R1", "phi above=", phidabv, "phi below=", phidbel, "phi mid=", phidmid)
if phidmid>phi_dstar:
beta_abv = beta_mid
beta_bel = beta_bel
beta_mid = 0.5*(beta_abv+beta_bel)
beta=beta_mid
mabv= np.array([1., 1])*beta_abv
mbel= np.array([1., 1])*beta_bel
mmid = np.array([1., 1])*beta_mid
phidabv = np.dot(mabv.T,mabv)**0.5
phidbel = np.dot(mbel.T,mbel)**0.5
phidmid = np.dot(mmid.T,mmid)**0.5
print("Itn # is:",j, "in R2", "beta above=", beta_abv, "beta below=", beta_bel, "beta mid=",beta_mid)
print("Itn # is:",j, "in R2", "phi above=", phidabv, "phi below=", phidbel, "phi mid=", phidmid)
if phidmid<phi_dstar:
beta_abv = beta_abv
beta_bel = beta_mid
beta_mid = 0.5*(beta_abv+beta_bel)
beta=beta_mid
mabv= np.array([1., 1])*beta_abv
mbel= np.array([1., 1])*beta_bel
mmid = np.array([1., 1])*beta_mid
phidabv = np.dot(mabv.T,mabv)**0.5
phidbel = np.dot(mbel.T,mbel)**0.5
phidmid = np.dot(mmid.T,mmid)**0.5
print("Itn # is:",j, "in R3", "beta above=", beta_abv, "beta below=", beta_bel, "beta mid=",beta_mid)
print("Itn # is:",j, "in R3", "phi above=", phidabv, "phi below=", phidbel, "phi mid=", phidmid)
phid=phidmid
print("At end beta=", beta,"phid=", phid)
i=i+1
In [29]:
beta=14.142075087875128
m = np.array([1., 1])*beta
phid = np.dot(m.T,m)**0.5
phi_dstar=20
print phid
In [ ]: