Показаны сообщения с ярлыком Численные методы. Показать все сообщения
Показаны сообщения с ярлыком Численные методы. Показать все сообщения

среда, 29 июня 2016 г.

Универсальные среды для расчётов и прототипирования (замена Matlab)

Помимо специализированных пакетов описанных выше, есть также свободное ПО для «быстрого и лёгкого» программирования расчётов. Производительность в этом случае обычно приносится в жертву лёгкости программирования и широким функциональным возможностям (универсальности). Приспособить их можно и для решения уравнений в частных производных. Из таких универсальных сред я хочу упомянуть:
Python
Просто удобный язык программирования, но в комбинации с возможностями NumPy/SciPy, графическими возможностями matplotlib (pylab) или VTK/MayaVi, вместе с библиотекой PySparse для работы с разреженными матрицами, многими библиотеками для численных расчётов, удобством интерпретируемого языка программирования и интерактивной оболочкой ipython — на сегодня Python это уже довольно серьёзный инструмент вычислителя. Мне нравится вот эта быстрая вводная книжка по его использованию: Practical Scientific Computing in Python. Для решения УрЧП можно использовать GetFEM++, Dolfin/FEniCS или FiPy.
Scilab
Свободная альтернатива Matlab. Активно развивается и спонсируется. Много возможностей. Для решения УрЧП есть OpenFEM.
Octave
Вроде как позиционируется в качестве замены Мatlab, но вот с решением уравнений в частных производных как-то тихо. Я нашёл только очень простенький FEMOCTAVE. В будущем обещают прикрутить решатель из FEniCS.
Хочу, однако, заметить, что если цель стоит именно в решении уравнений в частных производных, и метод нужно написать быстро, то стоит обратить внимание на неуниверсальные, но гибкие и лёгкие в использовании:
  • FreeFEM++/FreeFEM3D
  • GetDP
  • Gerris
Если же программирование задачи надо исключить или свести к минимуму, могут пригодится «графические» среды (я, в данный момент, не могу ничего сказать об их гибкости/эффективности):
  • Elmer
  • Impact
На этом я заканчиваю этот обзор. Я намеренно исключил из обзора программное обеспечение предназначенное для других классов задач. Например, про что я знаю мало и рассказать не могу про R (статистика), среды для символьных вычислений, ПО для анализа и обработки изображений, ПО для кластерного анализа и распознавания образов, ПО для анализа генетических последовательностей (список можно продолжать). Буду рад поставить ссылки на соответствующие обзоры.

Смотрите также:

☙ Сравнение программ для построения научных графиков

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

Переходим к решению собственно систем уравнений в частных производных. Три наиболее используемых математических метода: метод конечных элементов, метод конечных объёмов и метод конечных разностей. 


Именно так я и сгруппирую программные пакеты: по типу реализованного математического метода. После имени пакета указаны его основные особенности, такие как размерность задачи на которую он рассчитан или язык программирования с которым он может применяться.

воскресенье, 27 декабря 2015 г.

Обзор свободных программ для численных расчётов

Хочу предложить небольшой обзор свободного программного обеспечения для численных расчётов. Прежде всего для решения систем уравнений в частных производных (УрЧП). Решать их нужно во многих инженерных и начных областях (в гидродинамике, теории упругости, теплопроводности, электромагнетизме и других). К счастью, в этой области написано много качественных свободных программ. И учитывая, что GNU/Linux — сегодня главная платформа для численных расчётов, это неудивительно. К сожалению, не все, кому приходится впервые сталкиваться с численными расчётами знают об этих программах. Чаще всего на слуху пара названий коммерческих продуктов с закрытым исходным кодом, ограниченными возможностями расширения и астрономической ценой. Этим мини-обзором я хочу исправить такую ситуацию и рассказать о свободных программах. Я надеюсь, этот обзор будет полезен тем, кто начинает заниматься численными расчётами и ищет подходящее программное обеспечение.

понедельник, 25 мая 2015 г.

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


Содержание

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