Project

BREAKING ICE WITH AIR CUSHION VEHICLE - FINDING MINIMUM PRESSURE WITH NEWTON-RAPHSON METHOD(PYTHON)

AIM: PYHTON program to calculate minimum value of pressure of an ICE BRAKING AIR CUSHION VEHICLE USING NEWYON-RAPHSON METHOD.

THEORY:

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.

Ice sheet can be broken into small slabs with a heavy air cushion vehicle (ACV) traveling on float ice sheet at the critical speed. Ice-breaking with ACV is a new ice-breaking method in In-land River which has important application in prevention of ice jam flood in the Yellow River.

Newton Raphson Method

The Newton-Raphson method (also known as Newton's method) is a way to quickly find a good approximation for the root of a real-valued function f(x)=0f(x) = 0f(x)=0. It uses the idea that a continuous and differentiable function can be approximated by a straight-line tangent to it.

Hovercraft-

Newton Raphson Method

`(df)/dx=(f(x_(guess)) - f(x_n))/(x_(guess) - x_n )`

`x_(guess) - x_n= f(x_(guess) )/( f^' (x_(guess ) ) )`

`x_(n )= x_(guess) - f(x_(guess))/( f^' (x_(guess) )`

`x_n=x_(guess)- α{(f(x_(guess) ))/( f^' (x_(guess) ))}`

Where,

`α=` relaxation factor

GOVERNING EQUATION:

`p^3 (1- β^2 )+ (0.4hβ^(2 )- (σh^2)/r^2 ) p^2+ (σ^2 h^4)/(3r^4) p - ((σh^2)/(3r^2 ))^3=0`

Where,

`p` = Cushion pressure

`β` = Related to width of Ice Wedge

`h` = Thickness of Ice Field

`σ` = Tensile Strength of Ice

`r` = Size of Air Cushion

OBJECTIVE:

  1. 1. To use the Newton-Raphson method to find out the value of pressure for h = 0.6 ft.
  2. To find the Optimal Relaxation Factor for this problem with the help of a suitable plot.
  3. To 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.

INPUT VALUES:

β = 0.5,

r = 40 feet and

σ = 150 pounds per square inch (psi).

PROGRAM:

"""
        PROGRAM FOR BREAKING ICE WITH AIR CUSHION VEHICLE - FINDING MINIMUM PRESSURE WITH NEWTON-RAPHSON METHOD
"""
# Importing Libraries
import math
import matplotlib.pyplot as plt 
import numpy as np

# Inputs
# Size of the Air cushion (inch)
r = 40

# Tensile Strength of the Ice 
# Which is provided as 150 pound per square inch is converted to pound per square feet
sigma = 21600 # in pound per square fit

# Related to width of Ice Wedge
beta = 0.5

# Thickness of the Ice Field
h = [0.6, 1.2, 1.8, 2.4, 3.0, 3.6, 4.2] 

# Defining the function
def f(r, h, p, sigma, beta):

	term1 = pow(p,3)*(1 - pow(beta,2))
	term2 = 0.4*h*pow(beta,2) - (sigma*(pow(h,2))/pow(r,2))
	term3 = pow(sigma,2)*(pow(h,4))/(pow(r,4))
	term4 = (sigma/3)*(pow(h,2))/(pow(r,2))

	return term1 + (term2)*pow(p, 2) + (term3)*(p/3) - pow(term4,3)

def fprime(r, h, p, sigma, beta):
	term5 = 3*pow(p,2)*(1 - pow(beta,2))
	term6 = 0.4*h*pow(beta,2) - (sigma*(pow(h,2))/pow(r,2))
	term7 = pow(sigma,2)*(pow(h,4))/(pow(r,4))

	return (term5) + 2*(term6)*p + (term7)/3

# Performing Newton Iteration

# Optimal relaxation factor
h1 = 0.6

# Array of alpha values for consideration
alpha_val = np.linspace(0.1, 1.9, 25)

# Empty array of number of iterations
n1 = []

# Creating empty arrays for no. iteration values
for i in alpha_val:
	p_guess = 50

	# Tolerance
	tol = 1e-6

	#counter variable
	ct = 1

	while(abs(f(r, h1, p_guess, sigma, beta)) > tol):
		p_guess = p_guess -(i*(f(r, h1, p_guess, sigma, beta))/ fprime(r, h1, p_guess, sigma, beta))
		ct = ct + 1

	n1.append(ct)
print(n1)

# Plotting graph for "No. of Iterations v/s Relaxation Factor"
plt.figure(1)
plt.plot(alpha_val, n1, color='blue', marker='o', markerfacecolor='yellow', markersize=5)
plt.title('Figure 1', fontweight= 'bold')
plt.xlabel('RELAXATION FACTOR (alpha)')
plt.ylabel('NUMBER OF ITERATIONS')
plt.grid()
plt.show()

# Empty array of cushion pressure( pound per square feet) 
pressure = []

# Empty array of cushion pressure (psi)
pressure_2 = []

# Empty array of number of iterations
n = []

# Relaxation factor
alpha = 0.8

#Counter variable
iter = 1

# Creating a cushion pressure array for different values of thickness of ice field
for j in h:
	p_guess = 50
	while(abs(f(r, j, p_guess, sigma, beta)) > tol):
		p_guess = p_guess - alpha*(f(r, j, p_guess, sigma, beta)/ fprime(r, j, p_guess, sigma, beta))
		iter = iter + 1
	
	pressure.append(p_guess)
	pressure_2.append(p_guess/144)	
	n.append(iter)

print(iter)
print(p_guess)
print(pressure)
print(pressure_2)
print(n)

# Plotting graph for " Thickness of Ice field v/s Cushion Pressure (pound per square feet)"
plt.figure(2)
plt.plot(h, pressure, color='blue', marker='o', markerfacecolor='yellow', markersize=5)
plt.title('Figure 2', fontweight= 'bold')
plt.xlabel(' ICE FIELD THICKNESS')
plt.ylabel('CUSHION PRESSURE ')
plt.grid()
plt.show()	

# Plotting graph for " Thickness of Ice field v/s Cushion Pressure (psi)"
#plt.figure(2)
plt.figure(3)
plt.plot(h, pressure_2, color='blue', marker='o', markerfacecolor='yellow', markersize=5)
plt.title('Figure 3', fontweight= 'bold')
plt.xlabel(' ICE FIELD THICKNESS')
plt.ylabel('CUSHION PRESSURE (psi)')
plt.grid()
plt.show()	

EXPLANATION OF THE CODE:

  1. Initially, the necessary libraries are imported, and the inputs are specified which includes Size of the air cushion, Tensile strength of Ice, Beta which is related to width of Ice wedge.
  2. Now, for easy representation and calculation the given equation is broken into four small terms followed by the derivative with respect to Cushion Pressure.
  3. After that, a code is written to calculate and plot the optimized value of Relaxation Factor.
  4. An empty array of Cushion Pressure is defined where the values are inserted using the command. The Cushion Pressure is calculated with respect to the Thickness of Ice Field.
  5. The plots for “Cushion Pressure (in pound per square feet and psi)” are plotted against the “Thickness of Ice Field”.

RESULTS: Output

Cushion Pressure (psi) at Thickness of Ice Field 0.6 = 0.029 psi

Cushion Pressure (pound per square feet) at Thickness of Ice Field 0.6 = 4.239 pound per square feet.

THICKNESS OF ICE FIELD (feet) 0.6 1.2 1.8 2.4 3.0 3.6 4.2
CUSHION PRESSURE (pound per square feet) 4.239 17.236 38.990 64.499 108.764 156.785 213.561

CUSHION PRESSURE (psi)

0.029 0.119 0.270 0.482 0.755 1.088 1.483

PLOTS:

From the figure, it can be observed that optimal relaxation factor correlates to the minimum number of iterations. Therefore, the optimal value of alpha is ‘1’.

The Cushion Pressure varies parabolically with Ice Field Thickness. The equation mentioned plays a vital role in result.

CONCLUSION: By using Newton-Raphson Method a complex equation is solved efficiently and further the parameters are also calculated. The method is quite effective and efficient for solving the complex equations and gives a high level of accuracy. The method can be employed for solving the equation where the iterations take a large time to converge.

REFERENCES:

https://en.wikipedia.org/wiki/Newton%27s_method

https://en.wikipedia.org/wiki/Hovercraft

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.