1 / 9

Reguła pojedynczej nieregularności siatki :

REGUŁY REGULARNOŚCI SIATKI. Reguła pojedynczej nieregularności siatki : Element skończony może zostać złamany tylko raz bez konieczności złamania sąsiadującego dużego elementu. REGUŁY REGULARNOŚCI SIATKI.

jeslyn
Download Presentation

Reguła pojedynczej nieregularności siatki :

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. REGUŁY REGULARNOŚCI SIATKI Reguła pojedynczej nieregularności siatki: Element skończony może zostać złamany tylko raz bez konieczności złamania sąsiadującego dużego elementu.

  2. REGUŁY REGULARNOŚCI SIATKI Optymalny stopień aproksymacji wielomianowej wybierany jest dla wnętrz elementów (w kierunku poziomym i pionowym) Stopnie aproksymacji na krawędziach wybrane są zgodnie z reguła minimum: Stopień aproksymacji wielomianowej na krawędziach elementów równy jest minimum odpowiednich stopni aproksymacji z wnętrz sąsiadujących elementów

  3. H ADAPTACJA ELEMENTU: TWORZONE SĄ DRZEWA ADAPTACJA DLA KRAWĘDZI I WNĘTRZ ELEMENTÓW Podczas h adaptacji – łamania elementu – tworzone są drzewa adaptacji

  4. H ADAPTACJA ELEMENTU: TWORZONE SĄ DRZEWA ADAPTACJA DLA KRAWĘDZI I WNĘTRZ ELEMENTÓW Łamanie krawędzi (h adaptacja krawędzi) Łamanie wnętrza (h adaptacja wnętrza)

  5. STRUKTURA DANYCH (KOD HP2D W FORTRANIE) type node character(len=4) :: type integer :: order integer :: bcond integer :: ref_kind integer, dimension(:), pointer :: sons integer :: isotropy_flag integer :: father integer :: geom_interf integer :: connect double precision, dimension(:,:), pointer :: coord double precision, dimension(:,:), pointer :: zdofs double precision, dimension(:,:), pointer :: zdofE endtype node type(element), allocatable :: ELEMS(:) type(vertex), allocatable :: NVERS(:) type(node), allocatable :: NODES(:) type element character(len=5) :: type integer :: nodes(9) integer :: orient integer :: neig(4) integer :: bcond integer :: geom_interf endtype element type vertex integer :: bcond integer :: father integer :: geom_interf double precision, dimension(NDIMEN) :: coord double precision, dimension(MAXEQNS) :: zdofs endtype vertex

  6. STRUKTURA DANYCH (KOD HP2D W FORTRANIE) type element Typ elementu type = ‘quadr’ (prostokąt) lub ‘trian’ (trójkąt)character(len=5) :: type 9 węzłów elementu – 4 wierzchołki (VERTS) 4 krawędzie (NODES) i środek (NODES) 4--7--3 | | integer :: nodes(9)8 9 6 | | 1---5--2 Orientacja elementu (0 lub 1) – nie używana integer :: orient Indeksy z tablicy ELEMS 4 sąsiednich elementów integer :: neig(4) Zakodowane warunki brzegowe 1 Dirichlet, 2 Neumann, 3 Cauchy *--b--* | | integer :: bcond a c | | *--d--* integer :: geom_interf(używane do odwzorowania geometrii) endtype element

  7. STRUKTURA DANYCH (KOD HP2D W FORTRANIE) type vertex Warunek brzegowy w wierzchołku(Jak w elemencie) integer :: bcond Jeśl father<0 to abs(father) = indeks elementu siatki początkowej (z ELEMS) posiadający ten wierzchołek father >0 indeks węzła ojca z tablicy NODES integer :: father integer :: geom_interf(używane do odwzorowania geometrii) współrzędne geometryczne wierzchołka(X,Y) lub (X,Y,Z) double precision, dimension(NDIMEN) :: coord stopnie swobody (współczynniki wielomianów pierwszego stopnia użyte do aproksymacji na wierzchołkach)(jest ich tyle ile mamy równań MAXEQNS) #if C_MODE (C_MODE=1 gdy nasz problem jest zespolony) complex*16, dimension(MAXEQNS) :: zdofs #else double precision, dimension(MAXEQNS) :: zdofs #endif endtype vertex

  8. type node typ węzła : medg = krawędź, mdlq – środek character(len=4) :: type stopień aproksymacji w węźle (ilość wielomianów) integer :: order warunek brzegowy w węźle (jak w elemencie) integer :: bcond pola ref_kind or sons opisuje sposób złamania węzła ref_kind = 0 to węzeł nie jest złamany Jeśli type=medg (krawędź) to ref_kind = 1 oznacza złamaną krawędź, sons(1:3) to *--1--3--2--*KRAWEDZ, KRAWEDZ, WIERZCHOLEK Jeśli type=mdlq (środek, wnętrze) to ref_kind = 1 oznacza złamanie wnętrza w kierunku poziomymsons(1:3) to *--1--3--2--* WNETRZE, WNETRZE, KRAWEDZ ref_kind = 10 oznacza złamanie wnętrza w kierunku pionowym sons(1:3) TO *--1--3--2--* WNETRZE, WNETRZE, KRAWEDZ ref_kind = 11 oznacza złamanie wnętrza w obu kierunkach, sons(1:9) integer :: ref_kind *-----* integer, dimension(:), pointer :: sons| 473 | 1,2,3,4 TO WNETRZA |-896-| 5,6,7,8 TO KRAWEDZIE | 152 | 9 TO WIERZCHOLEK *-----* …..

  9. STRUKTURA DANYCH (KOD HP2D W FORTRANIE) c.d. type node (czy element posiada anioztropię – preferencje do łamania w jakimś kierunku) integer :: isotropy_flag Jeśl father<0 to abs(father) = indeks elementu siatki początkowej (z ELEMS) posiadający ten węzeł father >0 indeks węzła ojca z tablicy NODES integer :: father integer :: geom_interf(używane do odwzorowania geometrii) integer :: connect(nie używane) to nie są współrzędne geometryczne środka krawędzi, to jest używane gdy krawędź jest krzywoliniowa – to są geometryczne stopnie swobody – współczynniki wielomianów na krawędzi używanych do opisania jej geometrii) double precision, dimension(:,:), pointer :: coord stopnie swobody – współczynniki wielomianów użyte do aproksymacji na węźle jest ich tyle ile mamy równań oraz jaki mamy stopień aproksymacji #if C_MODE(C_MODE=1 gdy nasz problem jest zespolony) complex*16, dimension(:,:), pointer :: zdofs #else double precision, dimension(:,:), pointer :: zdofs #endif endtype node

More Related