Project

Breaking Ice with Air cushion Vehicle - Find minimum pressure with Newton-Raphson method

Aim: Breaking ice with air cushion vehicle.

Objective:

  • Use the newton raphson method to find out the value of pressure for h = 0.6 ft.
  • Find the optimal relaxation factor for this problem with the help of a suitable plot.
  • Tabulate the results of p for h = [0.6,1.2,1.8,2.4,3,3.6,4.2] assuming a suitable relaxation factor. This must be done in python.

Introduction:

About air cushion vehicle:-A hovercraft, also known as an air-cushion vehicle or ACV, is an amphibious craft capable of travelling over land, water, mud, ice, and other surfaces.

Hovercraft use blowers to produce a large volume of air below the hull, or air cushion, that is slightly above atmospheric pressure. The pressure difference between the higher pressure air below the hull and lower pressure ambient air above it produces lift, which causes the hull to float above the running surface. For stability reasons, the air is typically blown through slots or holes around the outside of a disk- or oval-shaped platform, giving most hovercraft a characteristic rounded-rectangle shape. Typically this cushion is contained within a flexible "skirt", which allows the vehicle to travel over small obstructions without damage.

The main advantage of this vehicle is its flexibility it can overcome any obstacle, also the advantage of travelling at higher speeds in water due to its frictionless surface above it.

It is highly used in military applications, because of its properties to not be detected by sonars and safe from sea and land mine because it does not make any contact with sea or land, we can say it levitate.

The above figure demostrates how the air cushion vehicle works.

It can also travel on ice which gives us a cool calculation of how much pressure does it require to break a cushion of ice with air pressure, this technology is also used to break ice of different thickness with different pressure values.

The main reason to break ice is to make a way for large and small ships in sea to move since they get stuck in between ice.

There is formula to calculate pressure required for breaking a ice it is given as:

where,

p = pressure

β = related to width of ice wegde = 0.5(given)

σ = tensile strength of ice = 150

h = height in meters = 0.6ft

r = size of air cushion = 40ft

We can calculate the pressure required using this formula, but it does not have any physical significance until we minimize the solution.

To minimize the pressure equation I will use newton raphson method.

Before using minimization technique I will calculate the pressure using python code, plot it and use plot to demonstrate how newton raphson method works.

Objective 1 : Use the newton raphson method to find out the value of pressure for h = 0.6 ft.

Python code to calculate pressure for given parameters:

import math
import matplotlib.pyplot as plt
import numpy as np 

b = 0.5 #width of ice wedge
r = 40  #size of air cushion
s = 150 #tensile strength of ice
h = 0.6 #height of elevation

w = (1 - b*b)
x = (0.4*h*b*b - (s*(h*h)/(r*r)))
y = (s*s*h**4)/(3*r**4)
z = ((s**3*pow(h,6))/(3*pow(r,6)))

def f(p):
	return(p**3*w + p**2*x + p*y-z)
	

x_array = []
p_array = []	
for x in range(0,100):
	x_array.append(x)
	p_array.append(f(x))
	
#plotting
plt.plot(x_array,p_array)
plt.xlabel('array of x')
plt.ylabel('pressure')
plt.title('variation of pressure with value of x')	
plt.savefig('pressure_x.png')
plt.show()

Plot of pressure vs array of x :

Netwon raphson method:

In newton raphson method we choose a guess value from array of values, after choosing guess value we calculate the value of function.

Then we apply minimization condition to the equation in our case it is given by:

df/dp = 0

we apply differentiation with respect to pressure and calculate the value of function.

Once we got the value of f(x) and f'(x)

we apply newton raphson method, the formula is given as:

x_new = x_guess - f'(xguess)/f(xguess)

The newton raphson method is iterative method, the value we get in first iteration is just a better esitimate but not the actual minimum solution after a number of iteration we get a solution which is accurate and minimized.

In graph the iterative process is being shown.

Relaxation factor:

It is additional quantity added into the formula which controls the solution process.

In case if the equation we are solving depends on various parameters, then a solution to that problem need to be handled with care, where we use under-relaxation factor in which the increment is in very small steps, and in some other problems we need to minimize the solution early where we use over-relaxation factor.

x_new = x_guess - α(f'(xguess)/f(xguess))

where

α<1 under-relaxed

α>1 over-relaxed

Objective 2 :Finding the optimal relaxation factor for this problem with the help of a suitable plot:

To find optimal relaxation factor we can choose a array of relaxation factor values and compute newton raphson method for it.

Python code to minimize the pressure and find optimal relaxation factor:

import math
import matplotlib.pyplot as plt
import numpy as np 
from prettytable import PrettyTable

b = 0.5 #width of ice wedge
r = 40  #size of air cushion
s = 150 #tensile strength of ice
h = 0.6 #height of elevation

w = (1 - b*b)
x = (0.4*h*b*b - (s*(h*h)/(r*r)))
y = (s*s*h**4)/(3*r**4)
z = ((s**3*pow(h,6))/(3*pow(r,6)))

def f(p):
	return(p**3*w + p**2*x + p*y-z)

def fprime(p):
	return(3*p*p*w+2*p*x+y)

a = np.linspace(0.2,5,20)
tol = 1e-4

alpha = []
pressure = []
iteration = []

for i in a:
	ct = 1
	p_guess = 80
	while(abs(f(p_guess))>tol):
		p_guess = p_guess - i*(f(p_guess)/fprime(p_guess))
		ct = ct + 1
	pressure.append(p_guess)
	iteration.append(ct)
	alpha.append(i)
print(pressure)	
print(iteration)
print(alpha)

table = PrettyTable(['alpha','pressure','iteration'])
for x in range(0,20):
	table.add_row([alpha[x],pressure[x],iteration[x]])
print(table)	

plt.plot(alpha,iteration)
plt.xlabel('relaxation factor')
plt.ylabel('iteration')
plt.title('Relaxation factor vs iteration')
plt.savefig('alpha_var.png')
plt.show()

Plot of relaxation factor vs no of iteration taken:

Table for variation of iteration with varying relaxation factor from 0.2 to 5:

From the table it is clear after some value of relaxation factor, the iteration rather decreasing starts increasing again because overshooting of values takes place which it turn creates more number of iterations.

The best value for relaxation factor is 1 or less then 1 to get accurate answer.

Objective 3 :Tabulate the results of p for h = [0.6,1.2,1.8,2.4,3,3.6,4.2] assuming a suitable relaxation factor.

The code for calculating pressure and different thickness with relaxation factor of 1 in python:

import math
import matplotlib.pyplot as plt
import numpy as np 
from prettytable import PrettyTable

b = 0.5 #width of ice wedge
r = 40  #size of air cushion
s = 150 #tensile strength of ice



def f(p,h):
	w = (1 - b*b)
	x = (0.4*h*b*b - (s*(h*h)/(r*r)))
	y = (s*s*h**4)/(3*r**4)
	z = ((s**3*pow(h,6))/(3*pow(r,6)))
	F = p**3*w + p**2*x + p*y-z
	return(F)
	

def fprime(p,h):
	w = (1 - b*b)
	x = (0.4*h*b*b - (s*(h*h)/(r*r)))
	y = (s*s*h**4)/(3*r**4)
	Fp = 3*p*p*w+2*p*x+y
	return(Fp)
	
height = [0.6,1.2,1.8,2.4,3,3.6,4.2] #height of elevation

p_guess = 10
alpha = 1
tol = 1e-4
i = 1

pressure = []
iteration = [] 
for h in height:
	while(abs(f(p_guess,h))>tol):
		p_guess = p_guess - alpha*((f(p_guess,h))/(fprime(p_guess,h)))
		i = i + 1
	pressure.append(p_guess)
	iteration.append(i)


table = PrettyTable(['height','pressure','iteration'])
for x in range(0,7):
	table.add_row([height[x],pressure[x],iteration[x]])
print(table)	

plt.plot(height,pressure,'o-g')
plt.title('pressure vs height of ice cube')
plt.xlabel('height')
plt.ylabel('pressure')
plt.savefig('height_var.png')
plt.show()

Plot for pressure vs height of ice cube:

Table for variation of pressure with height:

From the table and graph it can be seen that the value of pressure increases with increase in height.

Conclusion:

The relaxation factor plays important role in minimizing the solution with less number of iteration.

For different thickness of ice the pressure required varies and increases with increase in thickness.

Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.