# Chapter 2 - Nonlinear Algebraic Equations¶

## Exa 2.1 Page 20¶

In [1]:
from __future__ import division
from scipy.misc import derivative

x=.5                      #initial value
xnew=0
e=1
while e>10**-4:
x=xnew
def Fa(x):
y=x**3-5*x+1#                   #defining fn
return y

der=derivative(Fa,x)                #differentiating the fn
xnew=x-Fa(x)/der
e=abs(xnew-x)

print "the root of the eqn is",xnew

the root of the eqn is 0.20165449273


## Exa 2.2 Page 20¶

In [2]:
from __future__ import division
from scipy.misc import derivative
from sympy import symbols, sqrt,log
ff=symbols('ff')
meu=1.79*10**-5
rough=.0000015     #roughness
dia=.004
e_by_D=rough/dia
rho=1.23
v=50              #velocity of air
l=1
Re=(rho*v*dia)/meu         #Reynold's number
ffnew=0.01
e=1
t1=e_by_D/3.7              #term 1 of eqn.
t2=2.51/Re                 #term 2 of eqn.
print "the Reynolds no. is",Re

while e>1e-6:
fff=ffnew
ff=symbols('ff')
t3=sqrt(ff)
y=1/t3+2*log(t1+t2/t3)/2.3

fdash=y.diff().subs(ff,fff)#             #f'(ff)
ffnew=fff-y.subs(ff,fff)/fdash#
e=abs(fff-ffnew)

print "the fanning friction factor is",fff
delta_p=(fff*l*v**2*rho)/(2*dia)                  #pressure drop
print "the pressure drop in pascals is",delta_p

the Reynolds no. is 13743.0167598
the fanning friction factor is 0.0290420879897407
the pressure drop in pascals is 11163.0525710566


## Exa 2.3 Page 23¶

In [3]:
from __future__ import division
from scipy.misc import derivative
from math import log,sqrt

P=2*101325      #given data
T=298.15
M=28.97*10**-3
R=8.314
rho=(P*M)/(R*T)
rho_p=1000
dia=1.2*10**-4
ep=.42                #void fraction
sph=.88
meu=1.845*10**-5
t1=1.75*rho*(1-ep)/(sph*dia*ep**3)                      #these are the terms of the function.
t2=150*meu*(1-ep)**2/(sph**2*dia**2*ep**3)
t3=(1-ep)*(rho_p-rho)*9.8
vnew=0.1
e1=1
while e1>1e-6:
v=vnew
def Fb(v):
y=t1*v**2+t2*v-t3                   #defining fn
return y
vdash=derivative(Fb,v)                #differentiating the fn
vnew=v-Fb(v)/vdash
e1=abs(vnew-v)

print "the minimum fluidisation velocity in m/s is",v

the minimum fluidisation velocity in m/s is 0.00502529644298


## Exa 2.4 Page 25¶

In [4]:
from __future__ import division
from scipy.misc import derivative
from math import log,sqrt

dia=2*10**-3
P=101325      #given data
T=298.15
M=28.89*10**-3
R=8.314
rho=(P*M)/(R*T)
rho_oil=900
meu=1.85*10**-5
Re_oil_by_v=rho*dia/meu
vnew=0.1
e=1
while e>1e-6:
v=vnew
Re_oil=Re_oil_by_v*v
Cd=24*(1+.15*Re_oil**.687)/Re_oil
vnew=sqrt(4*(rho_oil-rho)*9.81*dia/(3*Cd*rho))
e=abs(vnew-v)

print "the terminal velocity in m/s is",v

the terminal velocity in m/s is 6.52652883498


## Exa 2.5 Page 27¶

In [5]:
from __future__ import division
from scipy.misc import derivative
from math import log,sqrt,exp,sin,cos

xnew=0.1
ynew=0.5
e1=1
e2=1
while e1>1e-6 and e2>1e-6:
x=xnew
y=ynew
y1=exp(x)+x*y-1
d_fx=exp(x)+y
d_fy=x
y2=sin(x*y)+x+y-1
d_gx=y*cos(x*y)+1
d_gy=x*cos(x*y)+1
t1=(y2*d_fy)
t2=(y1*d_gy)
D1=d_fx*d_gy-d_fy*d_gx
delta_x=(t1-t2)/D1
t3=(y1*d_gx)
t4=(y2*d_fx)
delta_y=(t3-t4)/D1
xnew=x+delta_x
ynew=y+delta_y
e1=abs(x-xnew)
e2=abs(y-ynew)

print "the values of x and y respectively are",x,y
print "such small value of x can be considered as zero."

the values of x and y respectively are -3.2443635355e-08 0.999999956342
such small value of x can be considered as zero.


## Exa 2.6 Page 28¶

In [1]:
from __future__ import division
from scipy.misc import derivative
from math import log,sqrt

xnew=0.1
ynew=0.5
e1=1
e2=1
while e1>10**-6 and e2>10**-6:
x=xnew
y=ynew
y1=3*x**3+4*y**2-145
d_fx=9*x**2
d_fy=8*y
y2=4*x**2-y**3+28
d_gx=8*x
d_gy=-3*y**2
D2=d_fx*d_gy-d_gx*d_fy
delta_x=(y2*d_fy-y1*d_gy)/D2
delta_y=(y1*d_gx-y2*d_fx)/D2
xnew=x+delta_x
ynew=y+delta_y
e1=abs(xnew-x)
e2=abs(ynew-y)

print "the values of x and y are respectively",x,y

the values of x and y are respectively 3.0 4.00000000002