Към съдържанието

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

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

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

Типовете елементи във FrontISTR се идентифицират с трицифрени номера. Значението на всяка цифра е следното.

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

Предоставяните елементи са изброени по групи в таблицата по-долу.

Група елементи Тип елемент Брой възли Описание
Линеен елемент 111 2 2-възлов свързващ елемент (не се използва за анализ на напрежения)
112 3 3-възлов свързващ елемент (не се използва за анализ на напрежения)
Равнинен елемент 231 3 3-възлов линеен триъгълен елемент
232 6 6-възлов квадратичен триъгълен елемент
241 4 4-възлов линеен четириъгълен елемент
242 8 8-възлов квадратичен четириъгълен елемент (семейство Serendipity)
Обемен елемент 301 2 2-възлов прътов елемент
341 4 4-възлов линеен тетраедричен елемент
342 10 10-възлов квадратичен тетраедричен елемент
351 6 6-възлов линеен призматичен елемент
352 15 15-възлов квадратичен призматичен елемент
361 8 8-възлов линеен хексаедричен елемент
362 20 20-възлов квадратичен хексаедричен елемент (семейство Serendipity)
Интерфейсен елемент 541 4×2 4-възлов линеен елемент с четириъгълна повърхнина (не се използва за анализ на напрежения)
542 8×2 8-възлов квадратичен елемент с четириъгълна повърхнина (не се използва за анализ на напрежения)
Гредов елемент 611 2 2-възлов гредов елемент Bernoulli-Euler (6 степени на свобода на възел)
641 2×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}\) и детерминантата на Якоби \(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 и вътрешния формат.

Свързани теми

AI-assisted translation May contain errors Official docs Status