In this assignment you will extend the functions from the panel method notebook to predict the flow and forces induced by roll motion.
Sketch a body subject to roll motion Ωz=U6 around the point (xm,ym). Determine the equation for the normal body velocity Un at any point (x,y) on the body surface. Using this, define the RHS of the body boundary condition ∂ϕ6∂n=b6. Define the equation for the roll added-inertia m66 in terms of these variables.
Implement a function roll
which takes in the coordinate arrays x,y
defining a shape and the roll center xm,ym
and returns the source strength vector q6
and added-inertia m66
. Make sure you explain the linear algebra equations you have implemented for q6,m66
. Validate the roll
function by comparing to a known m66 for a fully submerged shape (cite your reference) and discuss the convergence behaviour. Plot the induced flow and discuss it's physical characteristics.
PDF
or HTML
. Note: If you make a PDF
, you need to include images of important functions and the results plots. Exporting a notebook as HTML
will contain everything automatically.PY
or IPYNB
. Note: Explain your method/results in the write-up, not in the code. Any time you are tempted to write "see code for ____", put the important information in the write-up instead.# Import functions
import requests
url = 'https://raw.githubusercontent.com/weymouth/MarineHydro/master/src/PanelMethod.py'
exec(requests.get(url).content)
# Complete function
# def roll(x,y,xm=0,ym=0,G=source,args=()):
# return q6,m66
# Create validation geometry, validate m66, and plot flow