Уравнения в частных производных

Анализ объектно-ориентированного представления методов решения уравнений в частных производных можно проводить согласно классификации этих уравнений на гиперболические, параболические и эллиптические. Однако не меньший интерес представляет сравнительный анализ объектных методов для этих типов уравнений, а также возможностей для использования для них одних и тех же объектов.

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

Методы для гиперболических уравнений

Особенностью наиболее распространённых схем решения гиперболических задач является их явность, поскольку неявные схемы хуже описывают возникающие в таких задачах волновые процессы. Как было отмечено в разделе 3.2.5, явные схемы гораздо проще неявных реализуются с помощью объектов. Перед описанием алгоритма их реализации следует обратить внимание на тот факт, что при решении динамических уравнений (в отличие от эллиптических) схемы высоких порядков аппроксимации практически не используются. Более того, для гиперболических уравнений не существует линейных монотонных схем выше первого порядка аппроксимации (теорема Годунова), а гибридные схемы, позволяющие преодолеть это ограничение, включают схемы первого порядка. Поэтому необходимо рассмотреть, прежде всего, объектное представление двуслойных схем первого порядка аппроксимации для простейшего уравнения переноса в n- мерном пространстве (схемы для систем уравнений сводятся к ним преобразованием Римана).

Шаблон таких схем имеет, помимо рассчитываемого узла, (n+1) сеточных узлов, которые для монотонности должны служить вершинами фигуры, включающую точку (т. н. базовую точку) пересечения характеристики, которая проходит через рассчитываемый узел, с нижним слоем или с границей области интегрирования. Максимальную точность имеет схема на шаблоне, узлы которого находятся на минимальном расстоянии от базовой точки (доказательство данного утверждения, справедливого для шаблонов любого размера, в данной работе не приводится). При использовании процедурного похода для поиска ближайших к базовой точке сеточных узлов обычно каждый раз при построении схемы (в случае уравнения с переменными коэффициентами – на каждом шаге!) перебираются все узлы области интегрирования.

Объектно-ориентированный подход позволяет существенно увеличить быстродействие за счет того, что поиск для каждого узла можно вести направленно, начиная с ближайших к нему соседей. Список соседних узлов, упорядоченный по расстоянию, строится только один раз, а в процессе расчётов у каждого элемента списка вызывается метод, вычисляющий расстояние от него до передаваемой ему в качестве аргумента базовой точки, а также вызывающий такой же метод у своих соседей. Если в этом методе проверять условия приближения узлов к базовой точке, то (n+1) требуемых узлов находятся по кратчайшему пути. Конечно, и в процедурной программе для каждого узла можно хранить номера некоторого числа ближайших соседей (это число, кстати, фиксировано, в отличие от узлов-объектов). Однако подобный алгоритм в этом случае можно реализовать только через вызов сложной рекурсивной процедуры, требующей доступа к большому количеству не нужных ей данных и, главное, зависящей от размерности задачи. В данном же случае алгоритм поиска не зависит не только от размерности пространства, но и от численного метода (поскольку этот алгоритм содержится в элементе, а не в его схеме).

Схемы чётного (в частности, второго) порядка аппроксимации гиперболических уравнений обладают большой дисперсионной (и малой диффузионной) ошибкой, в связи с чем их решения сильно осциллируют на разрывах. Поэтому среди немонотонных схем имеет смысл рассматривать только схемы третьего порядка на шаблонах, содержащих на нижнем слое (n+3) узлов. Ближе всего к монотонным находятся схемы, шаблон которых также лежит на минимальном расстоянии от базовой точки. Следовательно, описанный выше для схем первого порядка алгоритм быстрого поиска оптимального шаблона остаётся практически без изменений, а значит, элемент, который реализует наименее осциллирующую схему третьего порядка, можно унаследовать от элемента, реализующего наиболее точную монотонную схему. Как было показано в разделе 3.2.5, алгоритм гибридизации этих двух схем на основе объектного подхода является ещё более простым.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: