Главная > Математика > Численные методы для ПЭВМ на языках Бейсик, Фортран и Паскаль
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

7.4. Метод стрельбы для задачи на собственные значения

Рассмотрим алгоритмы и программную реализацию метода стрельбы на примере задачи, сформулированной в предыдущем разделе. Для того чтобы иметь возможность использовать без существенных изменений программы гл. 6, введем обозначения:

С учетом принятых обозначений задача на собственные значения формулируется следующим образом. Необходимо найти собственные значения и собственные функции на отрезке удовлетворяющие системе дифференциальных уравнений

с граничными условиями

На левой границе в точке а заданы значения искомых собственных функций следовательно, здесь сразу же сформулирована задача Коши. В рассматриваемой задаче в качестве пристрелочного параметра необходимо использовать собственное значение В то время как задача линейна относительно собственных функций, она является нелинейной по параметру Поэтому метод секущих при реализации алгоритма стрельбы потребует использования итерационного процесса в отличие от линейных граничных задач, для решения которых было достаточно один раз применить формулу секущих.

Предлагается следующий алгоритм вычисления собственных функций и собственных значений Задаем приближенное значение и на отрезке решаем задачу Коши для системы (7.30) с начальными условиями, заданными точке Если взятое значение удовлетворяет задаче, то на второй границе в точке условие не будет выполняться. Для нахождения собственного значения необходимо решить уравнение

которое применительно к волновым процессам называется дисперсионным. Решение этого уравнения можно провести методами секущих или парабол (п. 1.5, 3.4).

Для коаксиального волновода с однородным заполнением можно в явном виде записать левую часть дисперсионного уравнения через цилиндрические функции. Однако в случае неоднородного или анизотропного заполнения волновода задача аналитического получения дисперсионного уравнения существенно усложняется [63]. Численные же алгоритмы без затруднений обобщаются для указанных задач.

Спектр собственных значений определяемый из уравнения (7.32), является дискретным и определяет постоянные распространения собственных волн различных типов в коаксиальном волноводе. При фиксированных параметрах задачи дисперсионное уравнение имеет бесконечное множество дискретных решений Обычно на основании анализа предельных вариантов задачи исследователь располагает информацией о приближенном расположении корней дисперсионного уравнения на числовой оси (или плоскости комплексного переменного в случае диссипативных структур). Методами секущих или парабол осуществляется уточнение корней.

Организация итерационных процессов уточнения корней осложняется при возрастании погрешности вычисления левой части дисперсионного уравнения, которая определяется погрешностью решения задачи Коши. Улучшить ситуацию иногда позволяет изменение направления интегрирования на противоположное - от правой границы к левой границе а [1]. Подобный прием применительно к задаче о коаксиальном волноводе осуществляется без изменения алгоритма и программы простой взаимной заменой численных значений границ а и так как собственные функции на этих границах удовлетворяют одинаковым условиям. При малых радиусах внутреннего проводника коаксиала интегрирование в направлении от внешней оболочки к центру дает меньшую погрешность, что обусловлено наличием отбой точки дифференциального уравнения в начале координат.

Рис. 7.5. Блок-схема программы решения задачи на собственные значения методом стрельбы

Дисперсионное уравнение (7.32) можно решать не только относительно постоянной распространения но и относительно любого другого параметра задачи. Как уже отмечалось в в измерительной практике из уравнения (7.32) определяются проницаемости при заданных значениях

Программы 7.3 составлены в соответствии с блок-схемой, представленной на рис. 7.5.

В основном блоке программы в строке 10 описаны массивы, используемые в подпрограмме интегрирования задачи Коши. В диалоговом режиме (строки 20-30) вводятся следующие параметры задачи: нормированные на волновое число свободного пространства радиусы внутреннего проводника и внешней оболочки коаксиального волновода; С - константа нормировки собственных функций из граничного условия (7.29); М - диэлектрическая и магнитная проницаемости среды, заполняющей

волновод; N - число вариаций структуры электромагнитного поля в азимутальном направлении; начальные приближения к собственному значению; допустимая погрешность для метода уточнения корня дисперсионного уравнения; количество разбиений интервала интегрирования После вычислений шага интегрирования осуществляется обращение у подпрограмме метода секущих (строка 40). Собственное значение выводится на дисплей (строка 50).

Подпрограмма метода секущих (строки 100-190) взята из программы изменение некоторых идентификаторов проведено для исключения перекрытия переменных.

Левая часть дисперсионного уравнения (7.32) вычисляется в подпрограмме

0 строках 200-290, где после задания начальных условий осуществляется решение задачи Коши с помощью обращения в цикле к подпрограмме одношагового интегратора Рунге-Кутты второго порядка (строки 300-390). Последняя подпрограмма идентична соответствующему блоку программы

Правые части системы уравнений (7.30) вычисляются с помощью арифметических операторов подпрограммы в строках 400-490.

В листинге программы не приведены подпрограммы метода секущих SECANT и интегратора Рунге-Кутты , взятые без изменения из программ Названные подпрограммы записаны в отдельном файле, который подсоединяется к программе на этапе компиляции и редактирования. Для передачи параметров между блоками программы используются два COMMON-блока, один из которых неименованный, а другой имеет имя Предлагаемый способ передачи параметров не нарушает общности подпрограммы SECANT и и позволяет использовать их без изменения. Синтаксис языка Фортран запрещает включать формальные параметры подпрограмм и функций в COMMON-блоки. Поэтому передача собственного значения, являющегося фактическим параметром функции в подпрограмму вычисления правых частей системы ОДУ RP осуществляется с помощью переменной инициализируемой оператором присваивания

В программе используются процедуры метода секущих SECANT и интегратора Рунге-Кутты из программ Параметры задачи из основной программы передаются в функцию и в процедуру с помощью глобальных переменных. Для передачи фактического параметра функции введена глобальная переменная которая инициализируется с помощью оператора

Если радиус центрального проводника коаксиального волновода значительно меньше радиуса его внешней оболочки, то структура электромагнитного поля и постоянные распространения волн типа будут близкими к соответствующим характеристикам круглого волновода. Дисперсионное уравнение волн в круглом волноводе радиуса имеет вид [61]

где У - производная по всему аргументу от функции Бесселя порядка.

Из уравнения (7.33) определим нормированную постоянную распространения

где корень производной функции Бесселя порядка.

Соотношение (7.34) можно использовать для вычисления начальных приближений к постоянным распространения в коаксиальном волноводе.

В табл. 7.1 приведены результаты расчета постоянной распространения волны полученные по программам 7.3 для двух противоположных направлений интегрирования и разного количества разбиений интервала при следующих значениях параметров: Уточненные значения рассчитаны по второй формуле Рунге. Из табл. 7.1 видно, что интегрирование задачи Коши в направлении от внешней оболочки коаксиала к его центру дает лучшие результаты, а уточнение данных по второй формуле Рунге Гуточн позволяет значительно сократить объем вычислений.

Таблица 7.1

Для получения значений собственных функций достаточно в программах 7.3 добавить операторы дополнительного обращения к подпрограммам метода Рунге-Кутты с выводом результатов на дисплей. Чтобы обеспечить требуемую точность вычисления левой части дисперсионного уравнения, рекомендуется для решения задачи Коши применить алгоритм Рунге-Кутты-Мерсона (программы 6.5).

(см. скан)

(см. скан)

<< Предыдущий параграф Следующий параграф >>
Оглавление