Смекни!
smekni.com

Г. П. Прокопов Вариационные методы (стр. 5 из 8)

В § 3 было избрано изложение, опирающееся на первый из указанных вариантов, прежде всего, для того, чтобы представить суть алгоритма и получить структуру коэффициентов (3.12)-(3.13) в уравнениях (3.11).

Как отмечалось в работах [11], [4] и других, итерационный процесс (4.3) представляет вариант метода Ньютона-Рафсона, отличающийся от стандартного тем, что в расчете участвует только блочная диагональ матрицы вторых производных. Благодаря этому удается обойтись явными итерациями, избежав решения сложной нелинейной системы уравнений. Такой процесс применялся для расчета гармонических сеток.

Заслуживает быть отмеченным следующее обстоятельство. Поскольку для функционала (1.8)-(1.9) без якобиана будем иметь:

(4.9)

,

формулы (4.3) принимают вид:

(4.10)

,

Легко убедиться, что с учетом (4.9) формулы (4.10) тождественны формулам (4.1), поскольку

.

Следовательно, итерационный процесс (4.1)тоже представляет аналогичный вариант метода Ньютона-Рафсона применительно к функционалу без якобиана, представляющему в дискретной форме положительно определенную квадратичную форму от координат узлов искомой сетки. Попутно отметим, что сумма с0 коэффициентов в формуле (4.2) положительна, поскольку в соответствии с (4.9) каждый из 12 треугольников дает положительный «вклад» в нее. В самом деле,

, поскольку
.

Теперь обратимся к вопросу о назначении управляющего параметра

. Специфика рассматриваемой задачи состоит в том, что главной заботой в ходе итерационного процесса является обеспечение невырожденности сетки, т.е. недопущение образования самопересекающихся ячеек. Для функционала с якобианом в знаменателе это требование еще строже: необходимо обеспечивать сохранение выпуклости всех ячеек сетки. Как уже отмечалось в § 3, пока предполагается, что требование (3.6) для исходной сетки выполнено.

Поэтому после каждой итерации сетка

подвергается контролю: проверке на выпуклость ячеек. Для каждой ячейки по координатам ее вершин вычисляются 4 величины
, используя формулы (3.7)-(3.8). Если
для всех
, ячейка выпукла.

Нарушение этого условия хотя бы в одной ячейке влечет за собой пересчет всей сетки с уменьшенным значением параметра

. Если уменьшить
вдвое, то нужный результат получается, если взять полусумму сеток:

(4.10)

,
.

Полученная сетка

подвергается повторной проверке, и в случае необходимости процедура уменьшения
и пересчет сетки повторяется. (Во избежании «зацикливания» этого процесса в программах предусматривается ограничение числа таких «урезаний»).

Жесткая процедура пересчета всей сетки в случае появления хотя бы одной «плохой» ячейки имеет практической целью сохранение гладкости сетки. Исправление ситуации посредством «лечения» отдельных «плохих» ячеек, как показывает практика, может приводить к неблагоприятным последствиям.

При расчете следующей итерации целесообразно начинать со значения параметра

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

Последняя мера диктуется соображением «не задерживать процесс», который по здравому смыслу должен улучшаться по мере сходимости итераций с уменьшением невязки решаемых уравнений.

Вопрос об исходном значении параметра

для первой итерации сложнее, поскольку (опять же по здравому смыслу) оно может зависеть от формы расчетной области на рассматриваемый момент времени. Одним из возможных решений является использование значения, на котором закончился расчет сетки в этой области на предыдущем шаге по времени, или этого значения, умноженного на коэффициент несколько больший 1 (тогда эти значения нужно сохранять в числе «областных» управляющих параметров). Тогда вопрос сводится к заданию этого пара-метра только на исходном шаге расчета, что не так уж и существенно.

Теперь обратимся к вопросу о скорости сходимости описанных итерационных процессов. Несмотря на обнадеживающие слова о том, что эти процессы представляют модифицированные варианты метода Ньютона-Рафсона, практически скорость их сходимости крайне медленная. Положение спасают следующие два обстоятельства. Во-первых, на каждом очередном шаге система уравнений конструируется так, что при значениях корректирующих параметров, равных нулю, сетка предыдущего шага ей удовлетворяет точно, с нулевой невязкой (в дискретном варианте). Поэтому в соответствии с (2.4) и (2.8) итерациями предстоит погасить невязку 0(t). Этим предлагаемые алгоритмы расчета сеток принципиально отличаются от других, тянущих за собой шлейф «недоитерированности» уравнений, которые практически до сходимости довести не удается. Во-вторых, задача итерационного процесса, наряду с погашением невязки 0(t), состоит в том, чтобы обеспечить гладкость сетки, привязанной к слегка изменившим свое положение новым границам, и в том, чтобы направить изменение сетки в приемлемое (хотелось бы, нужное) русло, не допуская ухудшения ее качества, необходимого для решения на этой сетке основной задачи. Это должно достигаться подключением соответствующих корректирующих функционалов. Если упомянутые две цели достигаются, то вопрос о том, будет ли полностью погашена упомянутая невязка 0(t), не так уж и важен. Следующий шаг начнется с «белого листа» – конструирования новой системы разностных уравнений. Поэтому можно рассчитывать, что необходимое число итераций (пусть и очень медленно сходящихся), как правило, не придется назначать большим. Естественно, здесь существенную роль играет форма конкретной области. Кроме того, очевидно, что существенную роль играет и величина управляющих параметров p(t), с которыми подключаются корректирующие функционалы.

Существует ли альтернатива, позволяющая улучшить ситуацию со сходимостью итераций? В монографии [12], стр. 263, читаем:

«В общей теории итерационных методов рассматриваются методы двух типов: использующие априорную информацию об операторах итерационные схемы и не использующие (методы вариационного типа). В методах первого типа качество начального приближения не используется. В методах вариационного типа итерационные параметры выбираются из условия минимума некоторых функционалов, связанных с исходным уравнением. В этом случае итерационные параметры обладают свойством учитывать качество начального приближения».

Таким образом, рекомендации явно склоняются в пользу вариационных методов. С точки зрения создания автоматизированных систем расчета сеток такой подход может показаться перспективным. Однако в силу специфики задачи, уже описанной выше, нельзя игнорировать и опасение, что вычисленный итерационный параметр окажется непригодным, поскольку приведет к «плохой» сетке. К тому же (с учетом дополнительной вычислительной работы) нет уверенности и в том, что использование более сложных методов обеспечит заметный выигрыш при реализации алгоритмов.

§ 5. О вырождении сетки и невыпуклых ячейках.

До сих пор обсуждаемые алгоритмы расчета сеток исходили из предположения, что все ячейки сетки являются выпуклыми, как было оговорено в § 3 условием (3.6). К сожалению, практика расчетов требует ослабления этого ограничения.

В качестве иллюстрации на рис.4 представлены ситуации, когда требуется допустить в расчетной области, наряду с четырехугольниками, и ячейки, которые вырождаются (или почти вырождаются) в треугольники (см. рис.4а,б,в). Более того, на рис.4г изображена ситуация, когда одна ячейка в исходной постановке является невыпуклой. (Заметим, что рис.4 носит эскизный иллюстративный характер – фактически восполнение линий сетки осуществляется, как правило, отрезками прямых). Вырождение (или почти вырождение) четырехугольных ячеек в треугольники может происходить и в процессе расчета нестационарной задачи при усложнении границ расчетных областей, которые приходится аппроксимировать ограниченным количеством узлов сетки, зафиксированным в исходных данных.

Для реального осуществления расчета в условиях вырождения ячейки в треугольник предусматривается коррекция алгоритма.

Как уже было отмечено, величина

, определяемая формулами (3.7)-(3.8), представляет удвоенную площадь треугольника с номером k. Тогда для ячейки будем иметь: