Дифференциальные уравнения

Метод конечных элементов

1956 год, Boeing 707. Команда Рэя Клафа в Berkeley и Джона Аргириса в Штутгарте независимо изобретают способ считать напряжения в крыле, разбивая его на миллионы простых элементов и сшивая решения через слабую формулировку. Через 4 года Клаф впервые произносит 'finite element method'. С тех пор каждый расчёт прочности моста, каждая симуляция автомобильного краш-теста, каждая модель растекания крови в аневризме (ANSYS Fluent, Abaqus, COMSOL) - это та же идея 1956 года. МКЭ - один из 10 самых влиятельных вычислительных алгоритмов XX века.

  • Аэроупругость: расчёт деформации крыла самолёта под аэродинамической нагрузкой
  • Биомеханика: напряжения в костях и имплантатах при нагрузке
  • Электромагнетизм: численное решение уравнений Максвелла в сложных геометриях
  • Геомеханика: расчёт оседания грунта под строительными конструкциями
  • Нейтронная физика: расчёт нейтронных потоков в ядерных реакторах

Цели урока

  • Выводить слабую формулировку краевой задачи умножением на тест-функцию и интегрированием по частям
  • Строить матрицу жёсткости $K$ и вектор нагрузки для задачи Пуассона методом Галёркина
  • Использовать FEniCS для численного решения PDE на произвольных областях

Предварительные знания

  • Краевые задачи для ODE и интегрирование по частям
  • Пространства Соболева $H^1_0$: слабые производные
  • Линейная алгебра: разреженные матрицы, прямые решатели

Слабая формулировка задачи Пуассона

Задача: $-\Delta u = f$ в $\Omega$, $u = 0$ на $\partial\Omega$. Умножаем на тест-функцию $v \in H^1_0$ и интегрируем: $\int_\Omega \nabla u \cdot \nabla v\,dx = \int_\Omega f v\,dx$ (после интегрирования по частям и применения граничного условия). Слабое решение $u \in H^1_0$, удовлетворяющее этому уравнению для всех $v$, существует и единственно (теорема Лакса-Мильграма).

Метод Галёркина и матрица жёсткости

Аппроксимируем $u_h = \sum_j u_j \phi_j$, где $\phi_j$ - базисные функции (кусочно-линейные 'шляпочные' функции). Подставляя, получаем: $K_{ij} = \int_\Omega \nabla\phi_i \cdot \nabla\phi_j\,dx$ (матрица жёсткости), $F_i = \int_\Omega f\phi_i\,dx$ (вектор нагрузки). Задача: $Ku = F$ - разреженная СЛАУ.

Слабая постановка задачи

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

Пример: уравнение -u''(x) = f(x) на [0,1] с u(0)=u(1)=0. Умножаем на v(x) и интегрируем: ∫₀¹ u'v' dx = ∫₀¹ fv dx для всех тестовых v.

Пространство H¹₀ - функции с квадратично-интегрируемой производной и нулевыми граничными условиями. Это пространство Соболева - ключевой объект теории МКЭ.

Интеграция по частям переносит производную с u на тестовую функцию v. Это снижает требования гладкости к u - именно поэтому МКЭ работает с кусочно-линейными функциями.

Зачем при слабой постановке интегрируют по частям?

Метод Галёркина

Идея Галёркина: заменить бесконечномерное пространство H¹₀ конечномерным Vₕ, натянутым на базисные функции φ₁,...,φₙ. Ищем uₕ = Σ cᵢφᵢ такое, что a(uₕ,φⱼ) = L(φⱼ) для всех базисных функций φⱼ.

Матрица жёсткости K симметрична (Kᵢⱼ = Kⱼᵢ) и положительно определена для задачи Пуассона. Это даёт существование и единственность решения по теореме Лакса-Мильграма.

Ключевое свойство: проекция Галёркина даёт наилучшее приближение в пространстве Vₕ в норме энергии. Ошибка ортогональна пространству Vₕ: a(u−uₕ, vₕ) = 0 для всех vₕ ∈ Vₕ.

Что такое матрица жёсткости K в методе Галёркина?

Базисные функции-шляпки

Самый простой выбор базиса - кусочно-линейные функции-шляпки φᵢ(x). Каждая функция равна 1 в узле xᵢ, 0 во всех других узлах и линейна между узлами.

Компактный носитель шляпных функций даёт разреженную матрицу K - каждая строка имеет не более 3 ненулевых элементов (для 1D задачи). Это главное вычислительное преимущество МКЭ.

Порядок точности кусочно-линейных элементов: ошибка ‖u−uₕ‖H¹ = O(h). Для кусочно-квадратичных (P2) элементов - O(h²). МКЭ высших порядков (p-refinement) могут достигать экспоненциальной сходимости для гладких задач.

Курант, Аргирис и рождение МКЭ (1943-1956)

Идею кусочно-полиномиальных пробных функций для слабой формы Курант сформулировал ещё в 1943 году в малозамеченной статье «Variational methods for the solution of problems of equilibrium and vibrations». Реальное рождение метода - 1950-е, проект Boeing 707. Аргирис (Штутгарт) и Тёрнер/Клаф (Berkeley + Boeing) независимо построили схему для расчёта напряжений в крыле. Термин «finite element method» придумал Рэй Клаф в 1960. Сегодня каждый ANSYS-расчёт прочности моста или раскачивания небоскрёба в шторм - прямой потомок этих работ.

МКЭ стал основой инженерного CAE-софта (ANSYS, Abaqus, COMSOL, NASTRAN) на десятки миллиардов долларов индустрии.

Почему матрица жёсткости K для МКЭ с шляпными функциями разрежена?

Сборка системы и FEniCS

На практике матрица K и вектор f собираются поэлементно. Для каждого элемента [xᵢ,xᵢ₊₁] вычисляется локальная матрица жёсткости 2×2, затем она добавляется в глобальную K.

МКЭ применяется в: CAD/CAE (ANSYS, Abaqus, SolidWorks Simulation) - анализ напряжений, вибраций; EM-симуляция (COMSOL, CST) - антенны, волноводы; Physics-Informed Neural Networks (PINN) используют слабую форму как loss-функцию.

Что происходит на шаге «сборки» (assembly) в МКЭ?

Сборка матрицы жёсткости на 1D сетке

Для равномерной сетки с шагом $h$: $K_{ii} = 2/h$, $K_{i,i\pm 1} = -1/h$ - трёхдиагональная матрица. Решение даёт кусочно-линейную аппроксимацию $u_h$ с ошибкой $O(h^2)$ в $L^2$ и $O(h)$ в $H^1$.

Итоги

  • Слабая формулировка: умножение на $v \in H^1_0$ + интегрирование по частям; существование/единственность через Лакса-Мильграма
  • Метод Галёркина: аппроксимация $u_h = \sum u_j \phi_j$ сводит PDE к $Ku = F$ с разреженной матрицей жёсткости
  • Ошибка $O(h^2)$ в $L^2$ и $O(h)$ в $H^1$; FEniCS автоматизирует сборку и решение

Связанные темы

МКЭ соединяет теорию PDE, линейную алгебру и инженерные приложения:

  • Метод конечных разностей — FD - частный случай МКЭ на регулярной сетке. На квадратной сетке P1-МКЭ даёт ровно тот же 5-точечный шаблон лапласиана, что и FD (см. de-12).
  • Уравнение Лапласа — Самый частый источник задач для МКЭ: -∇²u=f с условиями Дирихле. Слабая форма ∫∇u·∇v=∫fv напрямую переходит в Ku=F (de-09).
  • Численные методы для ОДУ — В задачах с временем (метод Ротэ): сначала Crank-Nicolson или RK по t, на каждом шаге - МКЭ-задача по пространству (de-11).
  • Нелинейные ОДУ — Для нелинейных PDE: цикл Ньютона снаружи, на каждой итерации решается линейная МКЭ-задача (de-14).

Вопросы для размышления

  • Почему слабое решение может существовать при условиях на правую часть $f \in L^2$, а классическое требует большей гладкости $f \in C^0$?
  • Как матрица жёсткости изменится при использовании элементов второго порядка (квадратичных) вместо линейных?
  • МКЭ даёт ошибку $O(h^2)$ в $L^2$. При каких условиях на сетку и уравнение это гарантируется?

Связанные уроки

  • nm-14
Метод конечных элементов

0

1

Войти