FEATool Multiphysics
v1.10 Finite Element Analysis Toolbox |

Interference and Diffraction

The classic double-slit experiment considers a planar and periodic oscillating wave which hits and passes two narrow slits. Assuming the slits are narrow enough, the passing waves will bend and cause an interference pattern, while diffraction will attenuate the off axis resulting amplitude.

In the example the Helmholtz equation is used to model the wave phenomena

\[ -( \frac{\partial^2 A}{\partial x^2} + \frac{\partial^2 A}{\partial y^2} ) - k^2 A = 0 \]

where *A* is the amplitude of the wave,and *k* the wave number (*k = 2·π/λ*).

This model is available as an automated tutorial by selecting **Model Examples and Tutorials...** > **Classic PDE** > **Interference and Diffraction** from the **File** menu. Or alternatively, follow the step-by-step instructions below.

- To start a new model click the
**New Model**toolbar button, or select*New Model...*from the*File*menu. - Select the
**Custom Equation**physics mode from the*Select Physics*drop-down menu. Enter

`A`

into the*Dependent Variable Names*edit field.- Press
**OK**to finish the physics mode selection. - Select
**Circle**from the*Geometry*menu. - Enter
`0.8`

into the*radius*edit field. - Press
**OK**to finish and close the dialog box. - Select
**Rectangle**from the*Geometry*menu. - Enter
`-0.8`

into the*x*edit field._{min} - Enter
`0.8`

into the*x*edit field._{max} - Enter
`-0.8`

into the*y*edit field._{min} - Enter
`0`

into the*y*edit field._{max} - Press
**OK**to finish and close the dialog box. - Select
**C1**and**R1**in the geometry object*Selection*list box. Press the

**- / Subtract geometry objects***Toolbar*button.- Select
**Rectangle**from the*Geometry*menu. - Enter
`-0.08-0.02`

into the*x*edit field._{min} - Enter
`-0.08+0.02`

into the*x*edit field._{max} - Enter
`-0.2`

into the*y*edit field._{min} - Enter
`0`

into the*y*edit field._{max} - Press
**OK**to finish and close the dialog box. - Select
**Rectangle**from the*Geometry*menu. - Enter
`0.08-0.02`

into the*x*edit field._{min} - Enter
`0.08+0.02`

into the*x*edit field._{max} - Enter
`-0.2`

into the*y*edit field._{min} - Enter
`0`

into the*y*edit field._{max} - Press
**OK**to finish and close the dialog box. - Select
**CS1**,**R2**, and**R3**in the geometry object*Selection*list box. Press the

**+ / Add geometry objects***Toolbar*button.- Switch to
**Grid**mode by clicking on the corresponding*Mode Toolbar*button. Enter

`0.015`

into the*Grid Size*edit field, and press the**Generate**button to call the grid generation algorithm.- Switch to
**Equation**mode by clicking on the corresponding*Mode Toolbar*button. - Press the
**edit**button. Enter

`-(Ax_x + Ay_y) - k^2*A_t = 0`

into the*Equation for A*edit field.- Press
**OK**to finish and close the dialog box. - Press
**OK**to finish the equation and subdomain settings specification. - Press the
**Constants***Toolbar*button, or select the corresponding entry from the*Equation*menu, and add the following modeling constants for the wave length*wl*, and wave number*k*in the*Model Constants and Expressions*dialog box.

Name | Expression |
---|---|

wl | 0.08 |

k | pi*2/wl |

- Switch to
**Boundary**mode by clicking on the corresponding*Mode Toolbar*button.

First set homogenous Neumann conditions for all boundaries.

- Select all the boundaries (
**1 - 11**) in the*Boundaries*list box. - Select the
**Neumann, g_A**radio button. Enter

`0`

into the*Dirichlet/Neumann coefficient*edit field.

An incoming planar wave is featured at the inlet with the complex boundary condition *n·∇(A) + k·i·A = 2·k·i* which can be implemented as a Neumann boundary condition.

- Select
**4**and**8**in the*Boundaries*list box. Enter

`-k*i*A + 2*k*i`

into the*Dirichlet/Neumann coefficient*edit field.

The outlet is assumed non-reflective and *n·∇(A) + k·i·A = 0*.

- Select
**1**and**2**in the*Boundaries*list box. Enter

`-k*i*A`

into the*Dirichlet/Neumann coefficient*edit field.- Press
**OK**to finish the boundary condition specification. - Switch to
**Solve**mode by clicking on the corresponding*Mode Toolbar*button. - Press the
**=***Toolbar*button to call the solver. After the problem has been solved FEATool will automatically switch to postprocessing mode and plot the computed solution.

After the problem has been solved FEATool will automatically switch to postprocessing mode and here display the computed wave amplitude *A*. The interference pattern can be clearly seen with four lines where the waves have been canceled out completely.

The *Point/Line Evaluation* tool can be used to visualize the interference and diffraction pattern at the boundary.

- Select
**Point/Line Evaluation...**from the*Post*menu. - Select
**1**and**2**in the*Boundaries*list box. Press

**OK**to finish and plot the amplitude curve.

The *interference and diffraction* custom equation model has now been completed and can be saved as a binary (.fea) model file, or exported as a programmable MATLAB m-script text file, or GUI script (.fes) file.