Vraag:
Meshing van complexe geometrische domeinen
Bérenger
2015-02-04 22:41:32 UTC
view on stackexchange narkive permalink

When using the finite element method, I have always used either already meshed domains or very simple ones.

From what I've heard, meshing complex geometries is often outsourced to specialized companies (as it is considered not to be an interesting part of the job).

I am wondering how it is done: is it partly automatic, should you have to define the points and connectivities by hand in some cases? What are the most commonly used criteria to ensure the mesh will fulfill the expectation of the customer? What are the trends: should we expect it to be fully automatic in the coming years?

Edit:I recently found a partial answer to this question: Isogeometric Analysis (IGA). IGA can been seen as an extension of the finite element method in order to solve the problem of mesh generation by creating a mesh directly from the CAD. It uses the CAD spline description of the geometry to automatically build both the mesh and the finite element space.

And one of the reason it has been developped is because the authors noticed that mesh generation is so painful that it takes most of the time to achieve in the industry, and mesh convergence is only rarely checked.

The method seems to be really interesting but not widely used since relatively new (10 years).

Ik ben geen expert op het gebied van meshing, maar ik heb het een paar keer gedaan en het hangt grotendeels af van wat je wilt bereiken en hoeveel tijd je ervoor hebt. Meshing kan praktisch automatisch zijn met de standaardconfiguratie, maar u kunt de configuratie ook lokaal wijzigen, en in sommige software kunt u zowel de vorm van mesh-elementen als hun grootte handmatig definiëren voor bijna elk knooppunt.
Dit lijkt mij in zijn huidige vorm een ​​te brede grens. Er zijn hele boeken over meshing geschreven. Zou het mogelijk zijn om de reikwijdte van de vraag verder te beperken?
Ook geen expert, maar denk dat 90% + automatisch is. Handmatige aanpassing wordt gedaan als de simulaties onrealistische resultaten laten zien of niet convergeren. Anders ben ik het hier voorlopig eens met @PaulGessler, hoewel ik denk dat de vraag met een klein beetje goed zou kunnen werken. Het is een interessant vakgebied. Waarschijnlijk is het laatste deel iets te breed voor mij "trends in de komende jaren" en zou het probleem specifieker kunnen worden genoemd, bijv. met een concreet voorbeeld.
@PaulGessler Ik ben het ermee eens dat de vraag breed is. Het gaat echt om meshing gezien door de ogen van een ingenieur. Ik weet dat het veel boeken zijn over meshing, maar ik denk dat de meeste ervan wiskundig gezien zijn en weinig informatie geven over wat er in concrete gevallen wordt gedaan.
@pandita Helaas heb ik niet zo'n concreet voorbeeld. Misschien is 90% automatisch, misschien zelfs 99%. Maar de resterende 10% of 1% is een groot probleem van wat ik heb gehoord.
Vijf antwoorden:
Wes
2015-02-12 21:32:18 UTC
view on stackexchange narkive permalink

Er zijn een aantal technieken om complexe domeinen te meshen voor eindige-elementenanalyse. Ze vallen over het algemeen in twee categorieën: gestructureerd versus ongestructureerd. Voor gestructureerde meshes kan in principe de hele mesh direct worden toegewezen aan een 3D-array van XYZ-coördinaten, terwijl ongestructureerde rasters dat niet kunnen. Er is een goede beschrijving van de classificaties met afbeeldingen hier: http://en.wikipedia.org/wiki/Grid_classification

Binnen gestructureerde meshing zijn er twee specifieke typen:

Gestructureerde meshes:

  • Cartesische mesh - Dit is in feite het gebruik van hexahedrale kubussen om de elementen weer te geven. Een bekend pakket dat Cartesiaanse meshing gebruikt, is Cart3D. Dit is niet echt ingewikkeld, maar de moeilijkheid is om te bepalen waar de kubussen het oppervlak kruisen.

  • Body-fit mesh - in body-fit kromlijnige meshes kunnen ze worden onderverdeeld in: algebraïsche rasters of elliptische rasters. In beide gevallen moet de gebruiker de punten op de grenzen van het domein definiëren. Om punten in het binnenste van het domein te genereren, gebruiken algebraïsche rasters meestal een variatie op een techniek genaamd Hermite-interpolatie om de interne punten te genereren. Elliptische rasters kunnen kromlijnige rasters produceren waarbij in principe alle rasterlijnen orthogonaal zijn, en zijn over het algemeen wat wordt gebruikt als het gaat om op het lichaam passende mazen. De interne punten worden hier in principe berekend door een elliptische partiële differentiaalvergelijking op te lossen. Het defacto-handboek voor dit soort lichaamsgerichte technieken is hier online beschikbaar: http://www.erc.msstate.edu/publications/gridbook/. De auteur van dit boek wordt in feite beschouwd als "de vader van het genereren van rasters", omdat hij de elliptische mesh bedacht voor het genereren van mesh.

Ongestructureerde meshes

  • Omdat ongestructureerde grids niet kunnen worden toegewezen aan een 3D-array, moeten ze ook een connectiviteitstoewijzing specificeren, die kan relateren welke elementen gerelateerd zijn aan andere elementen. Het basisalgoritme dat wordt gebruikt, heet "Delauney-triangulatie", dat hier in detail wordt besproken: http://en.wikipedia.org/wiki/Delaunay_triangulation. Een van de populaire boeken die dit onderwerp behandelen, heet "The Handbook of Grid Generation".

  • Het basisalgoritme hier is, gegeven een eerste set punten op de grens :( 1) Bereken een eerste triangulatie, (2) Voer een kwaliteitscontrole uit op basis van het verfijningsalgoritme van Ruppert ( http://en.wikipedia.org/wiki/Ruppert%27s_algorithm), (3) Invoegen of verwijderen punten gebaseerd op het algoritme van Ruppert, zodat de tetraëders die worden gegenereerd een minimale hoek hebben (bijvoorbeeld 24 graden).

Om uw vraag over criteria te beantwoorden, wat maakt een goede mesh te maken hebben met een aantal factoren, maar een paar van de belangrijkste factoren zijn: (1) rasterresolutie (zijn er voldoende rasterpunten om de vereiste resolutie te krijgen) en (2) de geometrie van de elementen (scheefheid, minimale hoek, aspectverhouding, enz.). Dit wordt hier besproken: http://en.wikipedia.org/wiki/Types_of_mesh Deze beide hebben invloed op de kwaliteit van een eindige-elementenoplossing. Er is nog een ander aspect van ongestructureerde grid-meshing genaamd "Advancing Front", dat wordt gebruikt om punten te produceren nabij de grens in het geval van Fluid Dynamics.

Na dat alles gezegd te hebben, vereisen de meeste technieken eerst wat werk en dan zijn ook enigszins automatisch. In elk type mesh-algoritme zal de gebruiker enige tijd moeten besteden aan het definiëren van de geometrie en een eerste puntverdeling op het oppervlak. Mijn ervaring is dat op het lichaam passende meshes de meeste tijd kosten. Zowel de Delaunay-triangulatie als de Cartesiaanse mazen zijn in principe automatisch bij het genereren van de punten van het innerlijke domein.

Ik heb de afgelopen jaren niet veel werk op dit gebied gedaan, maar de trend in het verleden was om van op het lichaam gemonteerde roosters af te wijken naar ofwel ongestructureerde Delaunay-triangulaties of Cartesiaanse roosters. Er zijn ook enkele codes die een cartesische mesh kunnen omzetten in een ongestructureerde Delaunay-mesh en vice versa (bijvoorbeeld Gambit).

Ik denk niet dat deze meshing-codes ooit volledig automatisch zullen zijn, omdat er een bepaald niveau van invoer nodig is om de geometrie te specificeren, wat meestal het opschonen van een CAD-model inhoudt. Er zijn recentelijker technieken ontwikkeld om ook veel van deze taken te automatiseren. Het genereren van de interne punten van het domein gaat tegenwoordig vrijwel volledig automatisch. Deze moderne systemen voor het genereren van netten worden tegenwoordig behoorlijk volwassen in termen van het produceren van hoogwaardige netten. Een van de onderzoeksgebieden in het afgelopen decennium was het versnellen van de netopwekking door gebruik te maken van parallelle verwerking, en in de afgelopen jaren is het parallel genereren van netten met behulp van meerdere grafische verwerkingseenheden (GPU).

Er is een volledige lijst met mesh-generatiesoftware hier: http://www.robertschneiders.de/meshgeneration/software.html Deze zouden onder een van de drie bovenstaande categorieën moeten vallen.

Ik denk dat er een mogelijkheid is voor "willekeurige gifschijfbemonstering" in het domein als een pseudo-gestructureerde automatische rastering. Ik vraag me af of de schijfdiameter kan worden verbeterd door een oplossing te berekenen van zoiets als de warmtevergelijking en de straal evenredig te maken met de warmteflux of iets dergelijks. https://www.youtube.com/watch?v=G94y3YRqSHk http://www.sandia.gov/~samitch/papers/SIGGRAPH-MPS-for-posting.pdf http://stackoverflow.com/questions/14313916 / hoe-willekeurig-steekproefpunten-kiezen-die-ruimtebezetting-maximaliseren
m2n037
2016-02-09 01:19:18 UTC
view on stackexchange narkive permalink

Terwijl de andere jongens het theoretische kader achter meshing uitlegden, is de praktijk duidelijk anders en is het helemaal niet automatisch in industrieën waar de kwaliteit van mesh van het grootste belang is, aangezien de resultaten van eindige elementenanalyses een groot deel van de productontwikkeling beslaan proces.

Laten we eerst begrijpen hoe meshing wordt gedaan:

Meshing voor structurele domeinen bestaat uit drie typen: 1D meshing, 2D meshing en 3D meshing op basis van het type elementen dat wordt gebruikt voor meshing.

  • 1D meshing: lijnelement

  • 2D-meshing: quad / tria-element

  • 3D-meshing: hexa (brick) / penta / tetra-elementen.

Welke mesh moet worden gebruikt, dwz 1D, 2D of 3D is voornamelijk afhankelijk van de vereiste rekennauwkeurigheid, rekenkosten (tijd die nodig is om het probleem op te lossen) en aspectverhouding van het domein . De hoogste aspectverhouding moet meer dan 10 zijn (als een duimregel in het algemeen) om een ​​dimensie te verwaarlozen en voor een mesh met een lage dimensie te gaan.

Laat het me uitleggen.

  • Een domein dat 100x50x80 is, heeft allemaal vergelijkbare afmetingen en de hoogste aspectverhouding is 100/50 = 3. Daarom zullen 3D-elementen worden gebruikt om dat deel te meshen.

  • Een domein dat 100x50x8 is, heeft één dimensie verwaarloosbaar en de hoogste aspectverhouding is 100/8 = 12. Daarom zullen 2D-elementen worden gebruikt. Een plaatstalen onderdeel is hier een perfect voorbeeld van.

  • Een domein dat 100X5X8 is, heeft twee verwaarloosbare afmetingen en de hoogste aspectverhouding is 100/5 = 20. Daarom zullen 1D-elementen worden gebruikt. Een truss-montage dient als voorbeeld.

Als u eenmaal beslist welk type elementen u wilt gebruiken, komt de elementkwaliteit in beeld. Om de kwaliteit te behouden, moet meshing handmatig worden gedaan .

Alle meshing-software wordt geleverd met een automesh-optie, die alleen werkt met in kaart te brengen onderdelen en rechte vlakken / blokken. De meeste verklaringen in andere antwoorden (in het bijzonder het antwoord van @ Wes) hebben betrekking op wat er op de achtergrond wordt gedaan om automesh te laten werken.

Het idee is dan om uw domein in meerdere patches op te splitsen en ze patch voor patch te automatiseren en continu de verbinding tussen de patches te verzekeren . Het verzekeren van connectiviteit is meestal automatisch op basis van een op tolerantie gebaseerde controle. 1D-meshing is in deze aspecten gemakkelijker.

Het volgende is om de maasstroom en symmetrie te behouden. Meshflow geeft de transformatie van elementafmetingen aan. Wanneer u een complex object moet vertegenwoordigen, verandert de elementgrootte van groter naar kleiner. Dit zou niet in een flits moeten gebeuren en de geleidelijke verandering van grootte moet worden gehandhaafd. Symmetrische onderdelen moeten ook symmetrische mesh hebben om de integriteit van de resultaten van FEA te behouden.

Alle bovenstaande punten zullen helpen om de meshkwaliteit te behouden. Meshing-software heeft echter meestal een voorziening om de mesh-kwaliteit te controleren met behulp van een paar parameters die naar eigen behoefte kunnen worden aangepast. Een laatste controle op kwaliteit en connectiviteit is essentieel om kwaliteitsresultaten van FEA te garanderen.

Enkele kwaliteiten die van een goede mesh worden verwacht:

van 1D mesh

  • Geen probleem met connectiviteit van knooppunten
  • Geen dubbele elementen
  • Minimale en maximale lengte behouden

van 2D / 3D mesh

  • Minder dan 5 graden kromtrekkingshoek {berekend door een quad in twee tria's te splitsen en de hoek te vinden tussen de twee vlakken die de trias vormen}
  • Aspectverhouding kleiner dan 5 {de maximale lengtezijde van een element wordt gedeeld door de minimale lengtezijde van het element.}
  • Scheefstandhoek meer dan 60 graden {de minimale hoek tussen de vector van elk knooppunt aan de tegenoverliggende middenzijde en de vector tussen de twee aangrenzende middenzijden bij elk knooppunt van het element. Negentig graden minus de gevonden minimumhoek wordt gerapporteerd.}
  • Jacobiaans meer dan 0,7 {De Jacobiaanse ratio is een maat voor de afwijking van een bepaald element van een ideaal gevormd element. De Jacobiaanse waarde varieert van -1,0 tot 1,0, waarbij 1,0 staat voor een perfect gevormd element. De ideale vorm voor een element hangt af van het elementtype.}
  • Tria-elementen met een hoek tussen 20 en 120 graden
  • Quad-elementen met een hoek tussen 45 en 135 graden
  • Behoud minimum en maximum lengte
  • Element connectiviteit
  • Minder dan 10% tria-elementen in 2D mesh
  • 2D element normalen georiënteerd in dezelfde richting voor een bepaald delen.
  • Tet-instorting voor tetra-elementen {Gedefinieerd als de afstand van een knoop vanaf het tegenoverliggende vlak gedeeld door het oppervlak van het vlak vermenigvuldigd met 1,24}

van alle mazen

  • De knooppunten en elementen correct nummeren in gedefinieerde bereiken
  • Minimale afwijking van geometrie en afwijking ondersteund door goed technisch oordeel.
  • Speciale verbindingen tussen verschillende typen (1D / 2D / 3D) elementen correct gedefinieerd.

Al deze kwaliteitsparameters kunnen echter variëren, afhankelijk van het type analyse, vereiste nauwkeurigheid, bedrijf richtlijnen en rekenkosten.

Wh y deze dingen zijn niet geautomatiseerd:

Eindige elementenanalyse vereist een correcte mesh om correcte resultaten te geven. Deze correctheid kan niet worden gedefinieerd met een paar parameters en zelfs dan zullen ze tegenstrijdig zijn.

Ook hier voor verschillende soorten analyses kan de definitie van meshkwaliteit verschillen.

Materiaal, geometrie en non-lineariteit bij contact maken de vereisten nog ingewikkelder bij het definiëren van een goede mesh.

Een eerste wegversperring die ik heb waargenomen bij het gebruik van de automesh-functie is de onjuiste weergave van geometrie om de kwaliteit van de mesh in andere aspecten te behouden. Beiden zijn belangrijk. Ook kan de weergave van geometrie worden vereenvoudigd met goede technische oordelen, die moeilijk te automatiseren zijn, aangezien dit van geval tot geval varieert.

Hypermesh is bijvoorbeeld een erg populair commercieel meshing-pakket van Altair Engineering met een Batchmesher-applicatie die de meshing voor je doet. Het slaagt er echter niet in om de juiste geometrieafwijkingen en verbindingen tussen elementen voor complexe onderdelen te behouden.

tl; dr:

Dit is hoe meshing professioneel wordt gedaan

  • Beslis wat voor soort gaas gebruikt moet worden
  • Gaas de onderdelen patch voor patch en zorg voor goede verbindingen
  • Behoud mesh flow en symmetrie
  • Voer alle kwaliteitscontroles uit en zorg voor kwaliteit
  • Zorg voor een goede connectiviteit
  • Controleer geometrieafwijkingen en eindige elementenmassa
  • Lever het model aan analisten die opnieuw -mesh bepaalde gebieden afhankelijk van de analyse-eisen.

PS: ik ben nieuw op dit forum en dit is een van mijn eerste antwoorden die ik heb gegeven veel moeite. Ik zou het erg waarderen als ik wat feedback krijg. Ik heb een paar Quora-antwoorden over meshing en FEA waar deze punten in detail worden uitgelegd met afbeeldingen. [Praktische eindige-elementenanalyse]

PdotWang
2015-02-11 22:06:59 UTC
view on stackexchange narkive permalink

(1) Is het gedeeltelijk automatisch?

Ja, dat is zo. En het zou volledig automatisch kunnen zijn.

(2) Moet u in sommige gevallen de punten en verbanden met de hand definiëren?

Nee, behalve in huiswerk in de klas. Overigens wordt het knooppunt en element genoemd.

(3) Wat zijn de meest gebruikte criteria om ervoor te zorgen dat de mesh voldoet aan de verwachting van de klant?

Dit zou een boek kunnen zijn.

(4) Wat zijn de trends: mogen we verwachten dat het de komende jaren volledig automatisch zal verlopen?

Ja, het is al automatisch, maar moet nog worden verbeterd.

rdt2
2015-09-04 16:21:14 UTC
view on stackexchange narkive permalink

Een lichaam ineengrijpen met 2D-driehoeken of 3D-tets kan automatisch worden gedaan, maar deze elementen geven niet de beste resultaten: quads en stenen zijn over het algemeen beter. Een lichaam volledig ineengrijpen met quads / bricks kan echter niet automatisch worden gedaan en u moet het handmatig in blokken verdelen die automatisch kunnen worden verwerkt. Dit is niet triviaal.

Ook is een mesh die goed geschikt is voor thermische analyse over het algemeen niet geschikt voor bijvoorbeeld een trillingsanalyse.

Dat gezegd hebbende, het uitvoeren van analyses met enorme aantallen kleine elementen is niet het probleem dat het ooit was en daarom is het aanpassen van de mesh aan het type analyse minder belangrijk dan het ooit was. Ook lijkt het tet-element, ontworpen door Burton en Clegg ( Tetrahedral Elements for Explicit Ballistics Simulations ), net zo goed te presteren als een brick, dus mijn eerste punt is misschien minder belangrijk dan het was.

Kortom, automatische meshing heeft een lange weg afgelegd, maar is nog steeds onderwerp van veel onderzoek. Zal het ooit volledig automatisch zijn? Ik ben geneigd eraan te twijfelen. Zelfs met het automatisch opnieuw vormen van gebieden met hoge veldgradiënten, denk ik dat een goede eerste keuze van mesh nuttig zal zijn.

SparseSolverCodes
2017-03-19 14:14:58 UTC
view on stackexchange narkive permalink

Ja, er zijn meshing-softwareprogramma's die volledig automatische meshing mogelijk maken. Als u geïnteresseerd bent in het meshing van vlakke of gebogen oppervlakken, zijn er verschillende producten die volledig automatisch meshing bieden, waardoor 100% vierzijdige meshes worden geleverd op oppervlakken van elke graad van complexiteit. Ik raad u aan de volgende webpagina te bezoeken en een van de programma's te kiezen die zo dicht mogelijk bij uw behoeften past (sommige van deze programma's zijn het beste voor bouwtechnische toepassingen, andere - voor het modelleren van printplaten, enz.) http://members.ozemail.com.au/~comecau/products.htm



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 3.0-licentie waaronder het wordt gedistribueerd.
Loading...