2.2 General Theory of diffractionDeveloping MatlabThe program is based on the general theory of diffraction.
We suppose that the object (cylinder) is illuminated by a wave of known intensity (primary wave).
Thanks to this wave, the cylinder becomes the source of other waves (secondary wave). The
total wave is created by the interference of the primary wave and the secondary one.
User has to introduce two parameters to the input of the
program: a (relative radius of the cylinder a/λ) and r (relative distance from the cylinder
axis r/λ). Field intensity of the primary wave is then programmed by the following way:
Ezprim(theta) = cos(2*pi*r*cos((theta-1)*pi/180))+... +j*sin(2*pi*r*cos((theta-1 )*pi/180));
Here r is a constant,
a equals to a/λ
, theta
varies from 0° to 180°. theta
is used even as an index of an array, its values have to be from the interval from 1 to 181.
The result is symmetrical with respect to the horizontal axis, and therefore, there is
no need of computing to 360°.
Next, the secondary wave intensity is computed according to
|
.
|
( 2.2D.1 )
|
In our situation, we limit the value of m by 150.
First, the term for m = 0 is computed:
Ezsekk = A0*besselh(0,2,2*pi*r)*cos(0);
where
A0 = -besselj(0,2*pi*a)/besselh(0,2,2*pi*a)
A cycle for computing Ezsekk is of the form:
for m=1:60+x
Am(theta) = -2*j^m*besselj(m,2*pi*a)/besselh(m,2,2*pi*a);
Ezsek(theta) = Ezsekk+Am(theta)*besselh(m,2,2*pi*r)*...*cos(m*(theta-1)*pi/180);
end
Summing Ezprim
and Ezsek,
the intensity Ezvyst
is obtained, which is displayed together with Ezsek in charts
Ezsek=f(theta) and Ezvysl=f(theta).
The second part of the program computes the same dependencies,
but cuts of the distribution of the secondary wave and
the total one on the distance from the cylinder axis in given directions
theta are displayed. For given direction, theta
is a constant and r/λ is changed.
The computation algorithm stays the same and only variables are changed. As a result, five charts for
theta = (0, 45, 90, 135, 180)° containing Ezsek
and Ezvyslare displayed.
Note: Programs are called in the following order:
Valec.m – Inform.m – Zadanivalec.m – Vypocetvalec.m – Vypocetrezy.m
|