E2: Интегрирование уравнений в
частных производных типа реакция-диффузия при помощи python/numpy
27 января, среда, 1000
Ведущий: к.ф.-м.н.
А.М. Нестеренко (НИИФХБ им. А.Н. Белозерского МГУ)
Аннотация
Уравнения типа реакция-диффузия
относятся к классу краевых задач и для их интегрирования используются
нетривиальные алгоритмы. Алгоритмы интегрирования систем дифференциальных
уравнений в частных производных хорошо разработаны и изложены в различных
статьях и монографиях по вычислительной математике. В настоящем практическом
занятии мы последовательно реализуем несколько вариантов метода конечных
разностей различной сложности. Все алгоритмы мы будем реализовывать
исключительно в матричной форме, поэтому одновременно участники смогут
научиться работать с инструментарием линейной алгебры, предоставляемым пакетами
numpy/scipy.
Мы начнем с определения шаблона
дискретизации одно- и двухмерного лапласианов, научимся применять дискретный
фильтр Лапласа к изображениям и визуализировать результаты. Затем мы реализуем
чисто-диффузионную явную схему с использованием дискретного шаблона лапласиана.
И, наконец, мы реализуем неявную одно- и двухмерную схему для интегрирования
реакционно-диффузионной системы с использованием функционала линейной алгебры.
Программа
- Теоретическая лекция о различных
вариантах решения УрЧП методом конечных разностей: от явной схемы до метода
переменных направлений (30 мин)
- Python для расчетов линейной
алгебры, работа с матрицами, работа с разреженными матрицами (30 мин)
- Дискретизация лапласиана:
применение для Гауссова размытия (30 мин)
- Интегрирование системы
реакционно-диффузионных (РД) уравнений в явной схеме с дискретным лапласианом
(30 мин)
- Реализация неявной схемы и ее
применение (30 мин)
Требования
Необходимо знание Python или посещение
мастер-класса по базовому Python (E1). При себе необходимо иметь ноутбук с
*nix-подобной ОС. Установка python — см. в комментариях к мастерклассу E1.
Обязательно иметь установленный набор библиотек scipy.
Для пользователей с
Windows: использование Windows не рекомендовано, но и не
запрещено. В инструкциях к мастерклассу E1 вы найдете, как установить весь
тулчейн для работы с Python на Windows.
|