Систем нумерисања елемената и библиотека функција облика¶
Функција облика \(N_\alpha^e(\boldsymbol{r})\) уведена у Функцијама облика и апроксимацији методом коначних елемената има конкретан облик за сваки тип елемента. Ово поглавље класификује групе елемената које FrontISTR обезбеђује помоћу троцифрених бројева типова елемената и представља интерфејс библиотеке функција облика за униформно руковање сваким елементом. Конкретни природни координатни системи и функције облика тродимензионалних солид елемената, као и конверзија редоследа чворова на срединама ивица за елементе другог реда, обрађени су у Функцијама облика тродимензионалних солид елемената, док су смернице за избор типова елемената дате у Библиотеци елемената (функције).
Класификација елемената и правила именовања¶
Типови елемената у FrontISTR-у означавају се троцифреним бројевима. Значење сваке цифре је следеће.
- Прва цифра (група елемената): 1 = линијски елемент/штап, 2 = равански елемент, 3 = солид елемент, 5 = интерфејсни елемент, 6 = елемент греде, 7 = елемент љуске.
- Друга цифра (основни облик): разликује геометријски облик унутар групе елемената (троугао, четвороугао, тетраедар, призма или хексаедар).
- Трећа цифра (ред интерполације): 1 = први ред (само темени чворови), 2 = други ред (укључујући чворове на срединама ивица). Као изузетак, двочворни штапни елемент има број 301.
Обезбеђени елементи наведени су по групама у следећој табели.
| Група елемената | Тип елемента | Број чворова | Опис |
|---|---|---|---|
| Линијски елемент | 111 | 2 | Двочворни link елемент (није доступан за анализу напона) |
| 112 | 3 | Трочворни link елемент (није доступан за анализу напона) | |
| Равански елемент | 231 | 3 | Трочворни линеарни троугаони елемент |
| 232 | 6 | Шесточворни троугаони елемент другог реда | |
| 241 | 4 | Четворочворни линеарни четвороугаони елемент | |
| 242 | 8 | Осмочворни четвороугаони елемент другог реда (Serendipity породица) | |
| Солид елемент | 301 | 2 | Двочворни штапни елемент |
| 341 | 4 | Четворочворни линеарни тетраедарски елемент | |
| 342 | 10 | Десеточворни тетраедарски елемент другог реда | |
| 351 | 6 | Шесточворни линеарни елемент призме | |
| 352 | 15 | Петнаесточворни елемент призме другог реда | |
| 361 | 8 | Осмочворни линеарни хексаедарски елемент | |
| 362 | 20 | Двадесеточворни хексаедарски елемент другог реда (Serendipity породица) | |
| Интерфејсни елемент | 541 | 4×2 | Четворочворни линеарни елемент четвороугаоне површи (није доступан за анализу напона) |
| 542 | 8×2 | Осмочворни елемент четвороугаоне површи другог реда (није доступан за анализу напона) | |
| Елемент греде | 611 | 2 | Двочворни Бернули-Ојлеров елемент греде (6 DOF по чвору) |
| 641 | 2×2 | Двочворни Бернули-Ојлеров елемент греде (3 DOF по чвору, за мешовите DOF) | |
| Елемент љуске | 731 | 3 | MITC3 троугаони елемент љуске (6 DOF по чвору) |
| 741 | 4 | MITC4 четвороугаони елемент љуске (6 DOF по чвору) | |
| 743 | 9 | MITC9 четвороугаони елемент љуске (6 DOF по чвору) | |
| 761 | 3×2 | MITC3 троугаони елемент љуске (3 DOF по чвору, за мешовите DOF) | |
| 781 | 4×2 | MITC4 четвороугаони елемент љуске (3 DOF по чвору, за мешовите DOF) |
Хексаедарски линеарни елемент 361 има више формулација (пуна интеграција, некомпатибилни мод, B-bar и F-bar), које се бирају преко контроле анализе. За детаље видети Напредне формулације елемената.
Елемент греде 641 и елементи љуске 761/781 су формулације за повезивање конструктивних елемената са 6 степени слободе са солид елементима са 3 степена слободе у истим чворовима; један конструктивни чвор представља се са два чвора са по 3 DOF. Саме формулације су идентичне одговарајућим верзијама са 6 DOF (611, 731 и 741).
Библиотека функција облика¶
Рутине за прорачун елемената (конструисање матрице крутости и вектора унутрашњих сила) немају посебне рутине за сваки тип елемента. Уместо тога, оне позивају библиотеку функција облика преко јединственог интерфејса који као аргумент прима број типа елемента fetype. Модул elementInfo (fistr1/src/lib/element/element.f90) обезбеђује следеће функције.
NumOfQuadPoints(fetype): враћа број интеграционих тачака \(n_q\) за тип елемента.getQuadPoint(fetype, np, pos): враћа природне координате \(\boldsymbol{r}_i\) интеграционе тачке \(i\).getWeight(fetype, np): враћа тежину \(w_i\) интеграционе тачке \(i\).getShapeFunc(fetype, r, N): враћа вредности функција облика \(N_\alpha^e(\boldsymbol{r})\) у природним координатама \(\boldsymbol{r}\).getShapeDeriv(fetype, r, dN): враћа изводе функција облика по природним координатама \(\partial N_\alpha^e/\partial \boldsymbol{r}\).getGlobalDeriv(fetype, n_e, r, X^e, J, dN_x): за дате координате чворова елемента \(\boldsymbol{X}^e\) враћа изводе по физичким координатама \(\partial N_\alpha^e/\partial \boldsymbol{x}\) и Јакобијеву детерминанту \(J\).getNumberOfSubface(fetype),getSubFace(fetype, k, ...): враћају број граничних површи елемента и бројеве чворова који чине сваку површ. Користе се за конструисање површинских оптерећења и контактних површи.
Свака функција интерно грана извршавање према броју типа елемента и позива потпрограме функција облика и њихових извода у модулима нижег нивоа обезбеђеним за сваки тип елемента (tet4n.f90, tet10n.f90, prism6n.f90, prism15n.f90, hex8n.f90, hex20n.f90, tri3n.f90, tri6n.f90, quad4n.f90, quad8n.f90, quad9n.f90, line2n.f90, line3n.f90). Нумеричке табеле координата интеграционих тачака и тежина обједињене су у quadrature.f90. Да бисте додали нови тип елемента, имплементирајте одговарајући модул нижег нивоа и додајте гране за њега у сваку функцију модула elementInfo.
Конверзија редоследа чворова на срединама ивица за троугаоне елементе другог реда¶
За троугаони елемент другог реда 232, редослед чворова на срединама ивица разликује се између HEC-MW улазног формата мреже (који најпре ређа темене чворове око елемента, а затим чворове на срединама ивица дуж ивица 1-2, 2-3, …) и унутрашњег формата FrontISTR-а који претпостављају функције облика у библиотеци елемената. Разлика између два формата решава се одмах након учитавања мреже помоћу hecmw2fstr_mesh_conv (fistr1/src/common/hecmw2fstr_mesh_conv.f90 и hecmw2fstr_connect_conv.c), који преуређује шест чворова у \(\{1,2,3,6,4,5\}\) у складу са табелом конверзије Table232. Пошто се конверзија врши директно над низом који чува повезаност елемента, сви наредни позиви библиотеци елемената користе унутрашњи редослед чворова FrontISTR-а. При излазу резултата, инверзна конверзија fstr2hecmw_mesh_conv враћа HEC-MW формат пре уписа, па корисници треба да познају само HEC-MW формат и за улаз и за излаз.
Тродимензионални солид елементи другог реда 342 (тетраедар) и 352 (призма) имају сличне аутоматске конверзије, док 362 (хексаедар другог реда) нема конверзију. За њихову обраду видети Функције облика тродимензионалних солид елемената. За равански четвороугаони елемент другог реда 242 и интерфејсни елемент 542 не врши се конверзија, јер је редослед чворова на срединама ивица исти у HEC-MW улазном формату и унутрашњем формату.
Повезане теме¶
- Функције облика и апроксимација методом коначних елемената — Математичка дефиниција функција облика
- Нумеричка интеграција — Интеграционе тачке, тежине и приближни облик интеграције елемента
- Функције облика тродимензионалних солид елемената — Конкретне природне координате и функције облика за солид елементе континуума
- Напредне формулације елемената — B-bar / F-bar / некомпатибилни мод / љуска / греда
- Библиотека елемената (функције) — Опције типова елемената и смернице за избор