Шапорев Тимур Валентинович

Расчёт дифракционных картин.
(Заготовка для неоконченной работы «Компьютерное моделирование физических процессов в
учебных целях».)

Москва, 1994, редакция 2013

Задача «Дифракция» представляет собой компьютерную модель опыта по дифракции
света на простых препятствиях: край экрана, щель, прямоугольное (квадратное) отверстие,
круглое отверстие. Для выбранного типа отверстия изображается картина распределения
интенсивности света за препятствием (в плоскости, содержащей оптическую ось установки),
кроме того программа позволяет посмотреть распределение интенсивности «в профиль», то
есть в перпендикулярном оси установки направлении на любом заданном от препятствия
расстоянии.
Несмотря на кажущуюся простоту, задача демонстрирует обе основные проблемы,
возникающие при создании курса 1 .
Во-первых, сравнительно слабые возможности цветопередачи 2 делают весьма сложным
реалистичное изображение картины распределения интенсивности.
Во-вторых, необходимость вычислить в течение максимум нескольких минут поле
интенсивности — расчет выполняется на поле размером около 400x100 точек — даже в
простейшем случае предъявляет к расчетному алгоритму весьма жесткие требования 3 .
Проблема с реалистичным изображением вообще говоря может быть решена только
использованием соответствующей видеосистемы. В данной конкретной реализации было
принято компромиссное решение. Во-первых, для построения изображения использовались все
доступные градации яркости одного цвета — всего пять. Кроме того, пользователю
предоставляется возможность выбрать способ изображения:
1) либо изобразить более тонкие градации яркости с помощью смешения точек разного
цвета, при этом цветовая картина наиболее близка к реальной, но структура
изображения смазывается;
2) либо наоборот построить «рельефную» картинку, в которой каждому цвету
соответствует диапазон значений интенсивности — при этом наиболее отчетливо
видна структура изображения.
Во втором случае кроме того можно выбрать метод разбиения шкалы интенсивности на
диапазоны: по линейной или логарифмической шкале.

Расчет дифракционных картин
Будем считать, что амплитуда и, соответственно, интенсивность падающего света равны
единице.
Значение интенсивности в точке наблюдения зависит от четырех параметров — длины
1

Курс «Общая физика на компьютере» разрабатывался в 1988-1993 годах в Московском ФизикоТехническом Институте коллективом авторов в рамках совместных работ Малого государственного предприятия
«Центр Электроники и Информатики МФТИ» и Научного центра «Физикон».
2
Видеосистема EGA
3
Для PC AT совместимого компьютера с тактовой частотой от 8Мгц.
волны света, размера препятствия и двух координат точки наблюдения. Простейший анализ
методом размерностей показывает, что реально функция распределения является двумерной и
зависит от двух безразмерных комбинаций четырех исходных параметров.
Введем обозначения
i
— мнимая единица;
π
— число «пи»;
z
— расстояние между плоскостью экрана и точкой наблюдения;
y
— расстояние (по вертикали) между точкой наблюдения и осью симметрии установки;
λ
— длина волны света;
D
— характерный размер отверстия (уточняется в зависимости от опыта);
J0(x) — функция Бесселя нулевого порядка;
x
x
y
y
C(x), S(x) - интегралы Френеля: C(x) = ⌠ cos(2 x2) dx, S(x) = ⌠ sin(2 x2) dx.
⌡
⌡
0
0

Дифракция на прямоугольных препятствиях
В «прямоугольных» случаях (дифракция на краю экрана, щели и квадратном отверстии)
решения задачи распределения интенсивности давно и хорошо известны (см. например
Д.В.Сивухин «Общий курс физики», Том IV «Оптика». М.: Наука, 1980.); пространственное
распределение комплексной амплитуды (т.е. также и интенсивности) выражается в виде
комбинации интегралов Френеля.
Необходимость вычисления многих значений интенсивности (см. выше) делает
невозможным использование библиотечных функций расчета интегралов Френеля, таким
образом функции расчета интегралов были разработаны специально для данной программы.
Интегралы Френеля вычисляются линейной интерполяцией по табулированным
значениям для x<5 или по асимптотической формуле для x>5 (см. «Справочник по
специальным функциям» под ред. М.Абрамовица и И.Стиган М., «Наука», 1979;
А.П.Прудников, Ю.А.Брычков, О.И.Маричев «Интегралы и ряды. Специальные функции", М.,
«Наука», 1983). С учетом невысокой конечной точности расчетов (для изображения на экране
погрешность не хуже 1% более чем достаточна) таблицы и аппроксимирующие формулы для
ускорения расчетов используют вычисления с фиксированной плавающей точкой (вычисления
с фиксированной точкой имитируются целочисленной арифметикой языка C).
Для упрощения вычислений удобно пользоваться приведенными (безразмерными — см.
выше) координатами:
2
u=y
λz — приведённая высота,
D
2
d= 2
λz — приведённая (полу)ширина.
Тогда в выбранных обозначения расчетные формулы выглядят следующим образом.

Дифракция на краю экрана
Символ D не используется (не имеет смысла). Комплексная амплитуда имеет вид:
E = {0.5 + C(u)} + i{0.5 + S(u)}.
Дифракция на щели

Символ D имеет смысл ширины щели. Комплексная амплитуда имеет вид:
E = {C(d+u) + C(d-u)} + i{S(d+u) + S(d-u)}.

Дифракция на квадратном отверстии
Символ D имеет смысл длины стороны квадрата. Комплексная амплитуда имеет вид:
E = {[C(d+u) + C(d-u)] + i[S(d+u) + S(d-u)]}{2C(d) + 2iS(d)}

Дифракция на круглом отверстии

Данный случай существенно отличается от предыдущих.
Как ни странно, несмотря на кажущуюся очевидность задачи, в литературе не удалось
найти готового ее решения.
Комплексная амплитуда вычисляется аналогично [Д.В.Сивухин «Общий курс физики»,
Том IV «Оптика». М.: Наука, 1980] интегрированием в цилиндрических координатах
симметричных элементов излучающей поверхности в диапазоне углов от 0 до π.
Если D обозначает диаметр отверстия, то в приведенных координатах
π
h=y
λz — приведённая высота,
D
π
r= 2
λz — приведённый радиус
комплексная амплитуда выражается в виде
r
E = 2⌡x exp(ix2) J0(2hx) dx
⌠
0
Этот интеграл (сводится к двумерным функциям Ломмеля — см. [Г.Корн Т.Корн
«Справочник по математике для научных работников и инженеров» М.: «Наука», 1974] — то
есть) не выражается в виде комбинации одномерных элементарных либо специальных
функций, поэтому для данного выражения была численно рассчитана таблица значений на
прямоугольной сетке (значения интенсивности между узлами сетки находятся линейной
интерполяцией по четырем ближайшим узлам).
Выбранные в программе значения параметров опытов дают диапазон изменений
параметров от 0 до 30 для r и от 0 до 75 для h соответственно. Таблица рассчитывалась с шагом
0.2 по r и 0.25 по h. Значения шагов выбирались с таким расчетом, чтобы суммарный объем
рассчитанных данных в выбранном представлении (см. ниже) не превышал одного сегмента
оперативной памяти IBM PC.
Для сокращения объема данных в программе они хранятся в виде (беззнаковых) целых
чисел — значение интенсивности, умноженное на 10000, и представлены как набор строк (при
фиксированных значениях радиуса) переменной длины с отброшенными хвостовыми нулями.
Расчет такой таблицы (численное интегрирование методом Симпсона) под эмулятором
MS-DOS в ОС ISC UNIX (386/ix) на AT/386 25МГц в условиях отсутствия на компьютере
других расчетных задач занял в общей сложности около недели астрономического времени.

Развитие задачи
Наиболее жестким ограничением с точки зрения физической картины явления видимо
является ограничение формы препятствий.
Расчет дифракционной картины даже на плоских препятствиях произвольной формы
потребует больших вычислительных ресурсов, то есть врядли возможен в рамках выбранного
подхода к построению учебного курса.
Представляет интерес задачи дифракции на (правильных) многоугольниках — с тем,
чтобы продемонстрировать переход дифракционной картины на многоугольнике в дифракцию
на круге (при росте числа граней). Данная задача сводится к задаче о дифракции на клине, и ее
решение потребует в частности разработки эффективного алгоритма расчета дифракции на
клине.

Расчёт дифракционных картин

  • 1.
    Шапорев Тимур Валентинович Расчётдифракционных картин. (Заготовка для неоконченной работы «Компьютерное моделирование физических процессов в учебных целях».) Москва, 1994, редакция 2013 Задача «Дифракция» представляет собой компьютерную модель опыта по дифракции света на простых препятствиях: край экрана, щель, прямоугольное (квадратное) отверстие, круглое отверстие. Для выбранного типа отверстия изображается картина распределения интенсивности света за препятствием (в плоскости, содержащей оптическую ось установки), кроме того программа позволяет посмотреть распределение интенсивности «в профиль», то есть в перпендикулярном оси установки направлении на любом заданном от препятствия расстоянии. Несмотря на кажущуюся простоту, задача демонстрирует обе основные проблемы, возникающие при создании курса 1 . Во-первых, сравнительно слабые возможности цветопередачи 2 делают весьма сложным реалистичное изображение картины распределения интенсивности. Во-вторых, необходимость вычислить в течение максимум нескольких минут поле интенсивности — расчет выполняется на поле размером около 400x100 точек — даже в простейшем случае предъявляет к расчетному алгоритму весьма жесткие требования 3 . Проблема с реалистичным изображением вообще говоря может быть решена только использованием соответствующей видеосистемы. В данной конкретной реализации было принято компромиссное решение. Во-первых, для построения изображения использовались все доступные градации яркости одного цвета — всего пять. Кроме того, пользователю предоставляется возможность выбрать способ изображения: 1) либо изобразить более тонкие градации яркости с помощью смешения точек разного цвета, при этом цветовая картина наиболее близка к реальной, но структура изображения смазывается; 2) либо наоборот построить «рельефную» картинку, в которой каждому цвету соответствует диапазон значений интенсивности — при этом наиболее отчетливо видна структура изображения. Во втором случае кроме того можно выбрать метод разбиения шкалы интенсивности на диапазоны: по линейной или логарифмической шкале. Расчет дифракционных картин Будем считать, что амплитуда и, соответственно, интенсивность падающего света равны единице. Значение интенсивности в точке наблюдения зависит от четырех параметров — длины 1 Курс «Общая физика на компьютере» разрабатывался в 1988-1993 годах в Московском ФизикоТехническом Институте коллективом авторов в рамках совместных работ Малого государственного предприятия «Центр Электроники и Информатики МФТИ» и Научного центра «Физикон». 2 Видеосистема EGA 3 Для PC AT совместимого компьютера с тактовой частотой от 8Мгц.
  • 2.
    волны света, размерапрепятствия и двух координат точки наблюдения. Простейший анализ методом размерностей показывает, что реально функция распределения является двумерной и зависит от двух безразмерных комбинаций четырех исходных параметров. Введем обозначения i — мнимая единица; π — число «пи»; z — расстояние между плоскостью экрана и точкой наблюдения; y — расстояние (по вертикали) между точкой наблюдения и осью симметрии установки; λ — длина волны света; D — характерный размер отверстия (уточняется в зависимости от опыта); J0(x) — функция Бесселя нулевого порядка; x x y y C(x), S(x) - интегралы Френеля: C(x) = ⌠ cos(2 x2) dx, S(x) = ⌠ sin(2 x2) dx. ⌡ ⌡ 0 0 Дифракция на прямоугольных препятствиях В «прямоугольных» случаях (дифракция на краю экрана, щели и квадратном отверстии) решения задачи распределения интенсивности давно и хорошо известны (см. например Д.В.Сивухин «Общий курс физики», Том IV «Оптика». М.: Наука, 1980.); пространственное распределение комплексной амплитуды (т.е. также и интенсивности) выражается в виде комбинации интегралов Френеля. Необходимость вычисления многих значений интенсивности (см. выше) делает невозможным использование библиотечных функций расчета интегралов Френеля, таким образом функции расчета интегралов были разработаны специально для данной программы. Интегралы Френеля вычисляются линейной интерполяцией по табулированным значениям для x<5 или по асимптотической формуле для x>5 (см. «Справочник по специальным функциям» под ред. М.Абрамовица и И.Стиган М., «Наука», 1979; А.П.Прудников, Ю.А.Брычков, О.И.Маричев «Интегралы и ряды. Специальные функции", М., «Наука», 1983). С учетом невысокой конечной точности расчетов (для изображения на экране погрешность не хуже 1% более чем достаточна) таблицы и аппроксимирующие формулы для ускорения расчетов используют вычисления с фиксированной плавающей точкой (вычисления с фиксированной точкой имитируются целочисленной арифметикой языка C). Для упрощения вычислений удобно пользоваться приведенными (безразмерными — см. выше) координатами: 2 u=y λz — приведённая высота, D 2 d= 2 λz — приведённая (полу)ширина. Тогда в выбранных обозначения расчетные формулы выглядят следующим образом. Дифракция на краю экрана Символ D не используется (не имеет смысла). Комплексная амплитуда имеет вид: E = {0.5 + C(u)} + i{0.5 + S(u)}.
  • 3.
    Дифракция на щели СимволD имеет смысл ширины щели. Комплексная амплитуда имеет вид: E = {C(d+u) + C(d-u)} + i{S(d+u) + S(d-u)}. Дифракция на квадратном отверстии Символ D имеет смысл длины стороны квадрата. Комплексная амплитуда имеет вид: E = {[C(d+u) + C(d-u)] + i[S(d+u) + S(d-u)]}{2C(d) + 2iS(d)} Дифракция на круглом отверстии Данный случай существенно отличается от предыдущих. Как ни странно, несмотря на кажущуюся очевидность задачи, в литературе не удалось найти готового ее решения. Комплексная амплитуда вычисляется аналогично [Д.В.Сивухин «Общий курс физики», Том IV «Оптика». М.: Наука, 1980] интегрированием в цилиндрических координатах симметричных элементов излучающей поверхности в диапазоне углов от 0 до π.
  • 4.
    Если D обозначаетдиаметр отверстия, то в приведенных координатах π h=y λz — приведённая высота, D π r= 2 λz — приведённый радиус комплексная амплитуда выражается в виде r E = 2⌡x exp(ix2) J0(2hx) dx ⌠ 0 Этот интеграл (сводится к двумерным функциям Ломмеля — см. [Г.Корн Т.Корн «Справочник по математике для научных работников и инженеров» М.: «Наука», 1974] — то есть) не выражается в виде комбинации одномерных элементарных либо специальных функций, поэтому для данного выражения была численно рассчитана таблица значений на прямоугольной сетке (значения интенсивности между узлами сетки находятся линейной интерполяцией по четырем ближайшим узлам). Выбранные в программе значения параметров опытов дают диапазон изменений параметров от 0 до 30 для r и от 0 до 75 для h соответственно. Таблица рассчитывалась с шагом 0.2 по r и 0.25 по h. Значения шагов выбирались с таким расчетом, чтобы суммарный объем рассчитанных данных в выбранном представлении (см. ниже) не превышал одного сегмента оперативной памяти IBM PC. Для сокращения объема данных в программе они хранятся в виде (беззнаковых) целых чисел — значение интенсивности, умноженное на 10000, и представлены как набор строк (при фиксированных значениях радиуса) переменной длины с отброшенными хвостовыми нулями. Расчет такой таблицы (численное интегрирование методом Симпсона) под эмулятором MS-DOS в ОС ISC UNIX (386/ix) на AT/386 25МГц в условиях отсутствия на компьютере других расчетных задач занял в общей сложности около недели астрономического времени. Развитие задачи Наиболее жестким ограничением с точки зрения физической картины явления видимо является ограничение формы препятствий. Расчет дифракционной картины даже на плоских препятствиях произвольной формы потребует больших вычислительных ресурсов, то есть врядли возможен в рамках выбранного подхода к построению учебного курса. Представляет интерес задачи дифракции на (правильных) многоугольниках — с тем, чтобы продемонстрировать переход дифракционной картины на многоугольнике в дифракцию на круге (при росте числа граней). Данная задача сводится к задаче о дифракции на клине, и ее решение потребует в частности разработки эффективного алгоритма расчета дифракции на клине.