|
|
(11 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | {{incomplete pages}} | + | {{complete pages}} |
| | | |
| == Introduction == | | == Introduction == |
Line 5: |
Line 5: |
| The problem of a two-dimensional finite dock is solved using a green function. | | The problem of a two-dimensional finite dock is solved using a green function. |
| The same problem is solved using eigenfunction matching in [[Eigenfunction Matching for a Finite Dock]]. | | The same problem is solved using eigenfunction matching in [[Eigenfunction Matching for a Finite Dock]]. |
| + | The problem of a floating body on the surface using the same method is treated in |
| + | [[Green Function Method for a Floating Body on the Surface]] and for a floating elastic plate |
| + | in [[Green Function Methods for Floating Elastic Plates]] |
| | | |
| == Equations for a Dock in the Frequency Domain == | | == Equations for a Dock in the Frequency Domain == |
Line 10: |
Line 13: |
| {{finite dock equations}} | | {{finite dock equations}} |
| | | |
− | == Transformation using [[Eigenfunctions for a Uniform Free Beam]] ==
| |
− |
| |
− | {{equations for a eigenfunction of a free beam}}
| |
− |
| |
− | This solution is discussed further in [[Eigenfunctions for a Free Beam]]. <br /><br />
| |
− | Using the expression <math>\partial_n \phi =\partial_t w</math>, we can form
| |
− | <center>
| |
− | <math>
| |
− | \frac{\partial \phi}{\partial z} = i\omega \sum_{n=0}^{\infty} \zeta_n X_n
| |
− | </math>
| |
− | </center>
| |
− | where <math>\zeta_n \,</math> are coefficients to be evaluated.
| |
− |
| |
− | == Equation in Terms of the Modes of the Plate ==
| |
− |
| |
− | Under these assumptions, the equations become
| |
− | <center><math>
| |
− | \Delta\phi =0,\,\,-h<z<0,
| |
− | </math></center>
| |
− | <center><math>
| |
− | \partial_{z}\phi =0,\,\,z=-h,
| |
− | </math></center>
| |
− | <center><math>
| |
− | \alpha\phi =\partial_{z}\phi,\,\,x\notin(-L,L),\ \ z=0,
| |
− | </math></center>
| |
− | <center><math>
| |
− | i\omega\sum_{n=0}^{\infty}\zeta_{n}X_{n} =\partial_{z}\phi,\,\,x\in
| |
− | (-L,L),\,\, z=0,
| |
− | </math></center>
| |
− | <center><math>
| |
− | \sum_{n=0}^{\infty}\zeta_{n}\left( 1+\beta\lambda_{n}^{4}\right)
| |
− | X_{n}-\alpha\gamma\sum_{n=0}^{\infty}\zeta_{n}X_{n} = -i\omega
| |
− | \phi,\,\,x\in(-L,L),\,\, z=0.
| |
− | </math></center>
| |
− | We solve for the potential (and displacement) as the sum of
| |
− | the diffracted and radiation potentials in the standard way,
| |
− | as for a rigid body.
| |
− | <center><math>
| |
− | \phi=\phi^{\mathrm{D}}+\phi^{\mathrm{R}} ,\,
| |
− | </math></center>
| |
| We begin with the diffraction potential <math>\phi^{\mathrm{D}}</math> which | | We begin with the diffraction potential <math>\phi^{\mathrm{D}}</math> which |
| satisfies the following equations | | satisfies the following equations |
− | <center><math>
| + | {{diffraction potential equations for a dock}} |
− | \Delta\phi^{\mathrm{D}} =0,\,\,-h<z<0,
| + | {{radiation condition for diffracted potential}} |
− | </math></center>
| |
− | <center><math>
| |
− | \partial_{z}\phi^{\mathrm{D}} =0,\,\,z=-h,
| |
− | </math></center>
| |
− | <center><math>
| |
− | \partial_{z}\phi^{\mathrm{D}} =\alpha \phi^{\mathrm{D}},\,\,x\notin(-L,L),\,\,
| |
− | z=0,
| |
− | </math></center>
| |
− | <center><math>
| |
− | \partial_{z}\phi^{\mathrm{D}} =0,\,\,x\in(-L,L),\,\,z=0.
| |
− | </math></center>
| |
− | Furthermore, <math>\phi^{\mathrm{D}}</math> satisfies the [[Sommerfeld Radiation Condition]]
| |
− | <center><math>
| |
− | \frac{\partial}{\partial x} \left(\phi^{\mathrm{D}}-\phi^{\rm
| |
− | I} \right) \pm ik\left( \phi^{\mathrm{D}}-\phi^{\rm I}\right)
| |
− | = 0
| |
− | ,\,\,\mathrm{as}
| |
− | \,\,x\rightarrow\pm\infty,
| |
− | </math></center>
| |
− | where
| |
− | <math>k ,\,</math> is the wavenumber,
| |
− | which is the positive real solution of the [[Dispersion Relation for a Free Surface]]
| |
− | <center><math>
| |
− | k\tanh(kh)=\omega^{2} \,
| |
− | </math></center>
| |
− | and <math>\phi^{\rm I}</math> is the incident wave given by
| |
− | <center><math>
| |
− | \phi^{\rm I} = \frac{\cosh(k(z+h))}{\cosh(kh)} e^{-i kx} \,
| |
− | </math></center>
| |
− | (which has unit amplitude in potential) and
| |
− | is travelling towards positive
| |
− | infinity.
| |
− | | |
| | | |
| As the plate is floating on the surface, we can denote it as follows: | | As the plate is floating on the surface, we can denote it as follows: |
Line 93: |
Line 23: |
| </math></center> | | </math></center> |
| | | |
| + | == Solution for Diffracted Potential == |
| | | |
− | We now consider the scattered potentials <math>\phi^{\mathrm{S}}</math>. The relationship between scattered potentials, diffracted potentials and the incident wave are as follows:
| + | {{Green's function equations for the diffracted potential}} |
− | <center><math>
| |
− | \phi^{\mathrm{D}}=\phi^{\mathrm{I}}+\phi^{\mathrm{S}} \,
| |
− | </math></center>
| |
− | from this, we can construct the following conditions:
| |
− | <center><math>
| |
− | \Delta\phi^{\mathrm{S}} =0,\,\,-h<z<0,
| |
− | </math></center>
| |
− | <center><math>
| |
− | \partial_{z}\phi^{\mathrm{S}} =0,\,\,z=-h,
| |
− | </math></center>
| |
− | <center><math>
| |
− | \partial_{z}\phi^{\mathrm{S}} =\alpha\phi^{\mathrm{S}},\,\,x\notin(-L,L),\, \,
| |
− | z=0
| |
− | </math></center>
| |
− | <center><math>
| |
− | \partial_{z}\phi^{\mathrm{S}} = -\partial_{z}\phi^{\mathrm{I}},\,\,x\in(-L,L),\,\,z=0.
| |
− | </math></center> <br /><br />
| |
− | | |
− | We now consider the radiation potentials <math>\phi^{\mathrm{R}}</math>. We can express the radiation potential as:
| |
− | <center><math>
| |
− | \phi^{\mathrm{R}}=\sum_{n=0}^{\infty}\zeta_n \phi_n^{\mathrm{R}}
| |
− | </math></center>
| |
− | which satisfy the following equations
| |
− | <center><math>
| |
− | \Delta\phi_n^{\mathrm{R}} =0,\,\,-h<z<0,
| |
− | </math></center>
| |
− | <center><math>
| |
− | \partial_{z}\phi_n^{\mathrm{R}} =0,\,\,z=-h,
| |
− | </math></center>
| |
− | <center><math>
| |
− | \partial_{z}\phi_n^{\mathrm{R}} =\alpha\phi_n^{\mathrm{R}},\,\,x\notin(-L,L),\, \,
| |
− | z=0
| |
− | </math></center>
| |
− | <center><math>
| |
− | \partial_{z}\phi_n^{\mathrm{R}} = i\omega X_{n},\,\,x\in(-L,L),\,\,z=0.
| |
− | </math></center>
| |
− | The radiation condition for the radiation potential is
| |
− | <center><math>
| |
− | \frac{\partial\phi_n^{\mathrm{R}}}{\partial x}\pm ik\phi_n^{\mathrm{R}}=0,\,\,\mathrm{as}
| |
− | \,\,x\rightarrow\pm\infty.
| |
− | </math></center>
| |
− | Therefore we find the potential as
| |
− | <center><math>
| |
− | \phi=\phi^{\mathrm{D}} +\sum_{n=0}^{\infty}\zeta_{n}\phi_n^{\mathrm{R}},
| |
− | </math></center>
| |
− | so that
| |
− | <center><math>
| |
− | \sum_{n=0}^{\infty}\left( 1+\beta\lambda_{n}^{4} - \alpha\gamma\right)
| |
− | \zeta_{n}X_{n}=-i\omega \left( \phi^{\mathrm{D}}+\sum_{n=0}^{\infty}\zeta_{n}\phi_n^{\mathrm{R}} \right).
| |
− | </math></center>
| |
− | If we multiply by <math>X_m</math> and take an inner product over the plate we obtain
| |
− | <center><math>
| |
− | \left( 1+\beta\lambda_{n}^{4} - \alpha\gamma\right) \zeta_{n}=-i\omega
| |
− | \int_{-L}^{L}\phi^{\mathrm{D}} X_{n}\mathrm{d}x +
| |
− | \sum_{m=0}^{\infty}\left(\omega^2 a_{mn}(\omega) - i\omega b_{mn}(\omega)\right)
| |
− | \zeta_{m},
| |
− | </math></center>
| |
− | where the functions <math>a_{mn}(\omega)</math> and <math>b_{mn}(\omega)</math> are given by
| |
− | <center><math>
| |
− | \omega^2 a_{mn}(\omega) -i\omega b_{mn}(\omega) = - i\omega\int_{-L}^{L}\phi_m^{\mathrm{R}}X_{n}\mathrm{d}x,
| |
− | </math></center>
| |
− | and they are referred to as the added mass and damping coefficients (see [[Added-Mass, Damping Coefficients And Exciting Forces]]
| |
− | for the equivalent definition for a rigid body).
| |
− | respectively.
| |
− | This equation is solved by truncating the number of modes.
| |
− | | |
− | == Solution for the Radiation and Diffracted Potential ==
| |
− | | |
− | We use the [[Free-Surface Green Function]] for two-dimensional waves, with singularity at
| |
− | the water surface since we are only
| |
− | interested in its value at <math>z=0.</math> Using this we can transform the system of equations to
| |
− | | |
− | <center><math>
| |
− | \phi^{\mathrm{D}}(x) = \phi^{\mathrm{I}}(x) + \int_{-L}^{L}G(x,\xi) \alpha\phi^{\mathrm{S}}(\xi) \mathrm{d} \xi
| |
− | </math></center>
| |
− | and
| |
− | <center><math>
| |
− | \phi_n^{\mathrm{R}}(x) = \int_{-L}^{L}G(x,\xi)
| |
− | \left(
| |
− | \alpha\phi_n^{\mathrm{R}}(\xi) - i\omega X_n(\xi)
| |
− | \right)\mathrm{d} \xi
| |
− | </math></center>
| |
− | | |
− | Details about this method can be found in [[Integral Equation for the Finite Depth Green Function at Surface]].
| |
| | | |
| == Reflection and Transmission Coefficients == | | == Reflection and Transmission Coefficients == |
| | | |
− | The Reflection and Transmission Coefficients represent the ratio of the amplitude of the reflected or transmitted wave to the amplitude of the incident wave. They hold the property that <math> |R|^2+|T|^2=1\,</math> (and may often contain an imaginery element).
| + | {{derivation of reflection and transmission in two dimensions}} |
− | | |
− | [[Image:Square_volume.png|600px|right|thumb|frame|A diagram depicting the area <math>\Omega\,</math> which is bounded by the rectangle <math>\partial \Omega \,</math>. The rectangle <math>\partial \Omega \,</math> is bounded by <math> -h \leq z \leq 0 \,</math> and <math>-\infty \leq x \leq \infty \,</math> or <math>-N \leq x \leq N\,</math>]]
| |
− | | |
− | We can calculate the Reflection and Transmission coefficients as follows:
| |
− | Applying Green's theorem to <math>\phi\,</math> and <math>\phi^{\mathrm{I}}\,</math> gives:
| |
− | <center><math>
| |
− | 0 = \iint_{\Omega}(\phi\nabla^2\phi^{\mathrm{I}} - \phi^{\mathrm{I}}\nabla^2\phi)\mathrm{d}x\mathrm{d}z
| |
− | = \int_{\partial\Omega}(\phi\frac{\partial\phi^{\rm I}}{\partial n} - \phi^{\rm I}\frac{\partial\phi}{\partial n})\mathrm{d}l,
| |
− | </math></center>
| |
− | <center><math>
| |
− | = \phi_0(0) \int_{-L}^{L} e^{k_0 x} \left(\alpha \phi(x) - \partial_n \phi(x)\right)\mathrm{d}x
| |
− | - 2k_0 R \int_{-h}^{0} \left(\phi_0(z)\right)^2 \mathrm{d}z.
| |
− | </math></center><br\>
| |
− | where <math> k_0 \,</math> is the first imaginery root of the dispersion equation and the incident wave is of the form: <math> \phi^I=\phi_0(z)e^{-ikx} \,</math><br\><br\>
| |
− | Therefore, in the case of a floating plate (where z=0):
| |
− | <center><math>
| |
− | R = \frac{\int_{-L}^{L} e^{k_0 x} \left(\alpha \phi(x) - \partial_n \phi(x)\right)\mathrm{d}x }
| |
− | {2 k_0 \int_{-h}^{0} \left(\phi_0(z)\right)^2 \mathrm{d}z}.
| |
− | </math></center>
| |
− | and using a wave incident from the right we obtain
| |
− | <center><math>
| |
− | 1 + T = \frac{\int_{-L}^{L} e^{-k_0 x} \left(\alpha \phi(x) - \partial_n \phi(x)\right)\mathrm{d}x }
| |
− | {2 k_0 \int_{-h}^{0} \left(\phi_0(z)\right)^2 \mathrm{d}z}.
| |
− | </math></center>
| |
| | | |
| == Matlab Code == | | == Matlab Code == |
| | | |
| + | {{finite dock green function code}} |
| | | |
− | A program to calculate the solution in elastic modes can be found here
| |
− | {{elastic plate modes code}}
| |
− |
| |
− | === Additional code ===
| |
− |
| |
− | This program requires
| |
− | * {{green function surface code}}
| |
− | * {{green function source and field free surface code}}
| |
− | * {{free surface dispersion equation code}}
| |
− | * {{eigenvalues beam}}
| |
− | * {{eigenvectors beam}}
| |
− |
| |
− | == Alternative Solution Method using Green Functions for a Uniform Plate ==
| |
− |
| |
− | We can also solve the equation by a closely related method which was given in
| |
− | [[Meylan and Squire 1994]].
| |
− | We can transform the equations to
| |
− | <center><math>
| |
− | \phi(x) = \phi^{\rm I}(x) + \int_{-L}^{L}G(x,\xi)
| |
− | \left(
| |
− | \alpha\phi(\xi) - \partial_z\phi(\xi)
| |
− | \right)\mathrm{d} \xi
| |
− | </math></center>
| |
− |
| |
− | Expanding as before
| |
− | <center>
| |
− | <math>
| |
− | \partial_z \phi = i\omega \sum \xi_n X_n
| |
− | </math>
| |
− | </center>
| |
− | we obtain
| |
− | <center><math>
| |
− | -i\omega \phi = \sum \left(\beta\lambda_n^4 - \gamma\alpha + 1\right)\xi_n X_n
| |
− | </math>
| |
− | </center>
| |
− | This leads to the following equation
| |
− | <center>
| |
− | <math>
| |
− | \partial_z\phi(x) = \frac{1}{\alpha} \int_{-L}^{L} \frac{X_n(x)X_n(\xi)}{\beta\lambda_n^4 - \gamma\alpha + 1} \phi(\xi)\mathrm{d}\xi
| |
− | </math>
| |
− | </center>
| |
− | or
| |
− | <center>
| |
− | <math>
| |
− | \partial_z\phi(x) = \frac{1}{\alpha} \int_{-L}^{L} g(x,\xi) \phi(\xi)\mathrm{d}\xi
| |
− | </math>
| |
− | </center>
| |
− | where
| |
− | <center>
| |
− | <math>
| |
− | g(x,\xi) = \frac{X_n(x)X_n(\xi)}{\beta\lambda_n^4 - \gamma\alpha + 1}
| |
− | </math>
| |
− | </center>
| |
− | which is the Green function for the plate.
| |
| | | |
− | [[Category:Floating Elastic Plate]] | + | [[Category:Linear Water-Wave Theory]] |
Introduction
The problem of a two-dimensional finite dock is solved using a green function.
The same problem is solved using eigenfunction matching in Eigenfunction Matching for a Finite Dock.
The problem of a floating body on the surface using the same method is treated in
Green Function Method for a Floating Body on the Surface and for a floating elastic plate
in Green Function Methods for Floating Elastic Plates
Equations for a Dock in the Frequency Domain
Wave scattering by a finite dock
We consider here the Frequency Domain Problem for a finite dock which occupies
the region [math]\displaystyle{ -L\lt x\lt L }[/math] (we assume [math]\displaystyle{ e^{i\omega t} }[/math] time dependence).
The water is assumed to have
constant finite depth [math]\displaystyle{ h }[/math] and the [math]\displaystyle{ z }[/math]-direction points vertically
upward with the water surface at [math]\displaystyle{ z=0 }[/math] and the sea floor at [math]\displaystyle{ z=-h }[/math]. The
boundary value problem can therefore be expressed as
[math]\displaystyle{
\Delta\phi=0, \,\, -h\lt z\lt 0,
}[/math]
[math]\displaystyle{
\phi_{z}=0, \,\, z=-h,
}[/math]
[math]\displaystyle{
\partial_z\phi=\alpha\phi, \,\, z=0,\,x \lt -L, {\rm or} \, x\gt L
}[/math]
[math]\displaystyle{
\partial_z\phi=0, \,\, z=0,\,-L\lt x\lt L,
}[/math]
We
must also apply the Sommerfeld Radiation Condition
as [math]\displaystyle{ |x|\rightarrow\infty }[/math]. This essentially implies
that the only wave at infinity is propagating away and at negative infinity there is a unit incident wave
and a wave propagating away.
We begin with the diffraction potential [math]\displaystyle{ \phi^{\mathrm{D}} }[/math] which
satisfies the following equations
[math]\displaystyle{
\Delta\phi^{\mathrm{D}} =0,\,\,-h\lt z\lt 0,
}[/math]
[math]\displaystyle{
\partial_{z}\phi^{\mathrm{D}} =0,\,\,z=-h,
}[/math]
[math]\displaystyle{
\partial_{z}\phi^{\mathrm{D}} =\alpha \phi^{\mathrm{D}},\,\,x\notin(-L,L),\,\,
z=0,
}[/math]
[math]\displaystyle{
\partial_{z}\phi^{\mathrm{D}} =0,\,\,x\in(-L,L),\,\,z=0.
}[/math]
[math]\displaystyle{ \phi^{\mathrm{D}} }[/math] satisfies the Sommerfeld Radiation Condition
[math]\displaystyle{
\frac{\partial}{\partial x} \left(\phi^{\mathrm{D}}-\phi^{\rm
I} \right) \pm k_0\left( \phi^{\mathrm{D}}-\phi^{\rm I}\right)
= 0
,\,\,\mathrm{as}
\,\,x\rightarrow\infty.
}[/math]
[math]\displaystyle{ \phi^{\mathrm{I}}\, }[/math]
is a plane wave travelling in the [math]\displaystyle{ x }[/math] direction,
[math]\displaystyle{
\phi^{\mathrm{I}}(x,z)=A \phi_0(z) e^{\mathrm{i} k x} \,
}[/math]
where [math]\displaystyle{ A }[/math] is the wave amplitude (in potential) [math]\displaystyle{ \mathrm{i} k }[/math] is
the positive imaginary solution of the Dispersion Relation for a Free Surface
(note we are assuming that the time dependence is of the form [math]\displaystyle{ \exp(-\mathrm{i}\omega t) }[/math])
and
[math]\displaystyle{
\phi_0(z) =\frac{\cosh k(z+h)}{\cosh k h}
}[/math]
As the plate is floating on the surface, we can denote it as follows:
[math]\displaystyle{
\phi^{\rm I}|_{z=0} = e^{-i kx} \,
}[/math]
Solution for Diffracted Potential
We use the Free-Surface Green Function for two-dimensional waves, with singularity at
the water surface since we are only
interested in its value at [math]\displaystyle{ z=0 }[/math]
(details about this method can be found in Integral Equation for the Finite Depth Green Function at Surface).
Using this we can transform the system of equations to
[math]\displaystyle{
\phi^{\mathrm{D}}(x) = \phi^{\mathrm{I}}(x) + \int_{-L}^{L}G(x,\xi) \alpha\phi^{\mathrm{D}}(\xi) \mathrm{d} \xi
}[/math]
Reflection and Transmission Coefficients
The Reflection and Transmission Coefficients represent the ratio of the amplitude of the reflected or transmitted wave to the amplitude of the incident wave. Conservation of energy means that [math]\displaystyle{ |R|^2+|T|^2=1\, }[/math].
A diagram depicting the area
[math]\displaystyle{ \Omega\, }[/math] which is bounded by the rectangle
[math]\displaystyle{ \partial \Omega \, }[/math]. The rectangle
[math]\displaystyle{ \partial \Omega \, }[/math] is bounded by
[math]\displaystyle{ -h \leq z \leq 0 \, }[/math] and
[math]\displaystyle{ -\infty \leq x \leq \infty \, }[/math] or
[math]\displaystyle{ -N \leq x \leq N\, }[/math]
We can calculate the Reflection and Transmission coefficients by
applying Green's theorem to [math]\displaystyle{ \phi\, }[/math] and [math]\displaystyle{ \phi^{\mathrm{I}}\, }[/math]
[math]\displaystyle{ \phi^{\mathrm{I}}\, }[/math]
is a plane wave travelling in the [math]\displaystyle{ x }[/math] direction,
[math]\displaystyle{
\phi^{\mathrm{I}}(x,z)=A \phi_0(z) e^{\mathrm{i} k x} \,
}[/math]
where [math]\displaystyle{ A }[/math] is the wave amplitude (in potential) [math]\displaystyle{ \mathrm{i} k }[/math] is
the positive imaginary solution of the Dispersion Relation for a Free Surface
(note we are assuming that the time dependence is of the form [math]\displaystyle{ \exp(-\mathrm{i}\omega t) }[/math])
and
[math]\displaystyle{
\phi_0(z) =\frac{\cosh k(z+h)}{\cosh k h}
}[/math]
We assume that [math]\displaystyle{ A=1 }[/math]. This gives us
[math]\displaystyle{
\iint_{\Omega}(\phi\Delta\phi^{\mathrm{I}} - \phi^{\mathrm{I}}\Delta\phi)\mathrm{d}x\mathrm{d}z
= \int_{\partial\Omega}(\phi \partial_n \phi^{\rm I} - \phi^{\rm I}\partial_n\phi)\mathrm{d}s = 0,
}[/math]
This means that (using the far field behaviour of the potential [math]\displaystyle{ \phi }[/math])
[math]\displaystyle{
\int_{\partial\Omega_{B}}
(\phi \partial_n \phi^{\rm I} - \phi^{\rm I}\partial_n\phi)\mathrm{d}s
+ 2k_0 R \int_{-h}^{0} \left(\phi_0(z)\right)^2 \mathrm{d}z = 0,
}[/math]
For the present case the body is present only on the surface and we therefore have
[math]\displaystyle{
\int_{-L}^{L} e^{-k_0 x} \left(\alpha \phi(x) - \partial_n \phi(x)\right)\mathrm{d}x
+ 2k_0 R \int_{-h}^{0} \left(\phi_0(z)\right)^2 \mathrm{d}z = 0
}[/math]
Therefore
[math]\displaystyle{
R = -\frac{\int_{-L}^{L} e^{-k_0 x} \left(\alpha \phi(x) - \partial_n \phi(x)\right)\mathrm{d}x }
{2 k_0 \int_{-h}^{0} \left(\phi_0(z)\right)^2 \mathrm{d}z}.
}[/math]
and using a wave incident from the right we obtain
[math]\displaystyle{
T = 1 - \frac{\int_{-L}^{L} e^{k_0 x} \left(\alpha \phi(x) - \partial_n \phi(x)\right)\mathrm{d}x }
{2 k_0 \int_{-h}^{0} \left(\phi_0(z)\right)^2 \mathrm{d}z}.
}[/math]
Note that an expression for the integral in the denominator can be found in
Eigenfunction Matching for a Semi-Infinite Dock
Matlab Code
A program to calculate the solution in elastic modes can be found here
finite_dock_green_function.m
Additional code
This program requires