FreeFem++ Лекция 1
.pdfПрограммная реализация численного решения задач математической физики с использованием метода конечных элементов в freefem++
Занятие №1
1. Некоммерческое ПО, реализующее МКЭ
Пакеты и библиотеки, ориентированные на решение широких классов задач:
Elmer: http://www.csc.fi/english/pages/elmer; freefem++: http://www.freefem.org/;
GetDp: http://geuz.org/getdp/;
Code_Aster: http://www.code-aster.org/V2/; Deal.ii: http://www.dealii.org/;
GetFem++: http://home.gna.org/getfem/; LibMesh: http://libmesh.sourceforge.net/; OpenFEM: http://www-rocq.inria.fr/OpenFEM/.
2. Некоммерческое ПО, реализующее МКЭ
Пакеты и библиотеки, ориентированные на решение задач из конкретных областей:
Gerris: http://gfs.sourceforge.net/;
FeatFlow: http://www.featflow.de/;
LifeV: http://www.lifev.org/;
FETK: http://www.fetk.org/;
Impact: http://impact.sourceforge.net/.
3. Что такое freefem++?
freefem++ – программное обеспечение для численного решения задач математической физики методом конечных элементов. Основными разработчиками выступают сотрудники лаборатории им. Ж.-Л. Лионса института П. и М. Кюри (Париж).
Официальный сайт: http://www.freefem.org/
История:
1985 – PCFEM,
1990 – freefem,
1995 – freefem++,
10.02.2010 – freefem++ v. 3.8.
4. Достоинства и недостатки
Основные достоинства:
1.Относится к OpenSource ПО.
2.Кросс-платформенное ПО.
3.Разработан для применимости к широким классам задач математической физики. Использование метода БубноваГалёркина.
4.Достаточно подробная документация и наличие большого числа примеров.
5.Собственные средства визуализации результатов расчетов, совместимость с gnuplot и medit.
Недостатки:
1.Применим для решения только тех задач, которые допускают слабую (weak) формулировку.
2.Эффективно применим только для решения двумерных задач.
3.Использует собственный язык программирования.
5. Установка
freefem++ (ff++) v. 3.8 for Windows: http://www.freefem.org/ff++/ftp//FreeFem++-3.8.exe
Crimson Editor (CE) 3.72 release: http://sourceforge.net/projects/emeraldeditor/files/
После установки открыть в CE Tools/Preferences/File/Association и добавить поддержку формата *.edp. В File/User Tools в Menu Text указать
FreeFem++, в Command поставить ссылку на исполняемый файл FreeFem++.exe (находится в папке, в которую Вы установили ff++), в Argument указывается $(FilePath), в Initial Dir $(FileDir) и можно указать
«горячие клавиши», которыми исполняемый файл будет вызываться.
Для выделения основных команд цветом распаковать архив crimsonfreefem++.zip (находится в папке, в которую установлен ff++) и скопировать все находящиеся в нем папки в директорию, в которую
установлен CE.
6. Рабочая среда
7. Этапы решения задачи
1.Задание геометрической формы области.
2.Построение сетки.
3.Выбор типа конечных элементов.
4.Численное решение задачи в слабой формулировке на сетке.
5.Вывод результатов.
8. Задание геометрической формы области
Основные особенности:
1.Задание осуществляется параметрически.
2.Можно задавать границу посредством «склейки» кусков границы, каждый из которых задается отдельно.
border имя_границы_или_куска_границы (диапазон_изменения_параметра) { диапазон_изменения x; диапазон_изменения y; метка_границы (label=); }
9. Пример 1. Граница в форме эллипса, задаваемая одним куском
border Ellipse(t=0,2*pi){x=4*cos(t); y=2*sin(t); }; plot(Ellipse(100),ps="Ellipse.eps");