Численные методы решения уравнений математической физики

Понятие о методах конечных элементов

Разбить на страницы
Показывать лекцию целиком

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

(рис 7.1)

Методы конечных элементов (МКЭ) в настоящее время, пожалуй, самые распространенные в мире численные методы. К их достоинствам относятся:

  • возможность счета на неравномерных сетках, в двумерном и трехмерном случаях для областей сложной геометрии;
  • "технологичность" методов (уточнение далее).
  • Современные МКЭ возникли в 50 - е годы XX века при решении задач теории упругости.

    Самая распространенная статическая задача — задача о нагруженной конструкции

    $$\Delta u = - 2, u \left|_{\partial \Omega }\right. = 0,$$

    а область $$\Omega$$ — сложная. Например, область может иметь вид, представленный на рис. 7.1. Каждая простая подобласть — конечный элемент.

    В настоящее время под МКЭ понимают целые семейства вариационных ( Ритца ) и проекционных ( Галеркина или Бубнова - Галеркина ) методов.

    7.1. Вариационный подход Ритца

    Рассмотрим две задачи:

    $$\begin{gather*} {\hat{L}_1 u(x) \equiv - (k(x) u^{\prime}_x (x)) ^{\prime}_x + p(x)u(x) = f(x), }\\ u(0) = a; \quad u(X) = b; \\ k(x) \ge k_0 > 0; \quad p(x) \ge 0. \\ \end{gather*} $$

    $$\begin{gather*} {\hat{L}_2 u(x, y) \equiv - div (k(x, y){grad} u(x, y)) + p(x, y)u(x, y) = g(x, y), } \\ u \left| {_{{\partial}\Omega }}\right. = {\psi}(l); \\ k(x, y) \ge k_0 > 0; \quad p(x, y) \ge 0. \end{gather*} $$

    Эти задачи похожи: (7.1) является одномерным случаем более общей задачи (7.2). Уравнения (7.1) и (7.2) записаны в самосопряженной форме. Поставим задачам (7.1) и (7.2) в соответствие функционалы

    $${I_1 (u) = \int\limits_0^{X}{(k(u^{\prime}_x )^2 + pu^2 - 2fu)dx}}$$

    и

    $${I_2 (u) = \iint\limits_{\Omega} (k(\nabla u, \nabla u) + pu^2 - 2gu)dxdy.}$$

    Будем рассматривать пространство функций $${w} \in W_2^1$$ (пространство Соболева) с нормой

    $$\begin{gather*} \|w \|_{W_2^1}^2 = \int\limits_0^{X}{(w^2 + (w^{\prime}_x )^2 )dx} \quad \mbox{для одномерного случая, } \\ \|w \|_{W_2^1}^2 = \iint\limits_{\Omega} w^2 dxdy + \iint\limits_{\Omega}{\left(\frac{{\partial}w}{{\partial}x}\right)}^2 + {\left(\frac{{\partial}w}{{\partial}y}\right)}^2 dxdy \quad\\ \mbox{для двумерного случая.} \end{gather*}$$

    Это — функции с ограниченным интегралом.

    Теорема 5. Среди всех функций $${w} \in W_2^1$$, удовлетворяющих граничным условиям, решение задачи (7.1) придает наименьшее значение функционалу (7.3), а решение (7.2) — функционалу (7.4).

    Доказательство.

    Докажем это утверждение для одномерного случая, а доказательство для уравнений (7.2), (7.4) оставим в качестве упражнений.

    Введем $$\xi (x) \equiv w(x) - u(x)$$. Поскольку $${w}(x) \in W_2^1$$, а u(x) — дважды непрерывно дифференцируемая функция, то $$\xi (x) \in W_2^1$$ и $$\xi (0) = \xi (X) = 0$$.

    $$\begin{gather*} I_1 (w) = I_1 (u(x) + \xi (x)) = \\ = I_1 (u) + \int\limits_0^{X}{(k(\xi^{\prime}_x )^2 + p \xi ^2 - 2f \xi )dx} + \int\limits_0^{X}{2(ku^{\prime}_x \xi^{\prime}_x + p \xi u)dx} = \\ = I_1 (u) + \int\limits_0^{X}{(k(\xi^{\prime}_x )^2 + p \xi ^2 )dx} + \int\limits_0^{X}{2 \xi (pu - f)dx} + 2 \int\limits_0^{X}{ku^{\prime}_x \xi^{\prime}_x dx} = \\ = I_1 (u) + J(\xi ) + 2ku^{\prime}_x \xi \left| \begin{array}{l} X \\ 0 \\ \end{array}\right. + \int\limits_0^{X}{2 \xi (- (ku^{\prime}_x ) ^{\prime}_x + pu - f)dx, } \\ \mbox{где }{J(\xi ) \equiv \int\limits_0^{X}{(k(\xi^{\prime}_x )^2 + p \xi ^2 )dx} \ge 0.} \end{gather*}$$

    Третье слагаемое в (7.5) равно нулю в силу граничных условий для функции $$\xi$$ ; последнее слагаемое равно нулю, так как u — решение (7.1); второе слагаемое — неотрицательное. Следовательно, минимум функционала I1(w) достигается, когда $$J(\xi ) = 0$$, т. е. $$\xi \equiv 0$$ или, что то же самое, w(x) = u(x) .

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

    В том случае, если функционал (7.3) или (7.4) ограничен снизу, то экстремаль функционала — минимум, и численный метод, который будет построен ниже, носит название метода Ритца. Чаще, когда нет необходимости тщательно исследовать постановку задачи, говорят об экстремальной точке, стационарной точке функционала и т.д.

    7.2. Общая схема метода Ритца

    Решение задачи (7.1) ищут в виде

    $${u^{N} (x) = \psi_0^{N} (x) + \sum\limits_{k = 1}^{N}{C_k \psi_k^{N} (x)}, }$$

    где $$\psi_0^{N} (x), \ldots , \psi_n^{N} (x)$$ — базисные функции в $$W_2^1 ; \psi_0^{N}(x)$$ удовлетворяет граничным условиям, а $$\psi_k^{N} (x)$$ при $$k \ge 1$$ такие, что $$\psi_k^{N} (0) = \psi_k^{N} (X) = 0$$. Если суммирование в (7.6) происходит до бесконечности, то эта формула дает точное решение задачи (7.1). Так как рассматривается конечное число базисных функций, то получаем лишь приближенное решение. Примером базисных функций для метода Ритца может служить тригонометрический базис, а в качестве приближенного решения получим конечный отрезок ряда Фурье.

    Подставив (7.6) в (7.3), получаем

    $$\begin{gather*} I_1 (u^{N}) = \sum\limits_{{p} = 1}^{N}{\sum\limits_{{q} = 1}^{N}{C_p C_{q} \cdot \left\{{\int\limits_0^{X}{\left({k(x) \frac{{{\partial}\psi_p^{N}}}{{\partial}x} \frac{{{\partial}\psi_{q}^{N}}}{{\partial}x} + {p}(x) \psi_p^{N} \psi_{q}^{N}} \right)} dx}\right\}}} - \\ {- 2 \sum\limits_{r = 1}^{N}{\left\{{C_{r} \int\limits_0^{X}{\left({f(x) \psi_{r}^{N} - {p}(x) \psi_0^{N} \psi_{r}^{N} - k(x) \frac{{{\partial}\psi_0^{N}}}{{\partial}x} \frac{{{\partial}\psi_{r}^{N}}}{{\partial}x}}\right)} dx}\right\}} + I_1 (\psi_0^{N}).} \end{gather*}$$

    Находим минимум функционала (7.7) из условия $$\frac{{\partial}I_1 (u^N)}{{\partial}C_i} = 0,$$ получаем систему из N линейных уравнений для определения коэффициентов Ck. Затем объявляем (7.6) решением задачи.

    Точно так же поступаем и для функционала (7.4). Число уравнений в системе для определения коэффициентов тоже будет Nбазисной функции только один индекс!). Вид функционала будет аналогичен (7.7), но вместо интегралов по отрезку будут стоять двойные интегралы по рассматриваемой области пространства $$\Omega,$$ а вместо производных — градиенты.

    Первая проблема, которая возникает в методе Ритца — выбор подходящего базиса. Как от набора функций $$\psi_0^{N} (x), \ldots , \psi_n^{N}(x)$$ зависит решение? Как оценить ошибки?

    Существуют два типа базиса: глобальный базис для метода Ритца и базис из функций с финитным носителем.

    Для того чтобы решения по методу Ритца сходились к точному, необходимо и достаточно, чтобы $${\forall}g \in W_2^1$$ и $$\forall \varepsilon > 0$$ существовала линейная комбинация

    $$g^{N} (x) \equiv \psi_0^{N} (x) + \sum\limits_{{j} = 1}^{N}{C_j \psi_j^{N}(x)}, \mbox{ такая, что }\|g^{N} - g \|_{W_2^1} \le \varepsilon,$$

    если вычисления проводятся точно.

    Допустимый базис для применения в методе Ритца $${\sin}\left({\frac{{\pi {q}x}}{X}}\right)$$, q = 1, ..., N.

    На отрезке [0, 1] допустимые базисы: $$\psi_j^{N} = x(1 - x) T_j (2x - 1)$$, где Tj(x)j - й полином Чебышева; $$\psi_j^{N} = x^{j} (1 - x)$$.

    Матрица системы линейных уравнений для определения коэффициентов разложения по базису метода Ритца получается заполненной. В случае использования "неудачных" базисов ее число обусловленности достаточно велико.

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

    (рис 7.2)

    Рассмотрим простейший вариант метода Ритца с использованием базиса функций с финитным носителем. Напомним, что носитель функции — множество точек x, для которых $$\psi_j^{N}(x) \ne 0$$. Введем разбиение отрезка [0, X] точками xj (сетку): 0 = x0 < x1 < ... < xn = X. Строим базисные функции:

    $$\begin{gather*} \psi_0^{N} = \left\{ \begin{array}{cc} {a \cdot \frac{{x - x_1}}{{x_0 - x_1}}, } {0 \le x \le x_1 ;} \\ {0, } {x_1 \le x \le x_{{N} - 1} ;} \\ {b \cdot \frac{{x - x_{N - 1}}}{{x_n - x_{N - 1}}}, } {x_{N - 1} \le x \le x_n ;}\\ \end{array} \right. \\ \psi_j^{N} = \left\{ \begin{array}{cc} {\frac{{x - x_{j - 1}}}{{x_j - x_{j - 1}}}, } {x_{j - 1} \le x \le x_j ;}\\ {0, } {x > x_{j + 1}, \quad x < x_{j - 1} ;}\\ {\frac{{x_{j + 1} - x}}{{x_{j + 1} - x_j }}, } {x_j < x \le x_{j + 1} .}\\ \end{array} \right. \end{gather*}$$

    Можно проверить, что $$\psi_j^{N} \in W_2^1 [0, X]$$. Интегралы и производные определяются в смысле обобщенных функций — недостаток базиса! Достоинством этого базиса является то, что базисные функции почти ортогональны.

    Пусть

    $$(\psi_j^N, \psi_k^{N}) = \int\limits_0^{X}{\psi_j^{N} (x) \psi_k^{N}(x)dx, } $$

    тогда

    $$\begin{gather*} (\psi_j^{N}, \psi_j^{N}) = \int\limits_{x_{j - 1}}^{x_j }{\frac{{(x - x_{j - 1})^2}} {{(x_j - x_{j - 1})^2}}dx} + \int\limits_{x_j }^{x_{j + 1}}{\frac{{(x - x_{j + 1})^2}} {{(x_{j + 1} - x_j )^2}}dx} = \\ = (x_j - x_{j - 1}) \int\limits_0^1 {t^2 dt} + (x_{j + 1} - x_j ) \int\limits_0^1 {t^2 dt} = \frac{{(x_j - x_{j - 1})}}{3}t^3 \left|\begin{array}{l} 1 \\ 0 \\ \end{array}\right. + \ldots = \\ = \frac{{x_j - x_{j - 1}}}{3} + \frac{{x_{j + 1} - x_j }}{3} = \frac{{x_{j + 1} - x_{j - 1}}}{3}, (\psi_j^{N}, \psi_{j + 1}^{N}) = \\ = \int\limits_{x_j }^{x_{j + 1}}{\frac{{x - x_j }}{{x_{j + 1} - x_j }} \frac{{x_{j + 1} - x}} {{x_{j + 1} - x_j }}dx} = \frac{{x_{j + 1} - x_j }}{6}, (\psi_{j - 1}^{N}, \psi_j^{N}) = \frac{{x_j - x_{j - 1}}}{6}, \end{gather*}$$

    а все остальные скалярные произведения равны нулю.

    Также достаточно легко берутся интегралы, включающие в себя производные базисных функций. Носитель каждой такой базисной функции называется конечным элементом, а метод Ритца с использованием такого базиса — первый метод из семейства МКЭ. Иногда конечным элементом также называют саму базисную функцию с финитным носителем.

    7.3. Формулировка проекционного метода Галеркина

    По - прежнему рассматриваем задачи (7.1) и (7.2).

    В дальнейшем будет рассмотрен класс дифференциальных операторов. Главный недостаток метода Ритца — применимость лишь к дифференциальным задачам, допускающим вариационную формулировку, т.е. в линейном случае $$\hat{L}$$ — самосопряженный положительно определенный оператор (все собственные числа $$\hat{L}$$ положительны).

    Наряду с формулировкой (7.1) и (7.2) будем использовать запись, определяющую слабое (обобщенное) решение:

    $${(\hat{L}u, v) - (f, v) = 0, }$$

    где vлюбая функция из рассмотренного ранее функционального пространства $$W_2^1$$, а скалярное произведение определено как

    $$\begin{gather*} (u, v) = \int\limits_0^{X}{u(x)v(x)dx} \quad \mbox{в одномерном случае;} \\ (u, v) = \iint\limits_{\Omega}{u(x, y)v(x, y)dxdy} \quad \mbox{в двумерном случае.} \end{gather*} $$

    Равенство (7.8) определяет обобщенное решение задачи. Известно, что если u — классическое решение задачи, то оно является обобщенным решением в смысле (7.8). Обратное, по понятным причинам, неверно — в $$W_2^1$$ "больше" функций, чем в C1 или C2. У задачи может существовать обобщенное решение, но не существовать классического.

    Рассмотрим конечномерное подпространство пространства $$W_2^1$$ с введенным базисом:

    $$u^{N} = \psi_0^{N} + \sum\limits_{k = 1}^{N}{C_k \psi_k^{N}},$$

    $$\psi_k^{N}$$ — базисные функции в $$W_2^1 ;$$ они обязаны обладать теми же свойствами, что и базисные функции для метода Ритца. Рассмотрим теперь для (7.8) конечную систему весовых функций из $$W_2^1$$: $$v_1^{N}, \ldots , v_n^{N}$$. Вместо (7.8) рассмотрим конечную систему проекций на весовые функции.

    Введем также обозначение

    $${R \equiv \hat{L}u^{N} - f}$$

    здесь Rневязка. Тогда, после подстановки разложения по базисным функциям в (7.8), получим систему соотношений

    $${(R, v_k^{N}) = (\hat{L}u^{N}, v_k^{N}) - (f, v_k^{N}).}$$

    Минимум невязки в пространстве, определяемом функциями $$v_1^{N}, \ldots , v_n^{N}$$ достигается тогда, когда невязка принадлежит его ортогональному дополнению: $$(R, v_k^{N}) = 0$$ для всех k. Теперь надо потребовать, чтобы весовые функции образовывали базис в $$W_2^1.$$ Естественно в качестве весовых функций использовать уже имеющиеся базисные $$\psi_1^{N}, \ldots , \psi_n^{N}.$$ Тогда получаем проекционный метод Галеркина.

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

    $$\begin{gather*} \left({\hat{L} \left({\psi_0^{N} + \sum\limits_{j = 1}^{N}{C_j \psi_j^{N}} }\right), \psi_k^{N}}\right) = \left({\psi_0^{N} + \sum\limits_{j = 1}^{N}{C_j \psi_j^{N}}, \hat{L} \psi_k^{N}}\right) = \\ = (\psi_0^{N}, \hat{L} \psi_k^{N}) + \sum\limits_{j = 1}^{N}{C_j (\hat{L}\psi_j^{N}, \psi_k^{N})} ; \\ (\psi_0^{N}, \hat{L} \psi_k^{N}) + \sum\limits_{j = 1}^{N}{C_j (\hat{L} \psi_j^{N}, \psi_k^{N})} = (f, \psi_k^{N}) \end{gather*} $$

    или в матричной форме:

    $$\begin{gather*} {\mathbf{AC}} = {\mathbf{\eta}}, a_{jk} = (\hat{L} \psi_j^{N}, \psi_k^{N}); \\ \eta_k = (f, \psi_k^{N}) - (\hat{L} \psi_0^{N}, \psi_k^{N}) = (f - \hat{L} \psi_0^{N}, \psi_k^N ). \end{gather*} $$

    Это же соотношение получается и при выводе системы уравнений для коэффициентов в методе Ритца.

    При вычислении скалярных произведений использовалась самосопряженность линейного дифференциального оператора $$\hat{L}.$$ Но при выводе соотношения (7.10) самосопряженность оператора не использовалась! Значит, метод Галеркина можно обобщать и на случай несамосопряженного (и нелинейного!) дифференциального оператора. При использовании в качестве базисных функций "функций - крышечек", введенных выше, получаем вариант МКЭ. Для задач (7.1) и (7.2) метод будет давать те же соотношения, что и метод Ритца.

    7.4. Пример построения схемы конечных элементов

    Для уменьшения числа выкладок считаем, что

    $$h_i = h_{i + 1} \equiv h \quad \mbox{для всех} \quad i (h_i \equiv x_i - x_{i - 1}).$$

    Рассмотрим несамосопряженный аналог задачи (7.1):

    $$\begin{gather*} - k(x)u^{\prime\prime}_x + q(x)u^{\prime}_x + p(x)u(x) = f(x), \\ u(0) = a; \quad u(1) = b; \\ k(x) \ge k_0 > 0; \quad p(x) \ge 0. \end{gather*} $$

    Найдем сопряженное уравнение:

    $$\begin{gather*} \int\limits_0^1 {(- ku^{\prime\prime} + qu^{\prime} + pu - f) \cdot vdx} = \\ = - ku^{\prime} \cdot v \left|\begin{array}{l} 1 \\ 0 \\ \end{array}\right. + \int\limits_0^1 {ukv^{\prime}dx} + quv \left|\begin{array}{l} 1 \\ 0 \\ \end{array}\right. - \int\limits_0^1 {u(qv) ^{\prime}dx} + \int\limits_0^1 {puvdx} - \int\limits_0^1 {fvdx} = \\ = \left\{\begin{array}{c} {\mbox{члены определяемые}} \\ {\mbox{граничными условиями}} \\ \end{array}\right\} - \int\limits_0^1 {fvdx} + \int\limits_0^1 {((kv) ^{\prime\prime} - qv^{\prime} + pv \cdot udx}. \end{gather*} $$

    Из этого соотношения легко получить условия, при которых $$\hat{L} \ne \hat{L}^*$$. Теперь запишем разложение по базису:

    $$u^{N} = \psi_0^{N} + \sum\limits_{j = 1}^{N}{C_j \psi_j^{N}} $$

    подставляем в исходное дифференциальное уравнение:

    $$\begin{gather*} - \left(k(x) {\left(\psi_0^{N} + \sum\limits_{j = 1}^{N} C_j \psi_j^{N}\right)}^{\prime\prime}_{xx}, \psi_k^{N}\right) + \left(q(x) {\left(\psi_0^{N} + \sum\limits_{j = 1}^{N}C_j \psi_j^{N}\right)}^{\prime}_x, \psi_k^{N}\right) \\ + \left({p(x) \left({\psi_0^{N} + \sum\limits_{j = 1}^{N}{C_j \psi_j^{N}} }\right), \psi_k^{N}}\right) = (f, \psi_k^{N}). \end{gather*} $$

    Рассмотрим отдельно каждое слагаемое в левой части:

    $$\begin{gather*} - \left(k(x) {\left(\psi_0^{N} + \sum\limits_{j = 1}^{N}C_j \psi_j^{N}\right)}^{\prime\prime}_{xx}, \psi_k^{N}\right) = \\ = - (k({\psi_0^{N}}_{xx}^{\prime\prime}), \psi_k^{N}) + \left(- k(x) \sum\limits_{j = 1}^{N} C_j({\psi_j^{N}}^{\prime\prime}_{xx}), \psi_k^{N}\right) = \\ = - (k({\psi_0^{N}}_{xx}^{\prime\prime}), \psi_1^{N}) - (k({\psi_0^{N}}_{xx}^{\prime\prime}), \psi_n^{N}) - \left(k(x) \sum\limits_{j = 1}^{N} C_j {\psi_j^{N}}^{\prime}_x , {\psi_k^{N}}^{\prime}_x \right) \end{gather*}$$

    Первые два слагаемые в правой части получаются в силу того, что носители базисных функций финитны. Последнее слагаемое в правой части получается интегрированием по частям. Зачем необходимо интегрирование по частям? На первый взгляд $$({\Psi^{N}_j})_{xx}^{\prime\prime} = 0$$. Но эта производная базисной функцииобобщенная функция, следовательно, в скалярных произведениях появятся $$\delta$$ - функции, при интегрировании возникнут сложности.

    В итоге после всех необходимых вычислений коэффициент перед Ck

    $$- C_{k - 1} \cdot k(x_{k - 1/2}) \frac{1}{h} + C_k \cdot k(x_k ) \frac{2}{h} - C_{k + 1} \cdot k(x_{k + 1/2}) \frac{1}{h}$$

    Функция k(x) считается кусочно - постоянной на соответствующих отрезках, можно использовать какую - либо другую аппроксимацию $$(k \varphi_j^{N})_x ^{\prime} $$, учитывая что k(x) — заданная функция.

    Первые два слагаемые в правой части (7.11) зависят от граничных условий и относятся к правой части системы уравнений для определения Ck.

    Рассмотрим теперь

    $$\begin{gather*} \left({q(x) \left({\psi_0^{N} + \sum\limits_{j = 1}^{N} {C_j \psi_j^{N}} }\right)^{\prime}_x , \psi_k^{N}}\right) = (q(x) {\psi_0^{N}}_x ^{\prime}, \psi_1^{N}) + (q(x){\psi_0^{N}}_x^{\prime}, \psi_n^{N}) + \\ + \sum\limits_{j = 1}^{N}{C_j (q(x){\psi_j^{N}}_x ^{\prime}, \psi_k^{N})}. \end{gather*} $$

    Коэффициенты при Ck будут следующие:

    $$- C_{k - 1} \cdot q(x_{k - 1/2}) \cdot \frac{1}{2} + C_k \cdot q(x_k ) \cdot 0 + C_{k + 1} \cdot q(x_{k + 1/2}) \cdot \frac{1}{2}$$

    Здесь опять предполагается, что функция q(x) кусочно - постоянная.

    Последнее слагаемое с p(x) дает выражение

    $$C_{k - 1} \cdot p(x_{k - 1/2}) \frac{h}{6} + C_k \cdot p(x_k) \frac{{4h}}{6} + C_{k + 1} \cdot p(x_{k + 1/2}) \frac{h}{6},$$

    т.е. при "плохом" способе вычисляемых интегралов фактически получаем конечно - разностное соотношение, похожее на аппроксимацию Нумерова.

    Вместе с тем, существует значительное отличие. Сеточная функция — это функция, заданная таблично. Решение (приближенное) МКЭ — это не сеточная функция, а элемент $$W_2^1$$.

    7.5. Построение базисных функций

    Математическая основа МКЭметод Галеркина и вариационный метод Ритца — развиваются, начиная со второго десятилетия XX века. Прогресс в МКЭ последних лет заключается именно в построении наборов базисных функций, обладающих достаточной гладкостью — так называемых согласованных базисов.

    Базис из "крышечек" в двумерном случае. Процесс построения базисных функции включает в себя:

  • триангуляцию области — разбиение на треугольники, каждый из которых является носителем своей базисной функции ;
  • построение базисных функций.
  • Требования к триангуляции (обозначения на рис. 7.3).

    (рис 7.3)
  • Между точками S и Sh с помощью нормалей к S устанавливается взаимно - однозначное соответствие, расстояние между соответствующими точками не превосходит $$\delta_1 h^2$$ ( h — сеточный параметр).
  • Длины сторон треугольников и их площади лежат в пределах [hl1, hl2] и $$[h^{2}\gamma _{1} , h^{2}\gamma _{2}]$$, где $$l_{1}, l_{2}, \gamma _{1}, \gamma _{2}$$ — положительные константы, не зависящие от h.
  • Существует непрерывное взаимно - однозначное преобразование Dh на область, границы которой параллельны осям координат, или составляют с ними угол $$\pi /4.$$ Преобразование линейно внутри каждого треугольника и переводит последний в равнобедренный прямоугольный треугольник с катетами, равными h.
  • Простейший пример построения триангуляции.

  • Область D вписываем в прямоугольник.
  • Строим в прямоугольнике равномерную сетку с шагом (рис 7.4)
  • Ближайшие к границе (рис 7.5)
  • Разбиваем четырехугольники внутри (рис 7.6)
  • Убираем все ячейки, пересечение которых с (рис 7.7)
  • (рис 7.8)

    Построение базисной функции — "крышечки". Фиксируем вершину P1 какого - либо треугольника. Составляем список соседей — вершин, принадлежащих треугольникам, имеющим вершину P1. Пусть в списке есть вершины Q1 и Q2, принадлежащие треугольнику 1 (рис. 7.8). В этом треугольнике представляем

    $$\varphi_1 (x, y) = \frac{{1 - \frac{{y - y_1}}{{y_2 - y_1}} - \frac{{x - y_2}}{{x_1 - y_2}}}}{{1 - \frac{{y_{P_1} - y_1}}{{y_2 - y_1}} - \frac{{x_{P_1} - y_2}}{{x_1 - y_2}}}}.$$

    Тогда для точки

    $$P_1 \psi_{P_1}^{N} (x, y) = \sum\limits_{k = 1}^6 {\varphi_k (x, y)}.$$

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

    $${\frac{{d^4 u}}{{dx^4 }} + au = f(x); x \in [0, X]}$$

    с какими - либо граничными условиями.

    Будем искать решение в соответствии с методами МКЭ:

    $${u^{N} = \psi_0^{N} + \sum\limits_{j = 1}^{N} {C_j \psi_j^{N}}, }$$

    где $$\psi_j^{N}$$ обладают финитным носителем. Подставляем разложение (7.13) в (7.12). Отвлекаясь от членов с граничными условиями, отнесенными к $$\psi_0^{N}$$, при умножении на $$\psi_{l}^{N}$$ имеем

    $$\begin{gather*} \left({\frac{d^4}{dx^4} \sum\limits_{j = 1}^{N}{C_j \psi_j^{N}}, \psi_{l}^{N}}\right) = \int\limits_0^{X}{\sum\limits_{j = 1}^{N}{C_j \frac{d^4 \psi_j^{N}}{dx^4} \psi_{l}^{N}} dx} = \\ = \int\limits_0^{X}{\sum\limits_{j = 1}^{N}{C_j \frac{d^2 \psi_j^{N}}{dx^2} \frac{d^2 \psi_{l}^{N}}{dx^2}} dx} = \left({\sum\limits_{j = 1}^{N}{C_j \frac{d^2 \psi_j^{N}}{dx^2}}, \frac{d^2 \psi_{l}^{N}}{dx^2}} \right) \times \\ \times {\left({\sum\limits_{j = 1}^{N}{C_j \frac{d^2 \psi_j^{N}}{dx^2}}, \frac{d^2 \psi_{l}^{N}}{dx^2}}\right) + a \left({\sum\limits_{j = 1}^{N}{C_j \psi_j^{N}}, \psi_{l}^{N}}\right) = \eta (x).} \end{gather*}$$

    Отсюда следует, чтобы первая сумма в (7.14) вычислялась, желательно, чтобы базисы $${\psi}_{l}^{N}$$ были гладкими:

    $$\begin{gather*} \psi_{l}^{N} \in W_2^2[0, X], \\ \| \psi_{l}^{N}\|_{W_2^2}^2 = \int\limits_0^{X}{\left[{(\psi_{l}^{N})^2 + \left({\frac{{d \psi_{l}^{N}}}{dx}}\right)^2 + \left({\frac{{d^2 \psi_{l}^{N}}}{{dx^2}}}\right)^2}\right]dx}, \end{gather*}$$

    а сходимость МКЭ следует понимать в норме $$W_2^2 [0, X].$$

    Примеры согласованных базисных функций. Если используется базис из "крышечек", то в каждом узле (при стыковке конечных элементов) решение МКЭ будет иметь разрыв первой производной. Это происходит из - за выбора базиса МКЭ. Сама искомая функция непрерывна.

    Допустим, необходимо найти решение, обладающее непрерывной первой производной.

    Строим набор функций базиса:

    $$\{\varphi_i(x) \}^{m}; m = \frac{{p + 1}}{2}; (p \mbox{ - нечетное положительное число}).$$

    Считаем, что размер конечного элемента равен 1. Для одномерной сетки всегда найдется линейное преобразование (свое для каждого элемента!), переводящее данный элемент в отрезок длины 1. Положим, что базисная функция есть

    $$\varphi_i (x) \equiv 0, \mbox{ если } x \notin [- 1;1],$$

    а на каждом отрезке [- 1;0] , [0;1] — полином степени p. В точках $$x = \pm 1$$ $$\varphi_i (x)$$ и все ее производные до порядка m - 1 равны нулю. В точке x = 0 $$\frac{{d^{i - 1} \varphi_i (x)}}{{dx^{i - 1}}} = 1.$$ Введем

    $$\varphi_{ij}^{h} (x) = \varphi_i \left({\frac{{x - a}}{h} - j}\right)$$

    (в случае равномерного разбиения отрезка на конечные элементы). Тогда $$\{\varphi_{ij}^{h}\}$$ j = 0, ..., N; i = 1, ..., m - базис.

    Рассмотрим случай $$p = 1$$. Тогда $$m = p = 1$$, на каждом отрезке функция линейна. Приходим к набору из "крышечек".

    Возьмем p = 3, тогда m = 2. Строим набор базисных функций.

    Фиксируем i = 1. На отрезках [- 1;0], [0;1] получаем полином степени 3.

    $$\varphi_1 (x) = a_0 + a_1 x + a_2 x^2 + a_3 x^3 (\mbox{на} [- 1;0]).$$

    Условия: $$\varphi^{\prime}_1 (- 1) = 0$$, $$\varphi_1 (0) = 1$$, $$\varphi_1 (- 1) = 0$$, $$\varphi^{\prime}_1 (0) = 0$$ определяют коэффициенты

    a0 = 1;   a1 = 0;   a2 = - 3;   a3 = - 2.

    В итоге на отрезке [- 1;0]

    $$\varphi_1 (x) = 1 - 3x^2 - 2x^3.$$

    Аналогично поступаем на отрезке [0;1], там имеем

    $$\varphi_1 (x) = 1 - 3x^2 + 2x^3.$$

    График базисной функции $$\varphi_1 (x)$$ представлен на рис. 7.9.

    (рис 7.9)

    Пусть теперь i = m = 2. Строим набор $$\varphi_2 (x)$$ такой, что

    $$\varphi_2 (x) = b_0 + b_1 x + b_2 x^2 + b_3 x^3.$$

    Из условий $$\varphi^{\prime}_2 (1) = 0, \varphi_2 (1) = 0, \varphi_2 (0) = 0, \varphi^{\prime}_2 (0) = 1$$ получается

    $$\varphi_2 (x) = (1 - x)^2 x \mbox{ при }0 \le x \le 1.$$

    Аналогично, $$\varphi_2 (x) = (1 - x)^2x$$ при $${- 1 \le x \le 0}$$. График функции изображен на рис. 7.10.

    (рис 7.10)

    Базис является согласованным, если для уравнения степени не выше p + 1 все базисные функции непрерывны (принадлежат Cm ).

    Что представляет собой метод Галеркина при использовании такого базиса? Теперь в точках сетки (межэлементных) необходимо знать не только функцию u, но и ее первую, вторую, ..., (m - 1) - ю производную по x:

    $$\begin{gather*} u^{h} = \sum\limits_{j = 1}^{N}{[u(a + jh) \varphi_{1j}^{h} (x) + u^{\prime}_x (a + jh) \varphi_{2j}^{h} (x)]}, \\ u^{h} = \sum\limits_{j = 1}^{N}{(c_j \psi_{1j}^{N} + b_j \varphi_{2j}^{N} (x)]}. \end{gather*} $$

    Отметим, что u(a + jh) и u'x(a + jh) определяются численно при решении уравнений методом Галеркина.

    Увеличилось число базисных функций и коэффициентов разложения.

    Заметим также, что матрица системы — разреженная, но уже не трехдиагональная (если порядок системы выше второго).

    (рис 7.11)

    Согласование в двумерном случае. Надо сшивать следующие величины (рис. 7.11): 18 величин в узлах плюс $$3$$ значения нормальных производных на гранях.

    Получается 21 условие, значит необходимо иметь 21 произвольную константу. Полином должен иметь достаточно высокую степень (члены до x5, y5 ). Поэтому в многомерном случае, как правило, используются несогласованные базисные функции или с низким (m = 1) порядком согласования.

    7.6. МКЭ для нестационарных уравнений

    Рассмотрим простейшую МКЭ - аппроксимацию уравнения теплопроводности:

    $$\frac{{\partial}u}{{\partial}t} = D \frac{{{\partial}^2 u}}{{{\partial}x^2}}$$

    с соответствующими граничными и начальными условиями. Будем искать решение в виде

    $$u = \sum\limits_{j = 1}^{N}{C_j (t) \psi_j^{N}}.$$

    Используя подход Галеркина, получаем (в базисе из "крышечек")

    $$\frac{1}{6} \frac{{dC_{j - 1}}}{dt} + \frac{2}{3} \frac{{dC_j }}{dt} + \frac{1}{6} \frac{{dC_{j + 1}}}{dt} = \frac{D}{{h^2}}(C_{j - 1} - 2C_j + C_{j + 1}).$$

    Это — система дифференциально - разностных уравнений. Теперь необходимо заменить производные по времени разностными отношениями.

    Заметим, что "явная" схема (когда в правой части стоят коэффициенты разложения на предыдущем слое по времени $$C_j^{n}$$ ) уже не является явной, в соответствии с определением явных методов, данном выше:

    $$\frac{1}{6} \frac{{C_{j - 1}^{n + 1} - C_{j - 1}^{n}}}{\tau} + \frac{2}{3} \frac{{C_j^{n + 1} - C_j^{n}}}{\tau} + \frac{1}{6} \frac{{C_{j + 1}^{n + 1} - C_{j + 1}^{n}}}{\tau} = \frac{D}{{h^2}}(C_{j - 1}^{n} - 2C_j^{n} + C_{j + 1}^{n} )$$

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

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

    $$C_j^{n} = {\lambda}^{n}e^{ij {\varphi}},$$

    получаем выражение для спектра оператора послойного перехода $$\lambda(\varphi):$$

    $$\frac{{{\lambda} - 1}}{6}[e^{i {\varphi}} + 4 + e^{- i {\varphi}} ] = k[e^{i {\varphi}} + 2 + e^{- i {\varphi}}],$$

    где $$k = D \frac{\tau}{h^2}.$$ Отсюда видно, что устойчивость метода конечных элементов опять определяется безразмерной комбинацией параметров разбиения (размера конечного элемента, шага по времени) и коэффициента теплопроводности — параболическим аналогом числа Куранта. Преобразуем уравнение для $$\lambda:$$

    $$\begin{gather*} \frac{{\lambda}- 1}{6} = \frac{{k(2 \cos {\varphi}- 2)}}{{4 + 2 \cos {\varphi}}}, \\ {\lambda} = 1 - 6k \frac{{\cos {\varphi} - 1}}{{\cos {\varphi}+ 2}}, \mbox{ откуда условием устойчивости будет } k \le \frac{1}{6}. \end{gather*}$$

    Имеет смысл пользоваться "неявной схемой" (правая часть берется с верхнего слоя по времени) или аппроксимацией типа Кранка - Никольсон.

    Продолжим рассмотрение применения МКЭ к нестационарным уравнениям. Как и ранее, смотрим задачу для уравнения теплопроводности

    $$\frac{{\partial}u}{{\partial}t} = D \frac{{{\partial}^2 u}} {{{\partial}x^2}}.$$

    Выбирая базис из "крышечек", представляем решение в виде

    $$u = \sum\limits_{j = 1}^{N}{C_j (t) \psi_j^{N}}.$$

    Подставляя последнее уравнение в исходное и применяя стандартную процедуру метода Галеркина, получаем систему дифференциальных уравнений

    $$\frac{1}{6} \frac{{dC_{j - 1}}}{dt} + \frac{2}{3} \frac{{dC_j }}{dt} + \frac{1}{6} \frac{{dC_{j + 1}}}{dt} = \frac{D}{{h^2}}(C_{j - 1} - 2C_j + C_{j + 1})$$

    (шаг сетки считается постоянным), или, в матричном виде

    $${{\mathbf{B}} \frac{d{\mathbf{C}}}{dt} = \frac{D}{{h^2}}{\mathbf{AC}}.}$$

    При этом, в любом базисе

    $${\mathbf{B}} = {\mathbf{B}}^* > 0, \quad {\mathbf{A}} = {\mathbf{A}}^* > 0.$$

    Тогда

    $$\exists {\mathbf{B}}^{1/2} : \quad {\mathbf{B}}^{1/2}{\mathbf{B}}^{1/2} = {\mathbf{B}}.$$

    Матрица $${\mathbf{B}}^{1/2}$$ - самосопряженная положительно определенная. Можно записать последнее уравнение (7.15) в виде

    $${\mathbf{B}}^{1/2}{\mathbf{B}}^{1/2} \frac{{d{\mathbf{C}}}}{dt} = \frac{D}{{h^2}}{\mathbf{AB}}^{- 1/2}{\mathbf{B}}^{1/2}{\mathbf{C}}. $$

    Введем вектор $${\mathbf{z}} \equiv {\mathbf{B}}^{- 1/2}{\mathbf{C}}$$ и умножим последнее соотношение слева на $${\mathbf{B}}^{- 1/2}$$, тогда получаем

    $${{\mathbf{B}}^{1/2} \frac{{d{\mathbf{z}}}}{dt} = \frac{D}{{h^2}}{\mathbf{B}}^{- 1/2}{\mathbf{AB}}^{- 1/2}{\mathbf{z}} = \frac{D}{{h^2}}{\mathbf{P}}{\mathbf{z}}.}$$

    Таким образом, из неявной системы (7.15) получена "явная" система (7.16) — перед вектором производных нет матричного множителя.

    Запишем для (7.16) схему Кранка - Николсон:

    $${{\mathbf{z}}^{n + 1} - {\mathbf{z}}^{n} = \frac{{D {\tau}}}{{2h^2}}{\mathbf{B}}^{- 1/2}{\mathbf{AB}}^{- 1/2} ({\mathbf{z}}^{n + 1} + {\mathbf{z}}^{n}).}$$

    Вопрос об устойчивости схемы (7.17) можно решить следующим образом. Умножим (7.17) на $${\mathbf{z}}^{n + 1} + {\mathbf{z}}^{n} $$. Получаем соотношение:

    $$\begin{gather*} ({\mathbf{z}}^{n + 1}, {\mathbf{z}}^{n + 1}) - ({\mathbf{z}}^{n}, {\mathbf{z}}^{n}) = \frac{{\sigma}}{2}({\mathbf{B}}^{- 1/2} {\mathbf{AB}}^{- 1/2} ({\mathbf{z}}^{n + 1} + {\mathbf{z}}^{n}), ({\mathbf{z}}^{n + 1} + {\mathbf{z}}^{n}));\\ \|{\mathbf{z}}^{n + 1}\|^2 = \|{\mathbf{z}}^{n}\|^2 + \frac{{\sigma}}{2}({\mathbf{P}}({\mathbf{z}}^{n + 1} + {\mathbf{z}}^{n}), ({\mathbf{z}}^{n + 1} + {\mathbf{z}}^{n})) \le \|{\mathbf{z}}^{n}\|^2 - \frac{{{\sigma}{\lambda}}}{2} \|{\mathbf{z}}^{n + 1} + {\mathbf{z}}^{n}\|^2 \end{gather*}$$

    в силу того, что $${\mathbf{A}} < 0 $$ (спектр оператора $${\mathbf{A}} $$ уже известен). Последнее неравенство и означает безусловную устойчивость метода.

    7.7. Решение нелинейных уравнений с помощью МКЭ

    Рассмотрим в качестве простейшего примера уравнение Хопфа

    $${\frac{{\partial}u}{{\partial}t} + 6u \frac{{{\partial}\mboxit{u}}}{{{\partial}\mboxit{x}}} = 0.}$$

    Его решение, как и ранее, ищем в виде (7.14), при этом по - прежнему используем базис из "крышечек". После вычислений получаем

    $${\frac{1}{6} \frac{{dC_{j - 1}}}{dt} + \frac{2}{3} \frac{{dC_j }}{dt} + \frac{1}{6} \frac{{dC_{j + 1}}}{dt} - C_{j - 1}^2 - C_j C_{j - 1} + C_j C_{j + 1} + C_{j + 1}^2 = 0.}$$

    Если написать дискретизацию (7.19) неявным образом (по величинам на n + 1 - м слое по времени или по аналогии со схемой Кранка - Николсон), то получается нелинейная относительно $$C_j^{n + 1} $$ система. Ее необходимо решать с помощью метода Ньютона. Можно линеаризовать (7.19) в окрестности $$C_j^{n} $$, считая, что

    $$C_j^{n + 1} \approx C_j^{n} + {\tau} \frac{dC_j }{dt}.$$

    Тогда (7.19) преобразуется в следующую линейную относительно величин на n + 1 - м слое по времени запись:

    $$\begin{gather*} \frac{1}{6} \frac{{C_{j - 1}^{n + 1} - C_{j - 1}^{n}}}{\tau} + \frac{2}{3} \frac{{C_j^{n + 1} - C_j^{n}}}{\tau} + \frac{1}{6} \frac{{C_{j + 1}^{n + 1} - C_{j + 1}^{n}}}{\tau} - (C_{j - 1}^{n})^2 - \\ - 2C_{j - 1}^{n}C_{j - 1}^{n + 1} - C_j^{n}C_{j - 1}^{n} - C_j^{n} C_{j - 1}^{n + 1} - C_j^{n + 1} C_{j - 1}^{n} + \\ + C_j^{n} C_{j + 1}^{n} + C_j^{n} C_j^{n + 1} + C_j^{n} C_{j + 1}^{n + 1} + (C_{j + 1}^{n})^2 + 2C_{j + 1}^{n}C_{j + 1}^{n + 1} = 0. \end{gather*}$$

    Эту систему можно решать, используя метод немонотонной прогонки — гибрид метода прогонки и алгоритма Гаусса с выбором ведущего элемента.

    Возможен и другой подход — линеаризация исходного уравнения (7.18) и решение получившейся последовательности линейных уравнений для определения приближенного решения задачи.

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

    7.8. Задачи для самостоятельного решения

  • При решении задачи с использованием метода Ритца на отрезке [0, 4] используются глобальные базисы
  • $$\frac{x}{4}, x(4 - x), x(16 - x^2), \ldots , x(4^{N} - x^{N});$$
  • $$\frac{x}{4}, x(4 - x), x^2 (4 - x), \ldots , x^{N} (4 - x); $$
  • $$\frac{x}{4}, \frac{x}{4} \left({1 - \frac{x}{4}}\right), \frac{x}{4} \left({1 - \frac{{x^2}}{{16}}}\right), \ldots , \frac{x}{4} \left({1 - \frac{{x^{N}}}{{4^{N}}}}\right).$$
  • Описать достоинства и недостатки каждого из этих базисов.

    Страницы:

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

    (рис 7.1)

    Методы конечных элементов (МКЭ) в настоящее время, пожалуй, самые распространенные в мире численные методы. К их достоинствам относятся:

  • возможность счета на неравномерных сетках, в двумерном и трехмерном случаях для областей сложной геометрии;
  • "технологичность" методов (уточнение далее).
  • Современные МКЭ возникли в 50 - е годы XX века при решении задач теории упругости.

    Самая распространенная статическая задача — задача о нагруженной конструкции

    $$\Delta u = - 2, u \left|_{\partial \Omega }\right. = 0,$$

    а область $$\Omega$$ — сложная. Например, область может иметь вид, представленный на рис. 7.1. Каждая простая подобласть — конечный элемент.

    В настоящее время под МКЭ понимают целые семейства вариационных ( Ритца ) и проекционных ( Галеркина или Бубнова - Галеркина ) методов.

    7.1. Вариационный подход Ритца

    Рассмотрим две задачи:

    $$\begin{gather*} {\hat{L}_1 u(x) \equiv - (k(x) u^{\prime}_x (x)) ^{\prime}_x + p(x)u(x) = f(x), }\\ u(0) = a; \quad u(X) = b; \\ k(x) \ge k_0 > 0; \quad p(x) \ge 0. \\ \end{gather*} $$

    $$\begin{gather*} {\hat{L}_2 u(x, y) \equiv - div (k(x, y){grad} u(x, y)) + p(x, y)u(x, y) = g(x, y), } \\ u \left| {_{{\partial}\Omega }}\right. = {\psi}(l); \\ k(x, y) \ge k_0 > 0; \quad p(x, y) \ge 0. \end{gather*} $$

    Эти задачи похожи: (7.1) является одномерным случаем более общей задачи (7.2). Уравнения (7.1) и (7.2) записаны в самосопряженной форме. Поставим задачам (7.1) и (7.2) в соответствие функционалы

    $${I_1 (u) = \int\limits_0^{X}{(k(u^{\prime}_x )^2 + pu^2 - 2fu)dx}}$$

    и

    $${I_2 (u) = \iint\limits_{\Omega} (k(\nabla u, \nabla u) + pu^2 - 2gu)dxdy.}$$

    Будем рассматривать пространство функций $${w} \in W_2^1$$ (пространство Соболева) с нормой

    $$\begin{gather*} \|w \|_{W_2^1}^2 = \int\limits_0^{X}{(w^2 + (w^{\prime}_x )^2 )dx} \quad \mbox{для одномерного случая, } \\ \|w \|_{W_2^1}^2 = \iint\limits_{\Omega} w^2 dxdy + \iint\limits_{\Omega}{\left(\frac{{\partial}w}{{\partial}x}\right)}^2 + {\left(\frac{{\partial}w}{{\partial}y}\right)}^2 dxdy \quad\\ \mbox{для двумерного случая.} \end{gather*}$$

    Это — функции с ограниченным интегралом.

    Теорема 5. Среди всех функций $${w} \in W_2^1$$, удовлетворяющих граничным условиям, решение задачи (7.1) придает наименьшее значение функционалу (7.3), а решение (7.2) — функционалу (7.4).

    Доказательство.

    Докажем это утверждение для одномерного случая, а доказательство для уравнений (7.2), (7.4) оставим в качестве упражнений.

    Введем $$\xi (x) \equiv w(x) - u(x)$$. Поскольку $${w}(x) \in W_2^1$$, а u(x) — дважды непрерывно дифференцируемая функция, то $$\xi (x) \in W_2^1$$ и $$\xi (0) = \xi (X) = 0$$.

    $$\begin{gather*} I_1 (w) = I_1 (u(x) + \xi (x)) = \\ = I_1 (u) + \int\limits_0^{X}{(k(\xi^{\prime}_x )^2 + p \xi ^2 - 2f \xi )dx} + \int\limits_0^{X}{2(ku^{\prime}_x \xi^{\prime}_x + p \xi u)dx} = \\ = I_1 (u) + \int\limits_0^{X}{(k(\xi^{\prime}_x )^2 + p \xi ^2 )dx} + \int\limits_0^{X}{2 \xi (pu - f)dx} + 2 \int\limits_0^{X}{ku^{\prime}_x \xi^{\prime}_x dx} = \\ = I_1 (u) + J(\xi ) + 2ku^{\prime}_x \xi \left| \begin{array}{l} X \\ 0 \\ \end{array}\right. + \int\limits_0^{X}{2 \xi (- (ku^{\prime}_x ) ^{\prime}_x + pu - f)dx, } \\ \mbox{где }{J(\xi ) \equiv \int\limits_0^{X}{(k(\xi^{\prime}_x )^2 + p \xi ^2 )dx} \ge 0.} \end{gather*}$$

    Третье слагаемое в (7.5) равно нулю в силу граничных условий для функции $$\xi$$ ; последнее слагаемое равно нулю, так как u — решение (7.1); второе слагаемое — неотрицательное. Следовательно, минимум функционала I1(w) достигается, когда $$J(\xi ) = 0$$, т. е. $$\xi \equiv 0$$ или, что то же самое, w(x) = u(x) .

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

    В том случае, если функционал (7.3) или (7.4) ограничен снизу, то экстремаль функционала — минимум, и численный метод, который будет построен ниже, носит название метода Ритца. Чаще, когда нет необходимости тщательно исследовать постановку задачи, говорят об экстремальной точке, стационарной точке функционала и т.д.

    7.2. Общая схема метода Ритца

    Решение задачи (7.1) ищут в виде

    $${u^{N} (x) = \psi_0^{N} (x) + \sum\limits_{k = 1}^{N}{C_k \psi_k^{N} (x)}, }$$

    где $$\psi_0^{N} (x), \ldots , \psi_n^{N} (x)$$ — базисные функции в $$W_2^1 ; \psi_0^{N}(x)$$ удовлетворяет граничным условиям, а $$\psi_k^{N} (x)$$ при $$k \ge 1$$ такие, что $$\psi_k^{N} (0) = \psi_k^{N} (X) = 0$$. Если суммирование в (7.6) происходит до бесконечности, то эта формула дает точное решение задачи (7.1). Так как рассматривается конечное число базисных функций, то получаем лишь приближенное решение. Примером базисных функций для метода Ритца может служить тригонометрический базис, а в качестве приближенного решения получим конечный отрезок ряда Фурье.

    Подставив (7.6) в (7.3), получаем

    $$\begin{gather*} I_1 (u^{N}) = \sum\limits_{{p} = 1}^{N}{\sum\limits_{{q} = 1}^{N}{C_p C_{q} \cdot \left\{{\int\limits_0^{X}{\left({k(x) \frac{{{\partial}\psi_p^{N}}}{{\partial}x} \frac{{{\partial}\psi_{q}^{N}}}{{\partial}x} + {p}(x) \psi_p^{N} \psi_{q}^{N}} \right)} dx}\right\}}} - \\ {- 2 \sum\limits_{r = 1}^{N}{\left\{{C_{r} \int\limits_0^{X}{\left({f(x) \psi_{r}^{N} - {p}(x) \psi_0^{N} \psi_{r}^{N} - k(x) \frac{{{\partial}\psi_0^{N}}}{{\partial}x} \frac{{{\partial}\psi_{r}^{N}}}{{\partial}x}}\right)} dx}\right\}} + I_1 (\psi_0^{N}).} \end{gather*}$$

    Находим минимум функционала (7.7) из условия $$\frac{{\partial}I_1 (u^N)}{{\partial}C_i} = 0,$$ получаем систему из N линейных уравнений для определения коэффициентов Ck. Затем объявляем (7.6) решением задачи.

    Точно так же поступаем и для функционала (7.4). Число уравнений в системе для определения коэффициентов тоже будет Nбазисной функции только один индекс!). Вид функционала будет аналогичен (7.7), но вместо интегралов по отрезку будут стоять двойные интегралы по рассматриваемой области пространства $$\Omega,$$ а вместо производных — градиенты.

    Первая проблема, которая возникает в методе Ритца — выбор подходящего базиса. Как от набора функций $$\psi_0^{N} (x), \ldots , \psi_n^{N}(x)$$ зависит решение? Как оценить ошибки?

    Существуют два типа базиса: глобальный базис для метода Ритца и базис из функций с финитным носителем.

    Для того чтобы решения по методу Ритца сходились к точному, необходимо и достаточно, чтобы $${\forall}g \in W_2^1$$ и $$\forall \varepsilon > 0$$ существовала линейная комбинация

    $$g^{N} (x) \equiv \psi_0^{N} (x) + \sum\limits_{{j} = 1}^{N}{C_j \psi_j^{N}(x)}, \mbox{ такая, что }\|g^{N} - g \|_{W_2^1} \le \varepsilon,$$

    если вычисления проводятся точно.

    Допустимый базис для применения в методе Ритца $${\sin}\left({\frac{{\pi {q}x}}{X}}\right)$$, q = 1, ..., N.

    На отрезке [0, 1] допустимые базисы: $$\psi_j^{N} = x(1 - x) T_j (2x - 1)$$, где Tj(x)j - й полином Чебышева; $$\psi_j^{N} = x^{j} (1 - x)$$.

    Матрица системы линейных уравнений для определения коэффициентов разложения по базису метода Ритца получается заполненной. В случае использования "неудачных" базисов ее число обусловленности достаточно велико.

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

    (рис 7.2)

    Рассмотрим простейший вариант метода Ритца с использованием базиса функций с финитным носителем. Напомним, что носитель функции — множество точек x, для которых $$\psi_j^{N}(x) \ne 0$$. Введем разбиение отрезка [0, X] точками xj (сетку): 0 = x0 < x1 < ... < xn = X. Строим базисные функции:

    $$\begin{gather*} \psi_0^{N} = \left\{ \begin{array}{cc} {a \cdot \frac{{x - x_1}}{{x_0 - x_1}}, } {0 \le x \le x_1 ;} \\ {0, } {x_1 \le x \le x_{{N} - 1} ;} \\ {b \cdot \frac{{x - x_{N - 1}}}{{x_n - x_{N - 1}}}, } {x_{N - 1} \le x \le x_n ;}\\ \end{array} \right. \\ \psi_j^{N} = \left\{ \begin{array}{cc} {\frac{{x - x_{j - 1}}}{{x_j - x_{j - 1}}}, } {x_{j - 1} \le x \le x_j ;}\\ {0, } {x > x_{j + 1}, \quad x < x_{j - 1} ;}\\ {\frac{{x_{j + 1} - x}}{{x_{j + 1} - x_j }}, } {x_j < x \le x_{j + 1} .}\\ \end{array} \right. \end{gather*}$$

    Можно проверить, что $$\psi_j^{N} \in W_2^1 [0, X]$$. Интегралы и производные определяются в смысле обобщенных функций — недостаток базиса! Достоинством этого базиса является то, что базисные функции почти ортогональны.

    Пусть

    $$(\psi_j^N, \psi_k^{N}) = \int\limits_0^{X}{\psi_j^{N} (x) \psi_k^{N}(x)dx, } $$

    тогда

    $$\begin{gather*} (\psi_j^{N}, \psi_j^{N}) = \int\limits_{x_{j - 1}}^{x_j }{\frac{{(x - x_{j - 1})^2}} {{(x_j - x_{j - 1})^2}}dx} + \int\limits_{x_j }^{x_{j + 1}}{\frac{{(x - x_{j + 1})^2}} {{(x_{j + 1} - x_j )^2}}dx} = \\ = (x_j - x_{j - 1}) \int\limits_0^1 {t^2 dt} + (x_{j + 1} - x_j ) \int\limits_0^1 {t^2 dt} = \frac{{(x_j - x_{j - 1})}}{3}t^3 \left|\begin{array}{l} 1 \\ 0 \\ \end{array}\right. + \ldots = \\ = \frac{{x_j - x_{j - 1}}}{3} + \frac{{x_{j + 1} - x_j }}{3} = \frac{{x_{j + 1} - x_{j - 1}}}{3}, (\psi_j^{N}, \psi_{j + 1}^{N}) = \\ = \int\limits_{x_j }^{x_{j + 1}}{\frac{{x - x_j }}{{x_{j + 1} - x_j }} \frac{{x_{j + 1} - x}} {{x_{j + 1} - x_j }}dx} = \frac{{x_{j + 1} - x_j }}{6}, (\psi_{j - 1}^{N}, \psi_j^{N}) = \frac{{x_j - x_{j - 1}}}{6}, \end{gather*}$$

    а все остальные скалярные произведения равны нулю.

    Также достаточно легко берутся интегралы, включающие в себя производные базисных функций. Носитель каждой такой базисной функции называется конечным элементом, а метод Ритца с использованием такого базиса — первый метод из семейства МКЭ. Иногда конечным элементом также называют саму базисную функцию с финитным носителем.

    7.3. Формулировка проекционного метода Галеркина

    По - прежнему рассматриваем задачи (7.1) и (7.2).

    В дальнейшем будет рассмотрен класс дифференциальных операторов. Главный недостаток метода Ритца — применимость лишь к дифференциальным задачам, допускающим вариационную формулировку, т.е. в линейном случае $$\hat{L}$$ — самосопряженный положительно определенный оператор (все собственные числа $$\hat{L}$$ положительны).

    Наряду с формулировкой (7.1) и (7.2) будем использовать запись, определяющую слабое (обобщенное) решение:

    $${(\hat{L}u, v) - (f, v) = 0, }$$

    где vлюбая функция из рассмотренного ранее функционального пространства $$W_2^1$$, а скалярное произведение определено как

    $$\begin{gather*} (u, v) = \int\limits_0^{X}{u(x)v(x)dx} \quad \mbox{в одномерном случае;} \\ (u, v) = \iint\limits_{\Omega}{u(x, y)v(x, y)dxdy} \quad \mbox{в двумерном случае.} \end{gather*} $$

    Равенство (7.8) определяет обобщенное решение задачи. Известно, что если u — классическое решение задачи, то оно является обобщенным решением в смысле (7.8). Обратное, по понятным причинам, неверно — в $$W_2^1$$ "больше" функций, чем в C1 или C2. У задачи может существовать обобщенное решение, но не существовать классического.

    Рассмотрим конечномерное подпространство пространства $$W_2^1$$ с введенным базисом:

    $$u^{N} = \psi_0^{N} + \sum\limits_{k = 1}^{N}{C_k \psi_k^{N}},$$

    $$\psi_k^{N}$$ — базисные функции в $$W_2^1 ;$$ они обязаны обладать теми же свойствами, что и базисные функции для метода Ритца. Рассмотрим теперь для (7.8) конечную систему весовых функций из $$W_2^1$$: $$v_1^{N}, \ldots , v_n^{N}$$. Вместо (7.8) рассмотрим конечную систему проекций на весовые функции.

    Введем также обозначение

    $${R \equiv \hat{L}u^{N} - f}$$

    здесь Rневязка. Тогда, после подстановки разложения по базисным функциям в (7.8), получим систему соотношений

    $${(R, v_k^{N}) = (\hat{L}u^{N}, v_k^{N}) - (f, v_k^{N}).}$$

    Минимум невязки в пространстве, определяемом функциями $$v_1^{N}, \ldots , v_n^{N}$$ достигается тогда, когда невязка принадлежит его ортогональному дополнению: $$(R, v_k^{N}) = 0$$ для всех k. Теперь надо потребовать, чтобы весовые функции образовывали базис в $$W_2^1.$$ Естественно в качестве весовых функций использовать уже имеющиеся базисные $$\psi_1^{N}, \ldots , \psi_n^{N}.$$ Тогда получаем проекционный метод Галеркина.

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

    $$\begin{gather*} \left({\hat{L} \left({\psi_0^{N} + \sum\limits_{j = 1}^{N}{C_j \psi_j^{N}} }\right), \psi_k^{N}}\right) = \left({\psi_0^{N} + \sum\limits_{j = 1}^{N}{C_j \psi_j^{N}}, \hat{L} \psi_k^{N}}\right) = \\ = (\psi_0^{N}, \hat{L} \psi_k^{N}) + \sum\limits_{j = 1}^{N}{C_j (\hat{L}\psi_j^{N}, \psi_k^{N})} ; \\ (\psi_0^{N}, \hat{L} \psi_k^{N}) + \sum\limits_{j = 1}^{N}{C_j (\hat{L} \psi_j^{N}, \psi_k^{N})} = (f, \psi_k^{N}) \end{gather*} $$

    или в матричной форме:

    $$\begin{gather*} {\mathbf{AC}} = {\mathbf{\eta}}, a_{jk} = (\hat{L} \psi_j^{N}, \psi_k^{N}); \\ \eta_k = (f, \psi_k^{N}) - (\hat{L} \psi_0^{N}, \psi_k^{N}) = (f - \hat{L} \psi_0^{N}, \psi_k^N ). \end{gather*} $$

    Это же соотношение получается и при выводе системы уравнений для коэффициентов в методе Ритца.

    При вычислении скалярных произведений использовалась самосопряженность линейного дифференциального оператора $$\hat{L}.$$ Но при выводе соотношения (7.10) самосопряженность оператора не использовалась! Значит, метод Галеркина можно обобщать и на случай несамосопряженного (и нелинейного!) дифференциального оператора. При использовании в качестве базисных функций "функций - крышечек", введенных выше, получаем вариант МКЭ. Для задач (7.1) и (7.2) метод будет давать те же соотношения, что и метод Ритца.

    7.4. Пример построения схемы конечных элементов

    Для уменьшения числа выкладок считаем, что

    $$h_i = h_{i + 1} \equiv h \quad \mbox{для всех} \quad i (h_i \equiv x_i - x_{i - 1}).$$

    Рассмотрим несамосопряженный аналог задачи (7.1):

    $$\begin{gather*} - k(x)u^{\prime\prime}_x + q(x)u^{\prime}_x + p(x)u(x) = f(x), \\ u(0) = a; \quad u(1) = b; \\ k(x) \ge k_0 > 0; \quad p(x) \ge 0. \end{gather*} $$

    Найдем сопряженное уравнение:

    $$\begin{gather*} \int\limits_0^1 {(- ku^{\prime\prime} + qu^{\prime} + pu - f) \cdot vdx} = \\ = - ku^{\prime} \cdot v \left|\begin{array}{l} 1 \\ 0 \\ \end{array}\right. + \int\limits_0^1 {ukv^{\prime}dx} + quv \left|\begin{array}{l} 1 \\ 0 \\ \end{array}\right. - \int\limits_0^1 {u(qv) ^{\prime}dx} + \int\limits_0^1 {puvdx} - \int\limits_0^1 {fvdx} = \\ = \left\{\begin{array}{c} {\mbox{члены определяемые}} \\ {\mbox{граничными условиями}} \\ \end{array}\right\} - \int\limits_0^1 {fvdx} + \int\limits_0^1 {((kv) ^{\prime\prime} - qv^{\prime} + pv \cdot udx}. \end{gather*} $$

    Из этого соотношения легко получить условия, при которых $$\hat{L} \ne \hat{L}^*$$. Теперь запишем разложение по базису:

    $$u^{N} = \psi_0^{N} + \sum\limits_{j = 1}^{N}{C_j \psi_j^{N}} $$

    подставляем в исходное дифференциальное уравнение:

    $$\begin{gather*} - \left(k(x) {\left(\psi_0^{N} + \sum\limits_{j = 1}^{N} C_j \psi_j^{N}\right)}^{\prime\prime}_{xx}, \psi_k^{N}\right) + \left(q(x) {\left(\psi_0^{N} + \sum\limits_{j = 1}^{N}C_j \psi_j^{N}\right)}^{\prime}_x, \psi_k^{N}\right) \\ + \left({p(x) \left({\psi_0^{N} + \sum\limits_{j = 1}^{N}{C_j \psi_j^{N}} }\right), \psi_k^{N}}\right) = (f, \psi_k^{N}). \end{gather*} $$

    Рассмотрим отдельно каждое слагаемое в левой части:

    $$\begin{gather*} - \left(k(x) {\left(\psi_0^{N} + \sum\limits_{j = 1}^{N}C_j \psi_j^{N}\right)}^{\prime\prime}_{xx}, \psi_k^{N}\right) = \\ = - (k({\psi_0^{N}}_{xx}^{\prime\prime}), \psi_k^{N}) + \left(- k(x) \sum\limits_{j = 1}^{N} C_j({\psi_j^{N}}^{\prime\prime}_{xx}), \psi_k^{N}\right) = \\ = - (k({\psi_0^{N}}_{xx}^{\prime\prime}), \psi_1^{N}) - (k({\psi_0^{N}}_{xx}^{\prime\prime}), \psi_n^{N}) - \left(k(x) \sum\limits_{j = 1}^{N} C_j {\psi_j^{N}}^{\prime}_x , {\psi_k^{N}}^{\prime}_x \right) \end{gather*}$$

    Первые два слагаемые в правой части получаются в силу того, что носители базисных функций финитны. Последнее слагаемое в правой части получается интегрированием по частям. Зачем необходимо интегрирование по частям? На первый взгляд $$({\Psi^{N}_j})_{xx}^{\prime\prime} = 0$$. Но эта производная базисной функцииобобщенная функция, следовательно, в скалярных произведениях появятся $$\delta$$ - функции, при интегрировании возникнут сложности.

    В итоге после всех необходимых вычислений коэффициент перед Ck

    $$- C_{k - 1} \cdot k(x_{k - 1/2}) \frac{1}{h} + C_k \cdot k(x_k ) \frac{2}{h} - C_{k + 1} \cdot k(x_{k + 1/2}) \frac{1}{h}$$

    Функция k(x) считается кусочно - постоянной на соответствующих отрезках, можно использовать какую - либо другую аппроксимацию $$(k \varphi_j^{N})_x ^{\prime} $$, учитывая что k(x) — заданная функция.

    Первые два слагаемые в правой части (7.11) зависят от граничных условий и относятся к правой части системы уравнений для определения Ck.

    Рассмотрим теперь

    $$\begin{gather*} \left({q(x) \left({\psi_0^{N} + \sum\limits_{j = 1}^{N} {C_j \psi_j^{N}} }\right)^{\prime}_x , \psi_k^{N}}\right) = (q(x) {\psi_0^{N}}_x ^{\prime}, \psi_1^{N}) + (q(x){\psi_0^{N}}_x^{\prime}, \psi_n^{N}) + \\ + \sum\limits_{j = 1}^{N}{C_j (q(x){\psi_j^{N}}_x ^{\prime}, \psi_k^{N})}. \end{gather*} $$

    Коэффициенты при Ck будут следующие:

    $$- C_{k - 1} \cdot q(x_{k - 1/2}) \cdot \frac{1}{2} + C_k \cdot q(x_k ) \cdot 0 + C_{k + 1} \cdot q(x_{k + 1/2}) \cdot \frac{1}{2}$$

    Здесь опять предполагается, что функция q(x) кусочно - постоянная.

    Последнее слагаемое с p(x) дает выражение

    $$C_{k - 1} \cdot p(x_{k - 1/2}) \frac{h}{6} + C_k \cdot p(x_k) \frac{{4h}}{6} + C_{k + 1} \cdot p(x_{k + 1/2}) \frac{h}{6},$$

    т.е. при "плохом" способе вычисляемых интегралов фактически получаем конечно - разностное соотношение, похожее на аппроксимацию Нумерова.

    Вместе с тем, существует значительное отличие. Сеточная функция — это функция, заданная таблично. Решение (приближенное) МКЭ — это не сеточная функция, а элемент $$W_2^1$$.

    7.5. Построение базисных функций

    Математическая основа МКЭметод Галеркина и вариационный метод Ритца — развиваются, начиная со второго десятилетия XX века. Прогресс в МКЭ последних лет заключается именно в построении наборов базисных функций, обладающих достаточной гладкостью — так называемых согласованных базисов.

    Базис из "крышечек" в двумерном случае. Процесс построения базисных функции включает в себя:

  • триангуляцию области — разбиение на треугольники, каждый из которых является носителем своей базисной функции ;
  • построение базисных функций.
  • Требования к триангуляции (обозначения на рис. 7.3).

    (рис 7.3)
  • Между точками S и Sh с помощью нормалей к S устанавливается взаимно - однозначное соответствие, расстояние между соответствующими точками не превосходит $$\delta_1 h^2$$ ( h — сеточный параметр).
  • Длины сторон треугольников и их площади лежат в пределах [hl1, hl2] и $$[h^{2}\gamma _{1} , h^{2}\gamma _{2}]$$, где $$l_{1}, l_{2}, \gamma _{1}, \gamma _{2}$$ — положительные константы, не зависящие от h.
  • Существует непрерывное взаимно - однозначное преобразование Dh на область, границы которой параллельны осям координат, или составляют с ними угол $$\pi /4.$$ Преобразование линейно внутри каждого треугольника и переводит последний в равнобедренный прямоугольный треугольник с катетами, равными h.
  • Простейший пример построения триангуляции.

  • Область D вписываем в прямоугольник.
  • Строим в прямоугольнике равномерную сетку с шагом (рис 7.4)
  • Ближайшие к границе (рис 7.5)
  • Разбиваем четырехугольники внутри (рис 7.6)
  • Убираем все ячейки, пересечение которых с (рис 7.7)
  • (рис 7.8)

    Построение базисной функции — "крышечки". Фиксируем вершину P1 какого - либо треугольника. Составляем список соседей — вершин, принадлежащих треугольникам, имеющим вершину P1. Пусть в списке есть вершины Q1 и Q2, принадлежащие треугольнику 1 (рис. 7.8). В этом треугольнике представляем

    $$\varphi_1 (x, y) = \frac{{1 - \frac{{y - y_1}}{{y_2 - y_1}} - \frac{{x - y_2}}{{x_1 - y_2}}}}{{1 - \frac{{y_{P_1} - y_1}}{{y_2 - y_1}} - \frac{{x_{P_1} - y_2}}{{x_1 - y_2}}}}.$$

    Тогда для точки

    $$P_1 \psi_{P_1}^{N} (x, y) = \sum\limits_{k = 1}^6 {\varphi_k (x, y)}.$$

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

    $${\frac{{d^4 u}}{{dx^4 }} + au = f(x); x \in [0, X]}$$

    с какими - либо граничными условиями.

    Будем искать решение в соответствии с методами МКЭ:

    $${u^{N} = \psi_0^{N} + \sum\limits_{j = 1}^{N} {C_j \psi_j^{N}}, }$$

    где $$\psi_j^{N}$$ обладают финитным носителем. Подставляем разложение (7.13) в (7.12). Отвлекаясь от членов с граничными условиями, отнесенными к $$\psi_0^{N}$$, при умножении на $$\psi_{l}^{N}$$ имеем

    $$\begin{gather*} \left({\frac{d^4}{dx^4} \sum\limits_{j = 1}^{N}{C_j \psi_j^{N}}, \psi_{l}^{N}}\right) = \int\limits_0^{X}{\sum\limits_{j = 1}^{N}{C_j \frac{d^4 \psi_j^{N}}{dx^4} \psi_{l}^{N}} dx} = \\ = \int\limits_0^{X}{\sum\limits_{j = 1}^{N}{C_j \frac{d^2 \psi_j^{N}}{dx^2} \frac{d^2 \psi_{l}^{N}}{dx^2}} dx} = \left({\sum\limits_{j = 1}^{N}{C_j \frac{d^2 \psi_j^{N}}{dx^2}}, \frac{d^2 \psi_{l}^{N}}{dx^2}} \right) \times \\ \times {\left({\sum\limits_{j = 1}^{N}{C_j \frac{d^2 \psi_j^{N}}{dx^2}}, \frac{d^2 \psi_{l}^{N}}{dx^2}}\right) + a \left({\sum\limits_{j = 1}^{N}{C_j \psi_j^{N}}, \psi_{l}^{N}}\right) = \eta (x).} \end{gather*}$$

    Отсюда следует, чтобы первая сумма в (7.14) вычислялась, желательно, чтобы базисы $${\psi}_{l}^{N}$$ были гладкими:

    $$\begin{gather*} \psi_{l}^{N} \in W_2^2[0, X], \\ \| \psi_{l}^{N}\|_{W_2^2}^2 = \int\limits_0^{X}{\left[{(\psi_{l}^{N})^2 + \left({\frac{{d \psi_{l}^{N}}}{dx}}\right)^2 + \left({\frac{{d^2 \psi_{l}^{N}}}{{dx^2}}}\right)^2}\right]dx}, \end{gather*}$$

    а сходимость МКЭ следует понимать в норме $$W_2^2 [0, X].$$

    Примеры согласованных базисных функций. Если используется базис из "крышечек", то в каждом узле (при стыковке конечных элементов) решение МКЭ будет иметь разрыв первой производной. Это происходит из - за выбора базиса МКЭ. Сама искомая функция непрерывна.

    Допустим, необходимо найти решение, обладающее непрерывной первой производной.

    Строим набор функций базиса:

    $$\{\varphi_i(x) \}^{m}; m = \frac{{p + 1}}{2}; (p \mbox{ - нечетное положительное число}).$$

    Считаем, что размер конечного элемента равен 1. Для одномерной сетки всегда найдется линейное преобразование (свое для каждого элемента!), переводящее данный элемент в отрезок длины 1. Положим, что базисная функция есть

    $$\varphi_i (x) \equiv 0, \mbox{ если } x \notin [- 1;1],$$

    а на каждом отрезке [- 1;0] , [0;1] — полином степени p. В точках $$x = \pm 1$$ $$\varphi_i (x)$$ и все ее производные до порядка m - 1 равны нулю. В точке x = 0 $$\frac{{d^{i - 1} \varphi_i (x)}}{{dx^{i - 1}}} = 1.$$ Введем

    $$\varphi_{ij}^{h} (x) = \varphi_i \left({\frac{{x - a}}{h} - j}\right)$$

    (в случае равномерного разбиения отрезка на конечные элементы). Тогда $$\{\varphi_{ij}^{h}\}$$ j = 0, ..., N; i = 1, ..., m - базис.

    Рассмотрим случай $$p = 1$$. Тогда $$m = p = 1$$, на каждом отрезке функция линейна. Приходим к набору из "крышечек".

    Возьмем p = 3, тогда m = 2. Строим набор базисных функций.

    Фиксируем i = 1. На отрезках [- 1;0], [0;1] получаем полином степени 3.

    $$\varphi_1 (x) = a_0 + a_1 x + a_2 x^2 + a_3 x^3 (\mbox{на} [- 1;0]).$$

    Условия: $$\varphi^{\prime}_1 (- 1) = 0$$, $$\varphi_1 (0) = 1$$, $$\varphi_1 (- 1) = 0$$, $$\varphi^{\prime}_1 (0) = 0$$ определяют коэффициенты

    a0 = 1;   a1 = 0;   a2 = - 3;   a3 = - 2.

    В итоге на отрезке [- 1;0]

    $$\varphi_1 (x) = 1 - 3x^2 - 2x^3.$$

    Аналогично поступаем на отрезке [0;1], там имеем

    $$\varphi_1 (x) = 1 - 3x^2 + 2x^3.$$

    График базисной функции $$\varphi_1 (x)$$ представлен на рис. 7.9.

    (рис 7.9)

    Пусть теперь i = m = 2. Строим набор $$\varphi_2 (x)$$ такой, что

    $$\varphi_2 (x) = b_0 + b_1 x + b_2 x^2 + b_3 x^3.$$

    Из условий $$\varphi^{\prime}_2 (1) = 0, \varphi_2 (1) = 0, \varphi_2 (0) = 0, \varphi^{\prime}_2 (0) = 1$$ получается

    $$\varphi_2 (x) = (1 - x)^2 x \mbox{ при }0 \le x \le 1.$$

    Аналогично, $$\varphi_2 (x) = (1 - x)^2x$$ при $${- 1 \le x \le 0}$$. График функции изображен на рис. 7.10.

    (рис 7.10)

    Базис является согласованным, если для уравнения степени не выше p + 1 все базисные функции непрерывны (принадлежат Cm ).

    Что представляет собой метод Галеркина при использовании такого базиса? Теперь в точках сетки (межэлементных) необходимо знать не только функцию u, но и ее первую, вторую, ..., (m - 1) - ю производную по x:

    $$\begin{gather*} u^{h} = \sum\limits_{j = 1}^{N}{[u(a + jh) \varphi_{1j}^{h} (x) + u^{\prime}_x (a + jh) \varphi_{2j}^{h} (x)]}, \\ u^{h} = \sum\limits_{j = 1}^{N}{(c_j \psi_{1j}^{N} + b_j \varphi_{2j}^{N} (x)]}. \end{gather*} $$

    Отметим, что u(a + jh) и u'x(a + jh) определяются численно при решении уравнений методом Галеркина.

    Увеличилось число базисных функций и коэффициентов разложения.

    Заметим также, что матрица системы — разреженная, но уже не трехдиагональная (если порядок системы выше второго).

    (рис 7.11)

    Согласование в двумерном случае. Надо сшивать следующие величины (рис. 7.11): 18 величин в узлах плюс $$3$$ значения нормальных производных на гранях.

    Получается 21 условие, значит необходимо иметь 21 произвольную константу. Полином должен иметь достаточно высокую степень (члены до x5, y5 ). Поэтому в многомерном случае, как правило, используются несогласованные базисные функции или с низким (m = 1) порядком согласования.

    7.6. МКЭ для нестационарных уравнений

    Рассмотрим простейшую МКЭ - аппроксимацию уравнения теплопроводности:

    $$\frac{{\partial}u}{{\partial}t} = D \frac{{{\partial}^2 u}}{{{\partial}x^2}}$$

    с соответствующими граничными и начальными условиями. Будем искать решение в виде

    $$u = \sum\limits_{j = 1}^{N}{C_j (t) \psi_j^{N}}.$$

    Используя подход Галеркина, получаем (в базисе из "крышечек")

    $$\frac{1}{6} \frac{{dC_{j - 1}}}{dt} + \frac{2}{3} \frac{{dC_j }}{dt} + \frac{1}{6} \frac{{dC_{j + 1}}}{dt} = \frac{D}{{h^2}}(C_{j - 1} - 2C_j + C_{j + 1}).$$

    Это — система дифференциально - разностных уравнений. Теперь необходимо заменить производные по времени разностными отношениями.

    Заметим, что "явная" схема (когда в правой части стоят коэффициенты разложения на предыдущем слое по времени $$C_j^{n}$$ ) уже не является явной, в соответствии с определением явных методов, данном выше:

    $$\frac{1}{6} \frac{{C_{j - 1}^{n + 1} - C_{j - 1}^{n}}}{\tau} + \frac{2}{3} \frac{{C_j^{n + 1} - C_j^{n}}}{\tau} + \frac{1}{6} \frac{{C_{j + 1}^{n + 1} - C_{j + 1}^{n}}}{\tau} = \frac{D}{{h^2}}(C_{j - 1}^{n} - 2C_j^{n} + C_{j + 1}^{n} )$$

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

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

    $$C_j^{n} = {\lambda}^{n}e^{ij {\varphi}},$$

    получаем выражение для спектра оператора послойного перехода $$\lambda(\varphi):$$

    $$\frac{{{\lambda} - 1}}{6}[e^{i {\varphi}} + 4 + e^{- i {\varphi}} ] = k[e^{i {\varphi}} + 2 + e^{- i {\varphi}}],$$

    где $$k = D \frac{\tau}{h^2}.$$ Отсюда видно, что устойчивость метода конечных элементов опять определяется безразмерной комбинацией параметров разбиения (размера конечного элемента, шага по времени) и коэффициента теплопроводности — параболическим аналогом числа Куранта. Преобразуем уравнение для $$\lambda:$$

    $$\begin{gather*} \frac{{\lambda}- 1}{6} = \frac{{k(2 \cos {\varphi}- 2)}}{{4 + 2 \cos {\varphi}}}, \\ {\lambda} = 1 - 6k \frac{{\cos {\varphi} - 1}}{{\cos {\varphi}+ 2}}, \mbox{ откуда условием устойчивости будет } k \le \frac{1}{6}. \end{gather*}$$

    Имеет смысл пользоваться "неявной схемой" (правая часть берется с верхнего слоя по времени) или аппроксимацией типа Кранка - Никольсон.

    Продолжим рассмотрение применения МКЭ к нестационарным уравнениям. Как и ранее, смотрим задачу для уравнения теплопроводности

    $$\frac{{\partial}u}{{\partial}t} = D \frac{{{\partial}^2 u}} {{{\partial}x^2}}.$$

    Выбирая базис из "крышечек", представляем решение в виде

    $$u = \sum\limits_{j = 1}^{N}{C_j (t) \psi_j^{N}}.$$

    Подставляя последнее уравнение в исходное и применяя стандартную процедуру метода Галеркина, получаем систему дифференциальных уравнений

    $$\frac{1}{6} \frac{{dC_{j - 1}}}{dt} + \frac{2}{3} \frac{{dC_j }}{dt} + \frac{1}{6} \frac{{dC_{j + 1}}}{dt} = \frac{D}{{h^2}}(C_{j - 1} - 2C_j + C_{j + 1})$$

    (шаг сетки считается постоянным), или, в матричном виде

    $${{\mathbf{B}} \frac{d{\mathbf{C}}}{dt} = \frac{D}{{h^2}}{\mathbf{AC}}.}$$

    При этом, в любом базисе

    $${\mathbf{B}} = {\mathbf{B}}^* > 0, \quad {\mathbf{A}} = {\mathbf{A}}^* > 0.$$

    Тогда

    $$\exists {\mathbf{B}}^{1/2} : \quad {\mathbf{B}}^{1/2}{\mathbf{B}}^{1/2} = {\mathbf{B}}.$$

    Матрица $${\mathbf{B}}^{1/2}$$ - самосопряженная положительно определенная. Можно записать последнее уравнение (7.15) в виде

    $${\mathbf{B}}^{1/2}{\mathbf{B}}^{1/2} \frac{{d{\mathbf{C}}}}{dt} = \frac{D}{{h^2}}{\mathbf{AB}}^{- 1/2}{\mathbf{B}}^{1/2}{\mathbf{C}}. $$

    Введем вектор $${\mathbf{z}} \equiv {\mathbf{B}}^{- 1/2}{\mathbf{C}}$$ и умножим последнее соотношение слева на $${\mathbf{B}}^{- 1/2}$$, тогда получаем

    $${{\mathbf{B}}^{1/2} \frac{{d{\mathbf{z}}}}{dt} = \frac{D}{{h^2}}{\mathbf{B}}^{- 1/2}{\mathbf{AB}}^{- 1/2}{\mathbf{z}} = \frac{D}{{h^2}}{\mathbf{P}}{\mathbf{z}}.}$$

    Таким образом, из неявной системы (7.15) получена "явная" система (7.16) — перед вектором производных нет матричного множителя.

    Запишем для (7.16) схему Кранка - Николсон:

    $${{\mathbf{z}}^{n + 1} - {\mathbf{z}}^{n} = \frac{{D {\tau}}}{{2h^2}}{\mathbf{B}}^{- 1/2}{\mathbf{AB}}^{- 1/2} ({\mathbf{z}}^{n + 1} + {\mathbf{z}}^{n}).}$$

    Вопрос об устойчивости схемы (7.17) можно решить следующим образом. Умножим (7.17) на $${\mathbf{z}}^{n + 1} + {\mathbf{z}}^{n} $$. Получаем соотношение:

    $$\begin{gather*} ({\mathbf{z}}^{n + 1}, {\mathbf{z}}^{n + 1}) - ({\mathbf{z}}^{n}, {\mathbf{z}}^{n}) = \frac{{\sigma}}{2}({\mathbf{B}}^{- 1/2} {\mathbf{AB}}^{- 1/2} ({\mathbf{z}}^{n + 1} + {\mathbf{z}}^{n}), ({\mathbf{z}}^{n + 1} + {\mathbf{z}}^{n}));\\ \|{\mathbf{z}}^{n + 1}\|^2 = \|{\mathbf{z}}^{n}\|^2 + \frac{{\sigma}}{2}({\mathbf{P}}({\mathbf{z}}^{n + 1} + {\mathbf{z}}^{n}), ({\mathbf{z}}^{n + 1} + {\mathbf{z}}^{n})) \le \|{\mathbf{z}}^{n}\|^2 - \frac{{{\sigma}{\lambda}}}{2} \|{\mathbf{z}}^{n + 1} + {\mathbf{z}}^{n}\|^2 \end{gather*}$$

    в силу того, что $${\mathbf{A}} < 0 $$ (спектр оператора $${\mathbf{A}} $$ уже известен). Последнее неравенство и означает безусловную устойчивость метода.

    7.7. Решение нелинейных уравнений с помощью МКЭ

    Рассмотрим в качестве простейшего примера уравнение Хопфа

    $${\frac{{\partial}u}{{\partial}t} + 6u \frac{{{\partial}\mboxit{u}}}{{{\partial}\mboxit{x}}} = 0.}$$

    Его решение, как и ранее, ищем в виде (7.14), при этом по - прежнему используем базис из "крышечек". После вычислений получаем

    $${\frac{1}{6} \frac{{dC_{j - 1}}}{dt} + \frac{2}{3} \frac{{dC_j }}{dt} + \frac{1}{6} \frac{{dC_{j + 1}}}{dt} - C_{j - 1}^2 - C_j C_{j - 1} + C_j C_{j + 1} + C_{j + 1}^2 = 0.}$$

    Если написать дискретизацию (7.19) неявным образом (по величинам на n + 1 - м слое по времени или по аналогии со схемой Кранка - Николсон), то получается нелинейная относительно $$C_j^{n + 1} $$ система. Ее необходимо решать с помощью метода Ньютона. Можно линеаризовать (7.19) в окрестности $$C_j^{n} $$, считая, что

    $$C_j^{n + 1} \approx C_j^{n} + {\tau} \frac{dC_j }{dt}.$$

    Тогда (7.19) преобразуется в следующую линейную относительно величин на n + 1 - м слое по времени запись:

    $$\begin{gather*} \frac{1}{6} \frac{{C_{j - 1}^{n + 1} - C_{j - 1}^{n}}}{\tau} + \frac{2}{3} \frac{{C_j^{n + 1} - C_j^{n}}}{\tau} + \frac{1}{6} \frac{{C_{j + 1}^{n + 1} - C_{j + 1}^{n}}}{\tau} - (C_{j - 1}^{n})^2 - \\ - 2C_{j - 1}^{n}C_{j - 1}^{n + 1} - C_j^{n}C_{j - 1}^{n} - C_j^{n} C_{j - 1}^{n + 1} - C_j^{n + 1} C_{j - 1}^{n} + \\ + C_j^{n} C_{j + 1}^{n} + C_j^{n} C_j^{n + 1} + C_j^{n} C_{j + 1}^{n + 1} + (C_{j + 1}^{n})^2 + 2C_{j + 1}^{n}C_{j + 1}^{n + 1} = 0. \end{gather*}$$

    Эту систему можно решать, используя метод немонотонной прогонки — гибрид метода прогонки и алгоритма Гаусса с выбором ведущего элемента.

    Возможен и другой подход — линеаризация исходного уравнения (7.18) и решение получившейся последовательности линейных уравнений для определения приближенного решения задачи.

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

    7.8. Задачи для самостоятельного решения

  • При решении задачи с использованием метода Ритца на отрезке [0, 4] используются глобальные базисы
  • $$\frac{x}{4}, x(4 - x), x(16 - x^2), \ldots , x(4^{N} - x^{N});$$
  • $$\frac{x}{4}, x(4 - x), x^2 (4 - x), \ldots , x^{N} (4 - x); $$
  • $$\frac{x}{4}, \frac{x}{4} \left({1 - \frac{x}{4}}\right), \frac{x}{4} \left({1 - \frac{{x^2}}{{16}}}\right), \ldots , \frac{x}{4} \left({1 - \frac{{x^{N}}}{{4^{N}}}}\right).$$
  • Описать достоинства и недостатки каждого из этих базисов.

    Вернуться к учебному плану