FEM MeshGmshFromShape/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "# Wybierz kształt, który chcesz analizować. Dla objętości musi to być bryła pojedyncza lub złożona. Bryła złożona jest konieczna jeśli część jest wykonana z wielu materiałów (bryłę złożoną można utworzyć przy pomocy narzędzia Fragmentacja funkcją logiczną). #* Press the {{Button|16px FEM mesh from shape by Gmsh}} button. #* Wybierz opcję {{MenuCommand|S...")
No edit summary
(31 intermediate revisions by 3 users not shown)
Line 4: Line 4:
|[[FEM_MeshNetgenFromShape/pl|Siatka MES z kształtu przy pomocy generatora Netgen]]
|[[FEM_MeshNetgenFromShape/pl|Siatka MES z kształtu przy pomocy generatora Netgen]]
|[[FEM_MeshBoundaryLayer/pl|Warstwa graniczna siatki MES]]
|[[FEM_MeshBoundaryLayer/pl|Warstwa graniczna siatki MES]]
|[[FEM_Workbench/pl|MES]]
|[[FEM_Workbench/pl|środowisko pracy MES]]
|IconL=FEM_MeshNetgenFromShape.svg
|IconL=FEM_MeshNetgenFromShape.svg
|IconR=FEM_MeshBoundaryLayer.svg
|IconR=FEM_MeshBoundaryLayer.svg
Line 15: Line 15:
|MenuLocation=Siatka → Siatka MES z kształtu przy pomocy generatora Gmsh
|MenuLocation=Siatka → Siatka MES z kształtu przy pomocy generatora Gmsh
|Workbenches=[[FEM_Workbench/pl|MES]]
|Workbenches=[[FEM_Workbench/pl|MES]]
|SeeAlso=[[FEM_tutorial/pl|Poradniki MES]]
|SeeAlso=[[FEM_tutorial/pl|Poradnik MES]]
}}
}}


Line 28: Line 28:
==Użycie==
==Użycie==


# Wybierz kształt, który chcesz analizować. Dla objętości musi to być bryła pojedyncza lub złożona. Bryła złożona jest konieczna jeśli część jest wykonana z wielu materiałów (bryłę złożoną można utworzyć przy pomocy narzędzia [[Part_BooleanFragments/pl|Fragmentacja funkcją logiczną]]).
# Wybierz kształt, który chcesz analizować. Dla objętości musi to być bryła pojedyncza lub złożona. Bryła złożona jest konieczna jeśli część jest wykonana z wielu materiałów ''(bryłę złożoną można utworzyć przy pomocy narzędzia [[Part_BooleanFragments/pl|Fragmentacja funkcją logiczną]])''.
#* Press the {{Button|[[Image:FEM_MeshGmshFromShape.svg|16px]] [[FEM_MeshGmshFromShape|FEM mesh from shape by Gmsh]]}} button.
#* Press the {{Button|[[Image:FEM_MeshGmshFromShape.svg|16px]] '''FEM mesh from shape by Gmsh'''}} button.
#* Wybierz opcję {{MenuCommand|Siatka → [[Image:FEM_MeshGmshFromShape.svg|16px]] Siatka MES z kształtu przy pomocy generatora Gmsh}} z menu.
#* Wybierz opcję {{MenuCommand|Siatka → [[Image:FEM_MeshGmshFromShape.svg|16px]] Siatka MES z kształtu przy pomocy generatora Gmsh}} z menu.
# Opcjonalnie, edytuj minimalny i maksymalny rozmiar elementu (autodetekcja często tworzy zbyt rzadkie siatki).
# Opcjonalnie, edytuj minimalny i maksymalny rozmiar elementu ''(autodetekcja często tworzy zbyt rzadkie siatki)''.
# Wciśnij przycisk {{Button|Zastosuj}} i poczekaj aż zakończy się generowanie siatki.
# Wciśnij przycisk {{Button|Zastosuj}} i poczekaj aż zakończy się generowanie siatki.
# Zamknij okno dialogowe. Powinieneś widzieć nowy obiekt FEMMeshGMSH dodany do aktywnego kontenera analizy.
# Zamknij okno dialogowe. Powinieneś widzieć nowy obiekt FEMMeshGMSH dodany do aktywnego kontenera analizy.


Po utworzeniu siatki można zmienić jej właściwości używając [[Property_editor/pl|edytora właściwości]]. Po zmianie właściwości należy ponownie otworzyć okno dialogowe narzędzia i wcisnąć przycisk {{Button|Zastosuj}} ''(można zostawić okno dialogowe otwarte podczas zmieniania właściwości)''.
After the mesh has been created, you can change its properties using the [[Property_editor|property editor]]. After you change a property, you must reopen the Gmsh dialog again and click the {{Button|Apply}} button (you can leave the dialog open while changing properties).


== Properties ==
<span id="Properties"></span>
== Właściwości ==


* {{PropertyData|Algorithm2D}}: The algorithm to create 2D meshes. The different algorithms are [https://gmsh.info/doc/texinfo/gmsh.html#Choosing-the-right-unstructured-algorithm explained here]. For Delaunay, see [https://en.wikipedia.org/wiki/Delaunay_triangulation Delaunay triangulation].
* {{PropertyData|Algorithm2D}}: Algorytm do tworzenia siatek 2D. Dostępne algorytmy opisane [https://gmsh.info/doc/texinfo/gmsh.html#Choosing-the-right-unstructured-algorithm na stronie projektu GMSH]. Dla Delaunay zobacz stronę[https://pl.wikipedia.org/wiki/Triangulacja_Delone triangulacja Delone].
* {{PropertyData|Algorithm3D}}: The algorithm to create 3D meshes. The different algorithms are [https://gmsh.info/doc/texinfo/gmsh.html#Choosing-the-right-unstructured-algorithm explained here].
* {{PropertyData|Algorithm3D}}: Algorytm do tworzenia siatek 3D. Dostępne algorytmy opisane [https://gmsh.info/doc/texinfo/gmsh.html#Choosing-the-right-unstructured-algorithm na stronie projektu GMSH].
* {{PropertyData|Characteristic Length Max}}: The maximal size of the mesh elements. If set to ''0.0'', the size will be set automatically. This property can also be changed in the Gmsh dialog in the field '''Max element size'''.
* {{PropertyData|Characteristic Length Max}}: Maksymalny rozmiar elementów. Jeśli ustawione jest ''0.0'' to rozmiar zostanie dobrany automatycznie. Ta właściwość może być również zmieniona w oknie dialogowym narzędzia w polu '''Maksymalny rozmiar elementu'''.
* {{PropertyData|Characteristic Length Min}}: The minimal size of the mesh elements. If set to ''0.0'', the size will be set automatically. This property can also be changed in the Gmsh dialog in the field '''Min element size'''.
* {{PropertyData|Characteristic Length Min}}: Minimalny rozmiar elementów. Jeśli ustawione jest {{Value|0.0}} to rozmiar zostanie dobrany automatycznie. Ta właściwość może być również zmieniona w oknie dialogowym narzędzia w polu '''Minimalny rozmiar elementu'''.
* {{PropertyData|Coherence Mesh}}:
* {{PropertyData|Coherence Mesh}}:
** {{true/pl}} ''(domyślne)'' zduplikowane węzły siatki zostaną usunięte
** true (default); duplicate mesh nodes will be removed
** false
** {{false/pl}}
* {{PropertyData|Element Dimension}}: The dimension of the mesh elements. This property can also be changed in the Gmsh dialog in the field '''Mesh element dimension'''.
* {{PropertyData|Element Dimension}}: Przestrzeń elementów siatki. Ta właściwość może być również zmieniona w oknie dialogowym narzędzia w polu '''Wymiar elementu'''.
** From Shape ''(domyślne)'' przestrzeń zostanie określona na podstawie przestrzeni obiektu, dla którego siatka jest generowana
** From Shape (default); the dimension will be determined from the dimension of the object that is meshed
** 1D
** 1D
** 2D
** 2D
** 3D
** 3D
* {{PropertyData|Element Order}}: The [https://www.comsol.de/support/knowledgebase/1270 mesh element order]. This property can also be changed in the Gmsh dialog in the field '''Mesh order'''. {{Version|0.20}}
* {{PropertyData|Element Order}}: [https://www.comsol.de/support/knowledgebase/1270 Rząd elementów]. Ta właściwość może być również zmieniona w oknie dialogowym narzędzia w polu '''Kolejność elementów'''. {{Version/pl|0.20}}
** 1st
** 1st
** 2nd (default)</br>'''Note:''' If you use the solver [[FEM_SolverElmer|Elmer]] you may get this error: ''ERROR:: GetEdgeBasis: Can't handle but linear elements, sorry.'' This means the solver equation cannot handle 2nd order meshes. Use either 1st order meshes then, or check the FreeCAD Wiki page for the solver equation for possible options to handle 2nd order meshes.
** 2nd ''(domyślne)''</br>'''Uwaga:''' Jeśli korzystasz z solvera [[FEM_SolverElmer/pl|Elmer]], możesz trafić na ten błąd: ''ERROR:: GetEdgeBasis: Can't handle but linear elements, sorry.'' To oznacza, że dane równanie ''(typ analizy)'' nie wspiera siatek drugiego rzędu. W takim wypadku użyj siatki pierwszego rzędu lub sprawdź stronę wiki danego równania żeby znaleźć ewentualne możliwości używania siatek drugiego rzędu.
* {{PropertyData|Geometrical Tolerance}}: The geometrical tolerance for the mesh to match the object edges. The default ''0.0'' means that Gmsh's default of 1e-8 is used.
* {{PropertyData|Geometrical Tolerance}}: Tolerancja geometryczna dla dopasowania siatki do krawędzi obiektu. Domyślne ustawienie ''0.0'' oznacza, że Gmsh skorzysta z wartości 1e-8.
* {{PropertyData|Groups Of Nodes}}: Wszystkie węzły a nie tylko elementy zostaną zapisane dla każdej fizycznej grupy siatki. Fizyczne grupy siatki to zbiory obiektów siatki ''(punktów, krawędzi, powierzchni i objętości)''. Są one identyfikowane za pomocą przestrzeni i indywidualnego oznaczenia. Przykładowo, siatka tego samego obszaru obiektu jest wewnętrznie oznaczana tak samo. Więc wszystkie powierzchnie tego obszaru będą tworzyły jedną grupę fizyczną.
* {{PropertyData|Groups Of Nodes}}: All nodes and not only the elements will be saved for each physical mesh group. Physical groups are collections of mesh entities (points, curves, surfaces and volumes). They and are identified by their dimension and by a tag. For example a mesh of the same object region is internally tagged the same. So all surfaces of this region will form one physical group.
* {{PropertyData|High Order Optimize}}: If and how meshes with {{PropertyData|Element Order}} = ''2nd'' are optimized. The optimization is done by a deformation of the element borders.</br>{{Version|0.20}} Gmsh supports different optimization algorithms. '''Elastic''' is an algorithm in which the mesh elements are treated as a collection of deformable viscoelastic solids. 1st order meshes cannot be optimized because their element borders are linear an cannot be deformed.
* {{PropertyData|High Order Optimize}}: Czy i jak siatki z właściwością {{PropertyData|Element Order}} = ''2nd'' optymalizowane. Optymalizacja odbywa się poprzez deformację krawędzi elementu.</br>{{Version/pl|0.20}} Gmsh wspiera różne algorytmy optymalizacji. '''Elastic''' to algorytm, w którym elementy siatki traktowane jako kolekcja deformowalnych ciał lepkosprężystych. Siatki pierwszego rzędu nie mogą być optymalizowane, ponieważ ich krawędzie liniowe i nie można ich deformować.
* {{PropertyData|Mesh Size From Curvature}} {{Version|0.20}}: The number of mesh elements per <math>2\pi</math> times the radius of the curvature. To get a finer mesh at small corners or holes, this value can be increased for better results
* {{PropertyData|Mesh Size From Curvature}} {{Version/pl|0.20}}: Liczba elementów siatki na <math>2\pi</math> razy promień krzywizny. Aby uzyskać gęstszą siatkę dla małych wierzchołków lub otworów, należ zwiększyć wartość dla lepszych wyników.
[[Image:FEM_Gmsh-MeshSizeFromCurvature.png|450px]]
[[Image:FEM_Gmsh-MeshSizeFromCurvature.png|450px]]
{{Caption|Effect of ''Mesh Size From Curvature'''; left: set to 12, right: deactivated}}
{{Caption|Efekt właściwości ''Mesh Size From Curvature'''. Po lewej: ustawionej na 12. Po prawej: dezaktywowanej.
}}
* {{PropertyData|Optimize Netgen}}: Whether the mesh will be optimized using the 3D mesh generator [https://github.com/NGSolve/netgen Netgen] to improve the quality of tetrahedral elements. '''Note:''' since Netgen can only create tetrahedral elements, this option is ignored for meshes whose {{PropertyData|Element Dimension}} is not ''3D''.
* {{PropertyData|Optimize Netgen}}: Czy siatka będzie optymalizowana przy pomocy generatora siatki 3D [https://github.com/NGSolve/netgen Netgen] aby poprawić jakość elementów czworościennych. '''Uwaga:''' ponieważ Netgen może tworzyć tylko elementy czworościenne, ta opcja jest ignorowana dla siatek, których właściwość {{PropertyData|Element Dimension}} nie jest ustawiona na ''3D''.
* {{PropertyData|Recombination Algorithm}} {{Version|0.20}}: The algorithm used for {{PropertyData|Recombine 3D All}} and also for {{PropertyData|Recombine All}}. For more info, see section [[#Element_Recombination|Element Recombination]] and for technical details see the [https://www.gmsh.info/doc/texinfo/gmsh.html#t11 Gmsh documentation].
* {{PropertyData|Recombination Algorithm}} {{Version/pl|0.20}}: Algorytm używany przez {{PropertyData|Recombine 3D All}} i przez {{PropertyData|Recombine All}}. Więcej informacji można znaleźć w sekcji [[#Rekombinacja_elementów|Rekombinacja elementów]] a szczegóły technicznej znajdują się w [https://www.gmsh.info/doc/texinfo/gmsh.html#t11 dokumentacji Gmsh].
* {{PropertyData|Recombine 3D All}} {{Version|0.20}}: Applies a recombination 3D-algorithm to all volumes. Tetrahedra will be recombined into prisms, hexahedra or pyramids if possible.
* {{PropertyData|Recombine All}}: Applies a recombination algorithm to all surfaces. Triangles will be recombined into quadrangles when possible.
* {{PropertyData|Recombine 3D All}} {{Version/pl|0.20}}: Stosuje algorytm rekombinacji 3D dla wszystkich objętości. Czworościany będą przekształcone w pięciościany, prostopadłościany lub piramidki gdzie będzie to możliwe.
* {{PropertyData|Recombine All}}: Stosuje algorytm rekombinacji dla wszystkich powierzchni. Trójkąty będą przekształcone w czworokąty gdzie będzie to możliwe a recombination algorithm to all surfaces.
* {{PropertyData|Optimize Std}} Optimizes the mesh to improve the quality of tetrahedral elements.
* {{PropertyData|Optimize Std}} Optymalizuje siatkę aby zwiększyć jakość elementów czworościennych.
* {{PropertyData|Second Order Linear}}: Option if second order nodes (if {{PropertyData|Element Order}} set to ''2nd'') and/or mesh refinement points are created by linear interpolation.
* {{PropertyData|Second Order Linear}}: Czy węzły elementów drugiego rzędu ''(jeśli wlaściwość {{PropertyData|Element Order}} jest ustawiona '''2nd''')'' i / lub punkty zagęszczania siatki są tworzone przez interpolację liniową.
** true; linear interpolation is used
** {{true/pl}} używana jest interpolacja liniowa.
** false (default); curvilinear interpolation is used
** {{false/pl}} ''(domyślne)'' używana jest interpolacja krzywoliniowa.
* {{PropertyData|Algorytm podziału}}. {{Version/pl|0.22}}: umożliwia tworzenie elementów czworościennych i sześciościennych przez podział.
** Brak: nie używa żadnego algorytmu podziału.
** Wszystkie czworokąty: tworzy elementy czworokątne poprzez podział.
** Wszystkie heksaedry: tworzy elementy heksaedralne poprzez podział.
** Barocentryczny: tworzy elementy trójkątne poprzez podział barycentryczny.


==Notes==
<span id="Notes"></span>
==Uwagi==


<span id="Nonpositive_Jacobians"></span>
=== Nonpositive Jacobians ===
=== Ujemne jakobiany ===


Jeśli pojawia się błąd o ujemnych jakobianach, można wypróbować następujące podejściaː
When you get a meshing error about nonpositive Jacobians, you can try out the following strategies:


* Set {{PropertyData|Second Order Linear}} to ''true'' but keep {{PropertyData|Element Order}} at ''2nd''.
* Ustawić właściwość {{PropertyData|Second Order Linear}} na {{true/pl}}, ale zostawić {{PropertyData|Element Order}} na ''2nd''.
* Set {{PropertyData|Element Order}} to ''1st''.
* Ustawić {{PropertyData|Element Order}} na ''1st''.
* Use a smaller element size by reducing the {{PropertyData|Characteristic Length Max}}.
* Zmniejszyć rozmiar elementów siatki poprzez redukcję {{PropertyData|Characteristic Length Max}}.
* Jeśli używany jest solver ccxtools i przycisk uruchamiania ''(nie panel zadań)'' to węzły elementów z ujemnymi jakobianami będą zaznaczone na zielono.
* If solver ccxtools is used and the run button is used (not the task panel) the nodes of nonpositive jacobian elements will be green.


<span id="Mesh_Growth"></span>
===Mesh Growth===
===Wzrost siatki===


Na krawędziach i małych obiektach geometrycznych siatka musi być mniejsza niż w obszarach z dala od krawędzi. Więc rozmiar elementu rośnie w oddaleniu od krawędzi. Strategia wzrostu siatki w Gmsh to wzrost między krawędziami o różnych rozmiarach. Więc wzrost zawodzi jeśli obszar ma krawędzie o tych samych rozmiarach jak w poniższym przykładzieː
At edges and small geometric entities, the mesh has to be smaller than in areas without edges. So the mesh element size grows away from the edges. The growing strategy of Gmsh is to grow between edges of different sizes. So the growing fails when an area has the same sized edges like for example this tube:


[[Image:FEM_Gmsh-MeshGrowth-failing.png|400px]]
[[Image:FEM_Gmsh-MeshGrowth-failing.png|400px]]
{{Caption|Wzrost siatki zawodzi, ponieważ obszar cylindryczny jest otoczony takimi samymi krawędziami.}}
{{Caption|Failing mesh growing because the cylindrical area is surrounded by the same edges}}


To enable a sensible mesh growing, you must in this case add an edge to the area. In the example, this would be a circle in the middle of the cylinder. The circle is added as part of a [[Part_BooleanFragments|BooleanFragments]] compound (to form a CompSolid), see [https://forum.freecadweb.org/download/file.php?id=146255 the project file] of the example.
Aby umożliwić rozsądny wzrost siatki, należy w takim przypadku dodać krawędź do tego obszaru. W tym przykładzie byłby to okrąg w środku walca. Okrąg jest dodany jako część bryły złożonej z [[Part_BooleanFragments/pl|fragmentacji funkcją logiczną]], zobacz [https://forum.freecadweb.org/download/file.php?id=146255 plik projektu] tego przykładu.


[[Image:FEM_Gmsh-MeshGrowth-success.png|400px]]
[[Image:FEM_Gmsh-MeshGrowth-success.png|400px]]
{{Caption|Rozsądny wzrost siatki dzięki dodatkowej krawędzi w środku cylindrycznego obszaru.}}
{{Caption|Sensible mesh growing due to the additional edge in the middle of the cylindrical aread}}


<span id="Element_Recombination"></span>
<span id="Element_Recombination"></span>
===Rekombinacja elementów===
===Rekombinacja elementów===


Elementy mogą być rekombinowane na dwa sposoby, na powierzchni obiektów tak, że trójkąty są przekształcane w czworoboki jeśli to możliwe i w objętości obiektów tak, że czworościany są przekształcane w pięciościany, prostopadłościany lub piramidki jeśli to możliwe. Oczywiste jest, iż wynik rekombinacji silnie zależy od geometrii obiektu i że rekombinacja obiektu 3D tylko na powierzchni zwykle prowadzi do niepożądanych rezultatów.
Elements can be recombined in two ways, on the surface of objects so that triangles will be recombined into quadrangles if possible and in the volume of objects so that tetrahedra will be recombined into prisms, hexahedra or pyramids if possible. Thinking about the geometry, it becomes clear that the recombination result depends strongly on the geometry of the body and that recombining a 3D body only at the surface will mostly lead to strange results.


Zostało to przedstawione na rysunku poniżej. Siatka dla prostopadłościanu jest tworzona ze standardowymi ustawieniami ''(czworościany drugiego rzędu)'' To rysunek w lewym górnym rogu. Rysunek w prawym górnym rogu pokazuje wynik gdy dodatkowo elementy są rekombinowane tylko na powierzchni obiektu. Wynik jest zły, ponieważ zmienione elementy na powierzchni nie pasują do niezmienionych elementów w objętości. Więc sama właściwość {{PropertyData|Recombine All}} zwykle ma sens tylko dla siatek 2D. </br>Jeśli używana jest dodatkowo właściwość {{PropertyData|Recombine 3D All}}, wynik jest lepszy ''(lewy dolny rysunek)''. Jednak wynik nie odbiega znacząco od siatki bez rekombinacji. Ponieważ obiekt jest prostopadłościanem, rozsądne jest użycie algorytmu rekombinacji, który próbuje też utworzyć prostopadłościany. Taki wynik jest pokazany na prawym dolnym rysunku.
To illustrate this, look at the image below. A cuboid body is meshed using the standard settings (tetrahedra, 2nd order mesh). This is the subimage at the upper left. The image at the upper right shows the result, when additionally the elements are recombined only at the surface of the body. The result is bad because the changed surface elements don't fit to the unchanged volume elements. So {{PropertyData|Recombine All}} alone usually only makes sense for 2D meshes. </br>When we use now also {{PropertyData|Recombine 3D All}}, the result is better, see the lower left subimage. However, the result doesn't show a great difference compared to the mesh without recombinations. Since our body is a cuboid, it is therefore sensible to use a recombination algorithm that tries to create cuboids as well. And this result is shown in the subimage at the lower right.


The ''Simple'' recombination algorithm will leave some triangles in the mesh in case the recombining leads to badly shaped quads. In such cases use a ''full-quad'' recombination algorithm, which will automatically perform a coarser mesh followed by the recombination, smoothing and subdividing. See [https://forum.freecadweb.org/viewtopic.php?f=18&t=20351#p520392 forum topic]
Algorytm rekombinacji ''Simple'' zostawi pewną liczbę trójkątów w siatce jeśli rekombinacja prowadzi do złej jakości czworoboków. W takich przypadkach należy użyć algorytmu ''full-quad'', który automatycznie tworzy rzadszą siatkę a następnie dokonuje rekombinacji, wygłaszania i podziału. Więcej informacji można znaleźć [https://forum.freecadweb.org/viewtopic.php?f=18&t=20351#p520392 w tym wątku na forum].


[[Image:FEM_Gmsh-Recombination.png|600px]]
[[Image:FEM_Gmsh-Recombination.png|600px]]
{{Caption|Effect of mesh element recombination.<br>
{{Caption|Efekt rekombinacji elementów siatki.<br>
Upper left: standard mesh.<br>
Górny lewy róg: standardowa siatka.<br>
Upper right: recombination only at the surface using the '''Simple''' algorithm.<br>
Górny prawy róg: rekombinacja tylko na powierzchni przy pomocy algorytmu '''Simple'''.<br>
Lower left: recombination at the surface and in the volume using the '''Simple''' algorithm.<br>
Dolny lewy róg: rekombinacja na powierzchni i w objętości przy pomocy algorytmu '''Simple'''.<br>
Lower right: recombination at the surface and in the volume using the '''Simple full-quad''' algorithm}}
Dolny prawy róg: rekombinacja na powierzchni i w objętości przy pomocy algorytmu '''Simple full-quad'''}}




{{Docnav
{{Docnav
|[[FEM_MeshNetgenFromShape|FEM mesh from shape by Netgen]]
|[[FEM_MeshNetgenFromShape/pl|Siatka MES z kształtu przy pomocy generatora Netgen]]
|[[FEM_MeshBoundaryLayer|FEM mesh boundary layer]]
|[[FEM_MeshBoundaryLayer/pl|Warstwa graniczna siatki]]
|[[FEM_Workbench|FEM]]
|[[FEM_Workbench/pl|środowisko pracy MES]]
|IconL=FEM_MeshNetgenFromShape.svg
|IconL=FEM_MeshNetgenFromShape.svg
|IconR=FEM_MeshBoundaryLayer.svg
|IconR=FEM_MeshBoundaryLayer.svg

Revision as of 14:32, 18 March 2024

Siatka MES z kształtu przy pomocy generatora Gmsh

Lokalizacja w menu
Siatka → Siatka MES z kształtu przy pomocy generatora Gmsh
Środowisko pracy
MES
Domyślny skrót
brak
Wprowadzono w wersji
-
Zobacz także
Poradnik MES

Opis

Geometria do analizy metodą elementów skończonych musi być poddana dyskretyzacji do siatki MES. To narzędzie korzysta z programu Gmsh (który musi być zainstalowany w systemie) do generowania siatki.

W zależności od Twojego systemu operacyjnego i pakietu instalacyjnego, Gmsh może być dołączony do programu FreeCAD lub nie. Więcej informacji można znaleźć na stronie Instalacja środowiska MES.

Użycie

  1. Wybierz kształt, który chcesz analizować. Dla objętości musi to być bryła pojedyncza lub złożona. Bryła złożona jest konieczna jeśli część jest wykonana z wielu materiałów (bryłę złożoną można utworzyć przy pomocy narzędzia Fragmentacja funkcją logiczną).
    • Press the FEM mesh from shape by Gmsh button.
    • Wybierz opcję Siatka → Siatka MES z kształtu przy pomocy generatora Gmsh z menu.
  2. Opcjonalnie, edytuj minimalny i maksymalny rozmiar elementu (autodetekcja często tworzy zbyt rzadkie siatki).
  3. Wciśnij przycisk Zastosuj i poczekaj aż zakończy się generowanie siatki.
  4. Zamknij okno dialogowe. Powinieneś widzieć nowy obiekt FEMMeshGMSH dodany do aktywnego kontenera analizy.

Po utworzeniu siatki można zmienić jej właściwości używając edytora właściwości. Po zmianie właściwości należy ponownie otworzyć okno dialogowe narzędzia i wcisnąć przycisk Zastosuj (można zostawić okno dialogowe otwarte podczas zmieniania właściwości).

Właściwości

  • DANEAlgorithm2D: Algorytm do tworzenia siatek 2D. Dostępne algorytmy są opisane na stronie projektu GMSH. Dla Delaunay zobacz stronętriangulacja Delone.
  • DANEAlgorithm3D: Algorytm do tworzenia siatek 3D. Dostępne algorytmy są opisane na stronie projektu GMSH.
  • DANECharacteristic Length Max: Maksymalny rozmiar elementów. Jeśli ustawione jest 0.0 to rozmiar zostanie dobrany automatycznie. Ta właściwość może być również zmieniona w oknie dialogowym narzędzia w polu Maksymalny rozmiar elementu.
  • DANECharacteristic Length Min: Minimalny rozmiar elementów. Jeśli ustawione jest 0.0 to rozmiar zostanie dobrany automatycznie. Ta właściwość może być również zmieniona w oknie dialogowym narzędzia w polu Minimalny rozmiar elementu.
  • DANECoherence Mesh:
    • Prawda (domyślne) zduplikowane węzły siatki zostaną usunięte
    • Fałsz
  • DANEElement Dimension: Przestrzeń elementów siatki. Ta właściwość może być również zmieniona w oknie dialogowym narzędzia w polu Wymiar elementu.
    • From Shape (domyślne) przestrzeń zostanie określona na podstawie przestrzeni obiektu, dla którego siatka jest generowana
    • 1D
    • 2D
    • 3D
  • DANEElement Order: Rząd elementów. Ta właściwość może być również zmieniona w oknie dialogowym narzędzia w polu Kolejność elementów. dostępne w wersji 0.20
    • 1st
    • 2nd (domyślne)
      Uwaga: Jeśli korzystasz z solvera Elmer, możesz trafić na ten błąd: ERROR:: GetEdgeBasis: Can't handle but linear elements, sorry. To oznacza, że dane równanie (typ analizy) nie wspiera siatek drugiego rzędu. W takim wypadku użyj siatki pierwszego rzędu lub sprawdź stronę wiki danego równania żeby znaleźć ewentualne możliwości używania siatek drugiego rzędu.
  • DANEGeometrical Tolerance: Tolerancja geometryczna dla dopasowania siatki do krawędzi obiektu. Domyślne ustawienie 0.0 oznacza, że Gmsh skorzysta z wartości 1e-8.
  • DANEGroups Of Nodes: Wszystkie węzły a nie tylko elementy zostaną zapisane dla każdej fizycznej grupy siatki. Fizyczne grupy siatki to zbiory obiektów siatki (punktów, krawędzi, powierzchni i objętości). Są one identyfikowane za pomocą przestrzeni i indywidualnego oznaczenia. Przykładowo, siatka tego samego obszaru obiektu jest wewnętrznie oznaczana tak samo. Więc wszystkie powierzchnie tego obszaru będą tworzyły jedną grupę fizyczną.
  • DANEHigh Order Optimize: Czy i jak siatki z właściwością DANEElement Order = 2nd są optymalizowane. Optymalizacja odbywa się poprzez deformację krawędzi elementu.
    dostępne w wersji 0.20 Gmsh wspiera różne algorytmy optymalizacji. Elastic to algorytm, w którym elementy siatki są traktowane jako kolekcja deformowalnych ciał lepkosprężystych. Siatki pierwszego rzędu nie mogą być optymalizowane, ponieważ ich krawędzie są liniowe i nie można ich deformować.
  • DANEMesh Size From Curvature dostępne w wersji 0.20: Liczba elementów siatki na razy promień krzywizny. Aby uzyskać gęstszą siatkę dla małych wierzchołków lub otworów, należ zwiększyć tą wartość dla lepszych wyników.

Efekt właściwości Mesh Size From Curvature'. Po lewej: ustawionej na 12. Po prawej: dezaktywowanej.

  • DANEOptimize Netgen: Czy siatka będzie optymalizowana przy pomocy generatora siatki 3D Netgen aby poprawić jakość elementów czworościennych. Uwaga: ponieważ Netgen może tworzyć tylko elementy czworościenne, ta opcja jest ignorowana dla siatek, których właściwość DANEElement Dimension nie jest ustawiona na 3D.
  • DANERecombination Algorithm dostępne w wersji 0.20: Algorytm używany przez DANERecombine 3D All i przez DANERecombine All. Więcej informacji można znaleźć w sekcji Rekombinacja elementów a szczegóły technicznej znajdują się w dokumentacji Gmsh.
  • DANERecombine 3D All dostępne w wersji 0.20: Stosuje algorytm rekombinacji 3D dla wszystkich objętości. Czworościany będą przekształcone w pięciościany, prostopadłościany lub piramidki gdzie będzie to możliwe.
  • DANERecombine All: Stosuje algorytm rekombinacji dla wszystkich powierzchni. Trójkąty będą przekształcone w czworokąty gdzie będzie to możliwe a recombination algorithm to all surfaces.
  • DANEOptimize Std Optymalizuje siatkę aby zwiększyć jakość elementów czworościennych.
  • DANESecond Order Linear: Czy węzły elementów drugiego rzędu (jeśli wlaściwość DANEElement Order jest ustawiona 2nd) i / lub punkty zagęszczania siatki są tworzone przez interpolację liniową.
    • Prawda używana jest interpolacja liniowa.
    • Fałsz (domyślne) używana jest interpolacja krzywoliniowa.
  • DANEAlgorytm podziału. dostępne w wersji 0.22: umożliwia tworzenie elementów czworościennych i sześciościennych przez podział.
    • Brak: nie używa żadnego algorytmu podziału.
    • Wszystkie czworokąty: tworzy elementy czworokątne poprzez podział.
    • Wszystkie heksaedry: tworzy elementy heksaedralne poprzez podział.
    • Barocentryczny: tworzy elementy trójkątne poprzez podział barycentryczny.

Uwagi

Ujemne jakobiany

Jeśli pojawia się błąd o ujemnych jakobianach, można wypróbować następujące podejściaː

  • Ustawić właściwość DANESecond Order Linear na Prawda, ale zostawić DANEElement Order na 2nd.
  • Ustawić DANEElement Order na 1st.
  • Zmniejszyć rozmiar elementów siatki poprzez redukcję DANECharacteristic Length Max.
  • Jeśli używany jest solver ccxtools i przycisk uruchamiania (nie panel zadań) to węzły elementów z ujemnymi jakobianami będą zaznaczone na zielono.

Wzrost siatki

Na krawędziach i małych obiektach geometrycznych siatka musi być mniejsza niż w obszarach z dala od krawędzi. Więc rozmiar elementu rośnie w oddaleniu od krawędzi. Strategia wzrostu siatki w Gmsh to wzrost między krawędziami o różnych rozmiarach. Więc wzrost zawodzi jeśli obszar ma krawędzie o tych samych rozmiarach jak w poniższym przykładzieː

Wzrost siatki zawodzi, ponieważ obszar cylindryczny jest otoczony takimi samymi krawędziami.

Aby umożliwić rozsądny wzrost siatki, należy w takim przypadku dodać krawędź do tego obszaru. W tym przykładzie byłby to okrąg w środku walca. Okrąg jest dodany jako część bryły złożonej z fragmentacji funkcją logiczną, zobacz plik projektu tego przykładu.

Rozsądny wzrost siatki dzięki dodatkowej krawędzi w środku cylindrycznego obszaru.

Rekombinacja elementów

Elementy mogą być rekombinowane na dwa sposoby, na powierzchni obiektów tak, że trójkąty są przekształcane w czworoboki jeśli to możliwe i w objętości obiektów tak, że czworościany są przekształcane w pięciościany, prostopadłościany lub piramidki jeśli to możliwe. Oczywiste jest, iż wynik rekombinacji silnie zależy od geometrii obiektu i że rekombinacja obiektu 3D tylko na powierzchni zwykle prowadzi do niepożądanych rezultatów.

Zostało to przedstawione na rysunku poniżej. Siatka dla prostopadłościanu jest tworzona ze standardowymi ustawieniami (czworościany drugiego rzędu) To rysunek w lewym górnym rogu. Rysunek w prawym górnym rogu pokazuje wynik gdy dodatkowo elementy są rekombinowane tylko na powierzchni obiektu. Wynik jest zły, ponieważ zmienione elementy na powierzchni nie pasują do niezmienionych elementów w objętości. Więc sama właściwość DANERecombine All zwykle ma sens tylko dla siatek 2D.
Jeśli używana jest dodatkowo właściwość DANERecombine 3D All, wynik jest lepszy (lewy dolny rysunek). Jednak wynik nie odbiega znacząco od siatki bez rekombinacji. Ponieważ obiekt jest prostopadłościanem, rozsądne jest użycie algorytmu rekombinacji, który próbuje też utworzyć prostopadłościany. Taki wynik jest pokazany na prawym dolnym rysunku.

Algorytm rekombinacji Simple zostawi pewną liczbę trójkątów w siatce jeśli rekombinacja prowadzi do złej jakości czworoboków. W takich przypadkach należy użyć algorytmu full-quad, który automatycznie tworzy rzadszą siatkę a następnie dokonuje rekombinacji, wygłaszania i podziału. Więcej informacji można znaleźć w tym wątku na forum.

Efekt rekombinacji elementów siatki.
Górny lewy róg: standardowa siatka.
Górny prawy róg: rekombinacja tylko na powierzchni przy pomocy algorytmu Simple.
Dolny lewy róg: rekombinacja na powierzchni i w objętości przy pomocy algorytmu Simple.
Dolny prawy róg: rekombinacja na powierzchni i w objętości przy pomocy algorytmu Simple full-quad