Məzmuna keç

Element nömrələmə sistemi və forma funksiyaları kitabxanası

Forma funksiyaları və sonlu element yaxınlaşması bölməsində təqdim edilən \(N_\alpha^e(\boldsymbol{r})\) forma funksiyasının konkret forması element növünə görə dəyişir. Bu fəsildə FrontISTR-in təqdim etdiyi element qrupları üçrəqəmli element tipi nömrəsi ilə təsnif edilir və bütün elementləri vahid qaydada emal edən forma funksiyaları kitabxanasının interfeysi göstərilir. Üçölçülü bərk elementlərin təbii koordinat sistemi və forma funksiyalarının konkret formaları, həmçinin kvadratik elementlərin aralıq düyün sırasının çevrilməsi üçün Üçölçülü bərk elementlərin forma funksiyaları, element tipinin seçilməsi üçün isə Element kitabxanası (funksiya) bölməsinə baxın.

Elementlərin təsnifatı və adlandırma qaydaları

FrontISTR element tipləri üçrəqəmli nömrə ilə müəyyən edilir. Hər rəqəmin mənası aşağıdakı kimidir.

  • 1-ci rəqəm (element qrupu): 1=xətti element və ferma, 2=müstəvi element, 3=bərk element, 5=interfeys elementi, 6=tir elementi, 7=qabıq elementi.
  • 2-ci rəqəm (əsas forma): element qrupu daxilində həndəsi formanı (üçbucaq, dördbucaq, tetraedr, üçbucaqlı prizma, heksaedr) fərqləndirir.
  • 3-cü rəqəm (interpolyasiya dərəcəsi): 1=xətti (yalnız künc düyünləri), 2=kvadratik (aralıq düyünlər daxil). İstisna olaraq 2 düyünlü ferma elementi 301 nömrəsidir.

Təqdim olunan elementlər aşağıdakı cədvəldə element qrupları üzrə göstərilmişdir.

Element qrupu Element tipi Düyün sayı Təsvir
Xətti element 111 2 2 düyünlü link elementi (gərginlik analizində istifadə edilmir)
112 3 3 düyünlü link elementi (gərginlik analizində istifadə edilmir)
Müstəvi element 231 3 Xətti üçbucaq elementi
232 6 Kvadratik üçbucaq elementi
241 4 Xətti dördbucaq elementi
242 8 Kvadratik dördbucaq elementi (Serendipity ailəsi)
Bərk element 301 2 2 düyünlü ferma elementi
341 4 Xətti tetraedr elementi
342 10 Kvadratik tetraedr elementi
351 6 Xətti üçbucaqlı prizma elementi
352 15 Kvadratik üçbucaqlı prizma elementi
361 8 Xətti heksaedr elementi
362 20 Kvadratik heksaedr elementi (Serendipity ailəsi)
İnterfeys elementi 541 4×2 Xətti dördbucaqlı səth elementi (gərginlik analizində istifadə edilmir)
542 8×2 Kvadratik dördbucaqlı səth elementi (gərginlik analizində istifadə edilmir)
Tir elementi 611 2 2 düyünlü Bernoulli-Euler tir elementi (düyündə 6 sərbəstlik dərəcəsi)
641 2×2 2 düyünlü Bernoulli-Euler tir elementi (düyündə 3 sərbəstlik dərəcəsi, qarışıq sərbəstlik dərəcələri üçün)
Qabıq elementi 731 3 MITC3 üçbucaqlı qabıq elementi (düyündə 6 sərbəstlik dərəcəsi)
741 4 MITC4 dördbucaqlı qabıq elementi (düyündə 6 sərbəstlik dərəcəsi)
743 9 MITC9 dördbucaqlı qabıq elementi (düyündə 6 sərbəstlik dərəcəsi)
761 3×2 MITC3 üçbucaqlı qabıq elementi (düyündə 3 sərbəstlik dərəcəsi, qarışıq sərbəstlik dərəcələri üçün)
781 4×2 MITC4 dördbucaqlı qabıq elementi (düyündə 3 sərbəstlik dərəcəsi, qarışıq sərbəstlik dərəcələri üçün)

Xətti heksaedr elementi 361 üçün bir neçə formullaşdırma (tam inteqrasiya, uyğunsuz, B-bar, F-bar) mövcuddur və analiz idarəetməsindən seçilir. Təfərrüatlar üçün Yüksək performanslı element formullaşdırmaları bölməsinə baxın.

Tir elementi 641 və qabıq elementləri 761/781, 6 sərbəstlik dərəcəli konstruktiv elementi 3 sərbəstlik dərəcəli bərk elementlə eyni düyündə birləşdirmək üçün formullaşdırmadır və bir konstruktiv düyünü iki 3 sərbəstlik dərəcəli düyünlə ifadə edir. Formullaşdırmanın özü müvafiq 6 sərbəstlik dərəcəli versiyalarla (611, 731, 741) eynidir.

Forma funksiyaları kitabxanası

Element hesablama prosedurları (sərtlik matrisinin və daxili qüvvə vektorunun qurulması) hər element növü üçün ayrıca prosedura malik deyil; element tipi nömrəsi fetype parametrini qəbul edən vahid interfeys vasitəsilə forma funksiyaları kitabxanasını çağırır. elementInfo modulu (fistr1/src/lib/element/element.f90) aşağıdakı funksiyaları təqdim edir.

  • NumOfQuadPoints(fetype): element növü üçün inteqrasiya nöqtələrinin sayı \(n_q\) qaytarır.
  • getQuadPoint(fetype, np, pos): inteqrasiya nöqtəsi \(i\) üçün təbii koordinat \(\boldsymbol{r}_i\) qaytarır.
  • getWeight(fetype, np): inteqrasiya nöqtəsi \(i\) üçün çəki \(w_i\) qaytarır.
  • getShapeFunc(fetype, r, N): təbii koordinat \(\boldsymbol{r}\)-də forma funksiyasının qiyməti \(N_\alpha^e(\boldsymbol{r})\) qaytarır.
  • getShapeDeriv(fetype, r, dN): forma funksiyasının təbii koordinata görə törəməsini \(\partial N_\alpha^e/\partial \boldsymbol{r}\) qaytarır.
  • getGlobalDeriv(fetype, n_e, r, X^e, J, dN_x): element düyün koordinatları \(\boldsymbol{X}^e\) verildikdə fiziki koordinata görə törəməni \(\partial N_\alpha^e/\partial \boldsymbol{x}\) və Yakobian determinantını \(J\) qaytarır.
  • getNumberOfSubface(fetype), getSubFace(fetype, k, ...): element sərhəd səthlərinin sayını və hər səthi təşkil edən düyün nömrələrini qaytarır. Səth yükü və təmas səthinin qurulmasında istifadə olunur.

Hər funksiya daxilində element tipi nömrəsinə görə budaqlanır və hər element növü üçün hazırlanmış aşağı səviyyəli modulların (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) forma funksiyası və onun törəməsi üçün altprosedurlarını çağırır. İnteqrasiya nöqtələrinin koordinatları və çəkilərinin ədədi cədvəlləri quadrature.f90 daxilində toplanmışdır. Yeni element növü əlavə edilərkən müvafiq aşağı səviyyəli modul implementasiya edilir və sonra elementInfo funksiyalarının budaqlanmasına əlavə olunur.

Kvadratik üçbucaq elementində aralıq düyün sırasının çevrilməsi

Kvadratik üçbucaq elementi 232 üçün HEC-MW tor giriş formatı (künc düyünləri dövrə üzrə sıralandıqdan sonra aralıq düyünlərin 1-2, 2-3, … kənarları üzrə düzülməsi qaydası) ilə element kitabxanasının forma funksiyalarının nəzərdə tutduğu FrontISTR daxili formatında aralıq düyün sırası fərqlidir. Bu fərq tor oxunduqdan dərhal sonra çağırılan hecmw2fstr_mesh_conv (fistr1/src/common/hecmw2fstr_mesh_conv.f90hecmw2fstr_connect_conv.c) tərəfindən Table232 çevirmə cədvəlinə uyğun olaraq 6 düyünün \(\{1,2,3,6,4,5\}\) sırasına düzülməsi ilə aradan qaldırılır. Çevirmə element birləşmə məlumatlarını saxlayan massiv üzərində birbaşa aparıldığı üçün sonrakı bütün element kitabxanası çağırışlarında FrontISTR-in daxili düyün sırası istifadə olunur. Nəticə çıxışında tərs çevirmə fstr2hecmw_mesh_conv ilə yenidən HEC-MW formatına qaytarıldıqdan sonra yazıldığı üçün istifadəçi həm girişdə, həm də çıxışda yalnız HEC-MW formatını nəzərə almalıdır.

Üçölçülü bərk elementlər 342 (kvadratik tetraedr) və 352 (kvadratik üçbucaqlı prizma) üçün də eyni tip avtomatik çevirmə mövcuddur, 362 (kvadratik heksaedr) üçün isə çevirmə yoxdur. Bu elementlərin işlənməsi üçün Üçölçülü bərk elementlərin forma funksiyaları bölməsinə baxın. Kvadratik dördbucaqlı müstəvi elementi 242 və interfeys elementi 542 üçün HEC-MW giriş formatı ilə daxili formatdakı aralıq düyün sırası eyni olduğundan çevirmə aparılmır.

Əlaqəli mövzular

AI-assisted translation May contain errors Official docs Status