Breaking Ice with Air cushion Vehicle - Finding minimum pressure using Newton-Raphson method
Air cushion vehicles(ACV) are used to break ice in cold places, where ice is formed on the surface of lakes, rivers and on the roads too. Depending on the ice thickness , an ACV can readily break ice in flexure by making a depression and send cracks throgh the ice. Once a crack is made , the path of least resistance for the ACV's air curtain gets under the ice and reduces the supporting water under the ice. The ice then fails under it's own weight. Thus the ice breaks while the vehicle moves forward by applying the pressure radially on the ice.
Various parameters in modelling ice breaking operation include thickness of the ice layer (h), pressure (p), tensile strength of ice(σ),size of air cushion (r) and (β) corelated to the width of the ice wedge.
In determining the minimum cushion pressure needed to break a given thickness of iceusing an air cushion vehicle, Muller (“Ice Breaking with an Air Cushion Vehicle”) inMathematical Modeling: Classroom Notes in Applied Mathematics, SIAM 1987) derived the equation
In this program we are finding the minimum pressure required to break the ice for varying thickness, tensile strength air cushion size and β by using Newton-Raphson method which is a iterative process.
Following inputs are given for calculation.
- h=[0.6, 1.2, 1.8, 2.4, 3.0, 3.4.2] feet
- σ=150 psi
- β=.5
- r=40 ft
Muller equation is taken as the initial function as f(p) and derivative of it as fprime(p)
`f ( p ) = a p^ 3 + ( b h − c h^2 ) p^ 2 + d h^ 4 p − e h ^6`
`f prime( p ) = 3 a p ^2 + 2 ( b h − c h ^2 ) p + d h^ 4`
where
a=`1 − β^ 2`
b=`0.4 β ^2`
c=`σ /r^ 2`
d=`σ ^2/ 3 r^ 4`
e=`( σ^ /3 r^ 2 )^ 3`
Initial value of p is guessed and iterations are performed on it to find out the new value as follows
`p_( n + 1) = p_ n − f ( p )/( f prime ( p ))`
The program is as follows
"""
finding minimum pressure to breaking ice blocks of different thickness
"""
import math
# inputs
beta = .5
r = 40 #ft
sigma = 150/144 #psft (1psft=1psi*144)
h = [.6,1.2,1.8,2.4,3.0,3.6,4.2] #thickness of ice blocks in ft
# let
a = (1 - pow(beta, 2))
b = 0.4*pow(beta, 2)
c = sigma/pow(r, 2)
d = pow(sigma, 2)/(3*pow(r, 4))
e = pow((sigma/3*pow(r, 2)), 3)
#functon of pressure
def f(p):
return a*pow(p, 3) + (b*i - c*pow(i, 2))*pow(p, 2) + d*p*pow(i, 4) - e*pow(i, 6)
# differentiating the function
def fprime(p):
return 3*a*pow(p, 2) + 2*(b*i - c*pow(i, 2))*p + d*pow(i, 4)
alpha = .9752
tol = 1e-5
p = []
iter = []
for i in h:
ct = 1
#Initial guess value
p_i = 200000
while (f(p_i) > tol):
#Applying Newton_Raphson formula
p_i = p_i - alpha*(f(p_i))/(fprime(p_i))
ct = ct + 1
p.append(p_i)
iter.append(ct)
print ('%s %25s %15s' % ('Thickness,h(ft)', 'Minimum Pressure,p(psi)', 'Iterations'))
for j in range(0,len(p)):
print ('%10.1f %25.9f %15.0f' %(h[j], p[j], iter[j]))
Output of this program is shown below