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

Возможность использования для решения эллиптических уравнений расчётные классы, реализованные для параболических уравнений, делает нецелесообразным создание классов, основанных на принципиально отличных методах. Поэтому нужно лишь рассмотреть вопрос об использовании описанных в разделе 3.3.2.2 объектов для эллиптических задач. Поскольку основное отличие между параболическими и эллиптическими схемами заключается в алгоритме выбора оптимального шага по времени (итерационного параметра), то поставленный вопрос касается только одного из расчётных объектов – области интегрирования. Так как классов области интегрирования, соответствующих различным численным методам, может быть несколько, то нецелесообразно расширять возможности каждого из них алгоритмом изменения итерационного параметра. Лучше реализовать этот алгоритм в отдельном классе (который и является, собственно, схемой эллиптического уравнения). Поскольку и для параболических уравнений должен быть предусмотрен объект, выбирающий шаг по времени (многие нелинейные параболические уравнения – это жесткие системы в бесконечномерном пространстве), то не нужно создавать многочисленные подклассы «параболических» областей интегрирования, умеющие взаимодействовать с эллиптической схемой. Достаточно привязывать к обычным «параболическим» областям какую-либо эллиптическую схему в качестве объекта выбора шага. При таком подходе методы решения эллиптических уравнений и вспомогательные по отношению к ним «параболические» методы можно развивать независимо друг от друга.

Наконец, следует рассмотреть ещё один вычислительный алгоритм, который пригоден для расчёта эллиптических уравнений, но не описывался при анализе параболических задач (в разделе 3.3.2.2) ввиду низкого порядка аппроксимации по времени. Речь идёт о методе Зейделя, относящегося к классу треугольных итерационных методов. Реализация этого метода, формально являющегося неявным, в случае применения процедурного подхода практически ничем не отличается от явных методов, а в случае объектного подхода – даже проще явных. Алгоритм состоит в неупорядоченном переводе сеточных узлов на следующую итерацию таким образом, что позже рассчитывающиеся узлы используют те значения в ранее рассчитанных узлах, которые относятся к верхнему слою. Очевидно, при этом не требуется хранить в узле информацию о том, был ли этот узел рассчитан на текущей итерации. Замечательной особенностью метода Зейделя является то, что он не требует вычисления границ спектра итерационной матрицы, что в случае методов с выбором итерационного параметра приводит к громоздким вычислениям, плохо согласующимся с объектным подходом.

Пример использования: объектно-ориентированная библиотека численных методов для задач гидромеханики и массопереноса (теплопереноса)

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

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

Следует заметить, что рассматриваемая библиотека не столь универсальна, как описанные в разделе 3.3 численные методы. Кроме того, она использует отнюдь не все преимущества объектно-ориентированного подхода, упомянутые в разделе 3.2. В частности, в силу простоты применяемых численных методов они не разделяются на два объекта – элемент и схему, что сильно уменьшает возможности их дальнейшего развития.

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


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



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