Программирование МКЭ в МATLAB. Даутов P.З. - 55 стр.

UptoLike

Составители: 

2.4. Учет краевых условий. Формирование системы МКЭ. 55
np nt tassemba tassemban
697 1298 0 .015625 3 . 281 3
2652 5112 0 . 0 7 8 1 2 5 12 .9 6 9
16459 32438 0 . 5 6 2 5 82 . 06 3
Несмотря на не высокую точность замера времени выполнения по
CPU, можно уверенно говорить о пользе векторизации при програм-
мировании в MatLab.
2.4. Учет краевых условий. Формирование системы МКЭ.
Способ задания краевых условий. Способ задания краевых усло-
вий, принятый в pde toolbox , тесно связан с графическим приложе-
нием pdetool, в котором можно определить как геометрию области,
так и краевые условия. Это приложение позволяет решать не толь-
ко скалярные уравнения, но и системы уравнений, что и определяет
сложность задания краевых условий. Для нашей модельной задачи
мы примем решение, которое мотивируется следующими соображе-
ниями: части границы Γ
0
и Γ
1
являются объединениями граничных
сегментов (целиком), номера которых которых прописаны в файле
или матрице, определяющей геометрию; с каждым таким сегментом
связывается либо функция u
D
(определяющее краевое условие Дири-
хле), либо пара функций (σ, µ) (определяющее краевое условие 3-го
рода). В связи с этим будем определять условия на Γ
0
и Γ
1
раздельно.
Пусть Γ
0
не пусто и является объединением d граничных сегмен-
тов с номерами (i
1
, i
2
, . . . , i
d
). На всех сегментах функция u
D
может
определяться одной формулой или d формулами (возможно разны-
ми для разных сегментов). Будем считать, что u
D
задается так, как
это описано в пунктах 1-4 секции 2.2, с. 49, для коэффициентов урав-
нения. Таким образом, информация об условиях Дирихле задается
строкой
bsD=[i_1 , i _2 , \ l d o t s , i_d ] ,
а также строкой, постоянной или указателем на m-функцию:
uD=' f 1 ! f2 ! . . . ! fd' ; | uD=' f ' ; | uD=c ; | uD=@f ; | uD=@( x , y , sd l ) . . . ;
Здесь формула f1 соответствует сегменту i
1
, f2 соответствует i
2
и
т.д., c = const. Способ вполне ясный и удобный, но нужно помнить,
что теперь sdl имеет “локальные” номера 1, 2, . . . , d.
2.4. Учет краевых условий. Формирование системы МКЭ.                                                 55


   np        nt        tassemba          tassemban
  697      1298        0 .015625          3 .2813
 2652      5112        0 .078125          12 . 9 6 9
16459     32438           0 .5625         82 . 0 6 3

Несмотря на не высокую точность замера времени выполнения по
CPU, можно уверенно говорить о пользе векторизации при програм-
мировании в MatLab.

2.4. Учет краевых условий. Формирование системы МКЭ.

Способ задания краевых условий. Способ задания краевых усло-
вий, принятый в pde toolbox , тесно связан с графическим приложе-
нием pdetool, в котором можно определить как геометрию области,
так и краевые условия. Это приложение позволяет решать не толь-
ко скалярные уравнения, но и системы уравнений, что и определяет
сложность задания краевых условий. Для нашей модельной задачи
мы примем решение, которое мотивируется следующими соображе-
ниями: части границы Γ0 и Γ1 являются объединениями граничных
сегментов (целиком), номера которых которых прописаны в файле
или матрице, определяющей геометрию; с каждым таким сегментом
связывается либо функция uD (определяющее краевое условие Дири-
хле), либо пара функций (σ, µ) (определяющее краевое условие 3-го
рода). В связи с этим будем определять условия на Γ0 и Γ1 раздельно.
    Пусть Γ0 не пусто и является объединением d граничных сегмен-
тов с номерами (i1 , i2 , . . . , id ). На всех сегментах функция uD может
определяться одной формулой или d формулами (возможно разны-
ми для разных сегментов). Будем считать, что uD задается так, как
это описано в пунктах 1-4 секции 2.2, с. 49, для коэффициентов урав-
нения. Таким образом, информация об условиях Дирихле задается
строкой
bsD=[i_1 , i_2 , \ l d o t s , i_d ] ,

а также строкой, постоянной или указателем на m-функцию:
uD=' f 1 ! f 2 ! . . . ! f d ' ; | uD=' f ' ; |   uD=c ; | uD=@f ; | uD=@( x , y , s d l ) . . . ;

Здесь формула f 1 соответствует сегменту i1 , f 2 соответствует i2 и
т.д., c = const. Способ вполне ясный и удобный, но нужно помнить,
что теперь sdl имеет “локальные” номера 1, 2, . . . , d.