Прескокнете до содржината

Систем за нумерирање на елементи и библиотека на функции на облик

Функцијата на облик \(N_\alpha^e(\boldsymbol{r})\), воведена во Функции на облик и апроксимација со конечни елементи, има специфична форма за секој тип елемент. Во ова поглавје, групите елементи што ги обезбедува FrontISTR се класифицираат со трицифрени броеви на типови елементи и се прикажува интерфејсот на библиотеката на функции на облик за унифицирано ракување со секој елемент. Конкретните природни координатни системи и функции на облик на тридимензионалните солидни елементи, како и конверзијата на редоследот на средишните јазли кај квадратните елементи, се опишани во Функции на облик на тридимензионални солидни елементи, а насоките за избор на типови елементи се дадени во Библиотека на елементи (функции).

Класификација на елементите и правила за именување

Типовите елементи на FrontISTR се идентификуваат со трицифрени броеви. Значењето на секоја цифра е следново.

  • Прва цифра (група елементи): 1 = линиски елемент/решеткаст елемент, 2 = рамнински елемент, 3 = солиден елемент, 5 = интерфејсен елемент, 6 = греден елемент, 7 = школкаст елемент.
  • Втора цифра (основен облик): го разликува геометрискиот облик во рамките на групата елементи (триаголник, четириаголник, тетраедар, призма или хексаедар).
  • Трета цифра (ред на интерполација): 1 = прв ред (само аголни јазли), 2 = втор ред (вклучувајќи средишни јазли). Како исклучок, двојазолниот решеткаст елемент има број 301.

Достапните елементи се наведени по групи во табелата подолу.

Група елементи Тип елемент Број на јазли Опис
Линиски елемент 111 2 Двојазолен врзувачки елемент (не е достапен за анализа на напрегања)
112 3 Тријазолен врзувачки елемент (не е достапен за анализа на напрегања)
Рамнински елемент 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 Двојазолен Bernoulli-Euler греден елемент (6 степени на слобода по јазол)
641 2×2 Двојазолен Bernoulli-Euler греден елемент (3 степени на слобода по јазол, за мешани степени на слобода)
Школкаст елемент 731 3 MITC3 триаголен школкаст елемент (6 степени на слобода по јазол)
741 4 MITC4 четириаголен школкаст елемент (6 степени на слобода по јазол)
743 9 MITC9 четириаголен школкаст елемент (6 степени на слобода по јазол)
761 3×2 MITC3 триаголен школкаст елемент (3 степени на слобода по јазол, за мешани степени на слобода)
781 4×2 MITC4 четириаголен школкаст елемент (3 степени на слобода по јазол, за мешани степени на слобода)

Линеарниот хексаедарски елемент 361 има повеќе формулации (целосна интеграција, некомпатибилен мод, B-bar и F-bar), кои се избираат преку контролата на анализата. За детали, видете Напредни формулации на елементи.

Гредниот елемент 641 и школкастите елементи 761/781 се формулации за поврзување структурни елементи со 6 степени на слобода со солидни елементи со 3 степени на слобода во истите јазли; еден структурен јазол се претставува со два јазли со по 3 степени на слобода. Самите формулации се идентични со соодветните верзии со 6 степени на слобода (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}\) и детерминантата на Jacobian \(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 и во внатрешниот формат.

Поврзани теми