Project

Breaking ice with air cushion vehicle: Find the minimum pressure using Newton Raphson technique

Aim: To find the minimum pressure of an air cushion vehicle using Newton Raphson method.

Objective : Write a python script to solve for the minimum value of pressure using the newton Raphson method.

The equation for the air cushion vehicle is as follows:

Where p denotes the cushion pressure, h the thickness of ice field, r the size of air cushion, sigma the tensile strength of ice and b is related to width of ice wedge.

Take b=0.5, r = 40 feet and sigma = 150 pounds per square inch.

  • 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 suitable plot.
  • Tabulate the results of p for h = [0.6,1.2,1.8,2.4,3.0,3.6,4.2]

Theory: Ice sheet can be broken into small slabs with a heavy air cushion vehicle (ACV) travelling 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 technique:

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) = 0. It uses the idea that a continuous and differentiable function can be approximated by a straight line tangent to it.

Suppose you need to find the root of a continuous, differentiable function f(x) and you know the root you are looking for is near the point x = x0. Then Newton’s method tells us that a better approximation for the root is

X1 = x0 – f(x0)/f’(x0)

This process may be repeated as many times as necessary to get the desired accuracy. In general for any x-value xn, the next value is given by

Xn+1 = xn – f(xn)/f’(xn)

Geometric representation:

Here is a picture to demonstrate what Newton’s method actually does:

We draw a tangent line to the graph of f(x) at the point x= xn. This line has slope f’(xn) and goes through the point (xn,f(xn)). Therefore it has the equation y = f’(xn)(x-xn) + f(xn). Now we find the root of this tangent line by setting y = 0 and x = xn+1 for our new approximation. Solving this equation gives us our new approximation, which is xn+1 = xn – f(xn)/f’(xn).

Python Code:

"""

Python program to determine the minimum pressure with newton raphson method

"""

import math

import matplotlib.pyplot as plt

import numpy as np

#inputs

b = 0.5 # width of ice wedge

r = 40 # size of air cushion(feet)

sigma = 150*144 # pound per square feet

h = [0.6,1.2,1.8,2.4,3.0,3.6,4.2] # thickness of air cushion(feet)

def f(p,h):

term1 = pow(p,3)*(1-pow(b,2))

term2 = (0.4*h*pow(b,2))-(sigma*pow(h,2)/pow(r,2))*pow(p,2)

term3 = ((pow(sigma,2)*pow(h,4))/(3*pow(r,4)))*p

term4 = pow((sigma*pow(h,2)/(3*pow(r,2))),3)

return term1+term2+term3-term4

def fprime(p,h):

term1 = 3*pow(p,2)*(1-pow(b,2))

term2 = (0.4*h*pow(b,2))-(sigma*pow(h,2)/pow(r,2))*(2*p)

term3 = ((pow(sigma,2)*pow(h,4))/(3*pow(r,4)))

return term1+term2+term3

P_guess = 10

tol = 1e-4

alpha = 0.6

Pressure = []

for i in h:

while(abs(f(P_guess,i)) > tol):

P_guess = P_guess - alpha*f(P_guess,i)/fprime(P_guess,i)

Pressure.append(P_guess)

print('The minimum value of the pressure at h=0.6 is:',Pressure[0])

print('The values of pressure for given thickness h = [0.6,1.2,1.8,2.4,3.0,3.6,4.2]')

print('Thickness : Pressure')

for i in range(len(h)):

print(h[i],':',Pressure[i])

plt.plot(h,Pressure)

plt.xlabel('Thickness')

plt.ylabel('Pressure')

plt.show()

# To find the optimal relaxation factor

h1 = 0.6

alpha_all = np.linspace(0.1,1.5,50)

iterations = []

for alpha in alpha_all:

iter = 1

P_guess = 10

while(abs(f(P_guess,h1)) > tol):

P_guess = P_guess - alpha*f(P_guess,h1)/fprime(P_guess,h1)

iter = iter + 1

iterations.append(iter)

plt.plot(alpha_all,iterations)

plt.xlabel('Relaxation factor')

plt.ylabel('Iterations')

plt.show()

Explanation of the code:

  • The required libraries like math, matplotlib and numpy are imported.
  • The input parameters like width of ice wedge, size of air cushion, sigma are defined.
  • The array of thickness is also defined.
  • The equation for minimum pressure is defined using a function. As the equation is long, it is divided into four terms. Then function is returned. Similarly its derivative of the function with respect to pressure is defined.
  • The value of P_guess, tolerance, relaxation factor is defined. The empty array of pressure loop is defined.
  • Using for and while loop, newton Raphson method is executed and the value of P_guess is appended into the Pressure array.
  • The values of pressure corresponding to the thickness are printed.
  • Next part is to find the optimal relaxation factor for no. of iterations
  • Linspace command is used to create an array of values for relaxation factor. An empty array for iterations is defined.
  • In for loop, the variable iter and P_guess is defined. Using while loop, the newton Raphson method is executed and the value of iter is appended into the iterations array.
  • The values of relaxation factor and iterations are executed.

Results:

Conclusion: In graph of iterations vs relaxation factor, we can find that for the value of relaxation factor 1, the no. of iterations are less. So newton Raphson is a technique which is used to minimize a function. It helps us to solve a non-linear function where there are many parameters. The under-relaxation factor helps us to take the small steps to achieve a solution.

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.