Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

FreeFem++ Лекция 1

.pdf
Скачиваний:
108
Добавлен:
21.03.2016
Размер:
622.67 Кб
Скачать

20. Пример 9. Подвижная сетка

mesh имя_сетки = movemesh(имя_сетки_которая_cдвигается, [x_компонента_вектора_смещения, y_компонента_вектора_смещения]);

real x0=0, x1=10, y0=0, y1=2; border B1(t=x0,x1){x=t;y=y0;}; border B2(t=y0,y1){x=x1;y=t;}; border B3(t=x1,x0){x=t;y=y1;}; border B4(t=y1,y0){x=x0;y=t;};

mesh Thm=square(10,10, [x0+(x1-x0)*x, y0+(y1-y0)*y] ); plot(Thm);

func u = 0; func v = 0.25*x; Thm=movemesh(Thm, [x+u, y+v]); plot(Thm);

21. Сохранение и импорт сеток

savemesh(имя_сетки,“имя_файла.msh”);

mesh имя_сетки=readmesh(“имя_файла.msh”);

border A1(t=0,2*pi){x=16*cos(t); y=9*sin(t);} border A2(t=0,2*pi){x=9*cos(t); y=4*sin(t);} mesh Th=buildmesh(A1(50)+A2(-50)); savemesh(Th,"save.msh");

mesh Th2=readmesh("save.msh");

22. Задание класса сеточных функций

Определение класса сеточных функций на конечно-элементной сетке:

fespace имя_класса(имя_сетки,тип_КЭ);

Задается только после построения сетки!

Пример:

border A1(t=0,2*pi){x=16*cos(t); y=9*sin(t);}; border A2(t=0,2*pi){x=9*cos(t); y=4*sin(t);} mesh Th2=buildmesh(A1(50)+A2(-50)); fespace V(Th,P1);

Создастся класс сеточных функций V, заданных на сетке Th c конечными элементами типа P1.

23. Типы конечных элементов

P0 – конечные элементы с разрывными базисными функциями нулевой степени (т.е. сеточная функция аппроксимируется кусочно-постоянной);

P1 – симплексные конечные элементы с непрерывными линейными базисными функциями;

P1dc – симплексные конечные элементы с разрывными линейными базисными функциями (т.е. сеточная функция аппроксимируется кусочно-линейной);

P1b – симплексные конечные элементы с непрерывными линейными базисными функциями “with bubble”;

P2 – комплексные конечные элементы с непрерывными квадратичными базисными функциями;

P2b – комплексные конечные элементы с непрерывными квадратичными базисными функциями “with bubble”;

P2dc – комплексные конечные элементы с разрывными квадратичными базисными функциями (т.е. сеточная функция аппроксимируется кусочно-квадратичной);

24. Задание и алгебра сеточных функций

имя_класса_сеточных_функций имя_сеточной_функции;

Пример: V f; - создается сеточная функция f класса V

Операции:

V f,g,h;

h=f+g; поузловое сложение h=f-g; поузловое вычитание h=f*g; поузловое умножение h=f/g; поузловое деление

25. Пример 10. Сложение сеточных функций

border A1(t=0,2*pi){x=16*cos(t); y=9*sin(t);}; border A2(t=0,2*pi){x=9*cos(t); y=4*sin(t);} mesh Th2=buildmesh(A1(500)+A2(-500)); fespace V(Th2,P1);

V f,g,h; f=x^2+y^2; g=-x^2-y^2; h=f+g;

График f

График h

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]