DE69801113T2 - Längste-kanten verfeinerungs- und vergröberungssystem und -verfahren zur automatischen maschen-erzeugung - Google Patents
Längste-kanten verfeinerungs- und vergröberungssystem und -verfahren zur automatischen maschen-erzeugungInfo
- Publication number
- DE69801113T2 DE69801113T2 DE69801113T DE69801113T DE69801113T2 DE 69801113 T2 DE69801113 T2 DE 69801113T2 DE 69801113 T DE69801113 T DE 69801113T DE 69801113 T DE69801113 T DE 69801113T DE 69801113 T2 DE69801113 T2 DE 69801113T2
- Authority
- DE
- Germany
- Prior art keywords
- edge
- elements
- vertex
- mesh
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
- Diese Erfindung betrifft das computergestützte geometrische Modellieren eines Körpers, wie es bei der Verwendung einer finite Elemente Analyse benötigt wird. Insbesondere betrifft die Erfindung die Erzeugung eines verbesserten und/oder verfeinerten und/oder vergröberten Netzes von finiten Elementen unter Verwendung eines verbesserten und flexiblen Netzerzeugungsverfahrens, eine verbesserte Netzdatenstruktur, und eine Vorrichtung dafür.
- Eine finite Elemente Analyse ist ein leistungsfähiges computerbasiertes Werkzeug zum Lösen von Ingenieur- und physikalischen Problemen, geleitet durch partielle differentielle Gleichungen. Eine finite Elemente Analyse wird bei einer Approximation einer beliebigen kontinuierlichen physikalischen Charakteristik eines Objekts oder eines geometrischen Bereichs verwendet, wie beispielsweise Temperatur, Wärme, Vibration, Fluss von Fluiden, elektrischen Feldern, Druck, etc. Eine finite Elemente Analyse ist besonders wichtig, wenn die Geometrie des zu modellierenden Objektes relativ komplex ist, z. B. kleine Details enthält, da die differentiellen Gleichungen für solche Anwendungen verstärkt schwierig genau zu aproximieren sind.
- Ein anfänglicher Schritt einer finite Elemente Analyse umfasst den Aufbau eines Netzes von finiten Elementen, die den geometrischen Bereich abdecken, deren Eckpunkte wiederum Punkte sind, die auf einer Oberfläche und in dem Inneren des Objektes ausgewählt sind. Genaue und moderne finite Elemente Analyse erfordert, dass ein flexibles Netzverbesserungs/Verfeinerungs/Vergröberungsverfahren, alternativ als Punktanordnungs/Eliminationsverfahren beschrieben, verwendet wird, um ein Netz zu erzeugen, das mindestens fünf Kriterien erfüllt: (1) Die gesamte Punkt- oder Eckpunktdichte kann spezifiziert und modifiziert werden; (2) die Dichte von Eckpunkten sollte sich in kritischen Bereichen erhöhen und/oder vermindern (d. h. in solchen, die kleine Merkmale und konkave Ecken aufweisen oder wie es in manchen zeitabhängigen Problemen erforderlich ist); (3) schlecht geformte finite Elemente sollten verhindert werden; (4) ein Netz aus einem Satz von Eckpunkten sollte in bestimmten Bereichen durch den Benutzer oder das finite Elemente Analyse Lösungsverfahren verfeinert und/oder vergröbert werden können; (5) das Netz sollte die Objektbegrenzungen und Schnittstellen respektieren.
- Es ist bekannt, dass die Erzeugung eines 3-D-Netzes, geeignet für eine finite Elemente Analyse, bei der Verwendung eines Computers eine der zeitaufwendigsten Schritte ist, um ein komplexes Ingenieursproblem zu analysieren. Das meiste der zurückliegenden Arbeit in Verbindung mit dreidimensionaler Netzverbesserung/Verfeinerung/Vergröberung und/oder Punktanordnung/Elimination hatte heuristische Natur. Für eine genaue Analyse forderten viele Ansätze signifikante Benutzerinteraktionen zwischen dem Benutzer und dem Netzerzeugungssystem.
- Mehrere wissenschaftliche Artikel, die Netzerzeugungsverfahren zur Verwendung bei finiter Elementanalyse betrachten, wurden veröffentlicht. Insbesondere betrachten mehrere Veröffentlichungen in dem International Journal for Numerical Methods in Engineering die Erzeugung eines Netzes durch die Delaunay Triangulation. Diese Veröffentlichungen sind die folgenden: Cavendish et al., Vol. 21, S. 329-347, (1985); Frey, Vol. 24, S. 2183- 2200, (1987); Schroeder et al., Vol. 26, S. 2503-2115, (1988); Schroeder et al., Vol. 29, S. 35-55, (1990); Golias et al., Vol. 37, S. 793-812, (1994); Field et al., Vol. 31, S. 413-425, (1991); Wheaterill et al., Vol. 37, S. 2005-2039 (1994).
- Andere Veröffentlichungen, die die Delaunay Triangulation berücksichtigen sind die folgenden: Baker, Engineering with Computers, Vol. 5, S. 161-175, (1989); Mitchell et al., IEEE Transactions on Magnetics, Vol. 28, S. 1751-1754 (1992); Ruppert, Journal of Algorithms, Vol. 18, 548-585 (1995); Rebay, J. Comp. Physics, Vol. 106, 125-138 (1993); Joe, Siam J. Sci. Comput. Vol. 16, 1292-1307 (1995).
- Jede der vorhergehend genannten Veröffentlichungen verwendet eine Lehre von Delaunay, um eine planare Triangulation und dreidimensionale Tetraederisierung zu erzielen. Ein tetraedales Netz ist als "Delaunay Tetraederisierung" definiert, dann und nur dann, wenn jeder Tetraeder in dem Netz, dessen Bereich durch vier Kanten des Tetraeders definiert ist, sein Umfang genannt, keine Netzkanten in seinem Innenbereich aufweist. Kanten auf der Umfangsbegrenzung sind erlaubt. Die gleiche Eigenschaft trifft auf zweidimensionale Oberflächen zu: eine Oberflächentriangulation wird als Delaunay-Triangulation bezeichnet, dann, und nur dann, wenn für jedes Dreieck in dem Netz, ein durch die drei Eckpunkte definierter Kreis keine anderen Eckpunkte in seinem Inneren aufweist.
- Es ist jedoch dem Fachmann wohlbekannt, dass die Fähigkeit des dreidimensionalen Delaunay-Verfahrens, hochqualitative Netze zu erzeugen, stark von dem Punktanordnungsverfahren abhängt. Qualität ist ein sehr wichtiger Faktor, da ein Netz mit schlechter Qualität eine ungenaue numerische Annäherung bewirken kann. Demzufolge sind schlecht geformte Tetraeder zu vermeiden, insbesondere "Scheiben", d. h. Tetraeder, die durch 4 annähernd koplanare Kanten definiert werden und deren längste Kante und kürzeste Kante "vergleichbare Größe" aufweisen. Die meisten der vorhergehend genannten Dokumente diskutieren einige Punktanordnungsstrategien und einige Netzverbesserungs- und/oder Netzverfeinerungswerkzeuge.
- Cavendish et al.(1985) implementierte solch eine Triangulation durch Zurückweisen, aus dem Satz von allen möglichen Dreiecken, die gebildet werden können, von solchen, die keine nicht leeren zugeordneten Kreise aufweisen. Die nicht abgewiesenen Dreiecke bilden die Delaunay- Triangulation. Schroeder et al. (1988) wendet solche Lehren auf dreidimensionale Oberflächen an.
- Frey (1987) lehrt ein Verfahren zur selektiven Verfeinerung einer anfänglichen Triangulation. Eine Abstufung des Netzes wird durch eine Knotenbeabstandungsfunktion gesteuert, wobei ein möglicher Knoten eingefügt wird und seine Beabstandung von benachbarten Knoten bewerten wird. Jeder neue mögliche Knoten wird auch getestet, um festzustellen, ob seine Einfügung zu einer Delaunay-Triangulation mit einem akzeptablen Beabstandungsgrad an jedem Knoten führen würde. Schroeder et al. (1990) verwendet ein Octree-Verfahren zum Erzeugen eines Satzes von Punkten, die die Geometrie des Objektes repräsentieren.
- Golias et al. (1994) beschreibt ein elementbasiertes Verfahren zum Durchführen einer automatischen Netzverfeinerung, die Beinahe-Delaunay-Triangulationen wie folgt erzeugt: der Mittelpunkt der längsten Kante jedes Zielelementes wird ausgewählt und alle Elemente, die diese Kante auch aufweisen, werden partitioniert; das so erhaltene Nicht-Delaunay-Netz wird dann der wiederholten Anwendung eines Satzes von lokalen topologischen Transformationen unterzogen, durchgeführt an allen Elementen des Netzes, gefolgt durch ein insgesamtes Knotenrelaxationsverfahren, bis das Gleichgewicht des Netzes erzielt ist.
- Field et al. (1991) verwenden auch lokale Transformationen zum Erzeugen von Beinahe-Delaunay-Netzen, die ein lokales max-min Festwinkelkriterium erfüllen. Weatherill et al. (1994) wählen die dem Netz hinzuzufügenden Punkte zwischen den Schwerpunkten der Elemente des Netzes aus durch Verwendung von unterschiedlichen Punktverteilungsfunktionen, interpoliert zu den Inneneckpunkten. Baker (1989) betrachtet die Hinzufügung eines neuen Eckpunkts nahe jeder Scheibe, gefolgt durch einen Retriangulierungsschritt. Mitchell et al. (1992) verwendet eine Elementgrößenfunktion im gesamten Netz und eine lokale Neuausrichtung der Knoten zum Verbessern des Netzes. Joe (1995) verwendet weiter lokale topologische Transformationen zum Erzeugen von verbesserten Beinahe- Delaunay-Netzen.
- Ruppert (1995) lehrt ein Punkteinfügungsverfahren, das den Aufbau von 2-D-Delaunaytriangulationen mit guter Qualität garantiert, durch Hinzufügen von Punkten im Umfangsbereich der schlechtesten kleinwinkligen Dreiecke des momentanen Netzes. Rebay (1993) lehrt ein alternatives Punkteinfügungsverfahren basierend auf einem Auswählen eines maximalen nicht akzeptierten Dreiecks, was auch benachbart zu einem akzeptierten Dreieck liegt; dann Auswählen eines Punktes, der über dem Segment angeordnet ist, der den Umfangskreis der zwei Dreiecke verbindet.
- In der wissenschaftlichen Literatur wurde auch Verfahren beträchtliche Aufmerksamkeit gezollt, die die Verfeinerung eines allgemeinen Nicht-Delaunay-Netzes betrachten, durch ein Durchführen von selektiven Längste-Kante-Unterteilungen eines Satzes von geeigneten Elementen des Netzes. In zwei Dimensionen wird eine Längste-Kante-Bisektion erhalten durch ein Unterteilen des Elementes durch die Linie, definiert durch den Mittelpunkt der längsten Kante und den gegenüberliegenden Eckpunkt. In drei Dimensionen wird eine Längste-Kante-Bisektion (Teilung) wiederum erhalten durch ein Partitionieren des Elementes durch die Ebene, definiert durch den Mittelpunkt der längsten Kante und die zwei gegenüberliegenden Eckpunkte. Es wurde gezeigt, dass die Längste-Kante-Verfeinerungsverfahren die Punkteverteilung verbessern, durch Aufrechterhalten einiger kleinwinkliger Dreiecke, die von der Qualität des anfänglichen Netzes abhängen. Die folgenden Dokumente betrachten die Anwendung dieser Ideen und die Erzeugung eines Netzes dafür:
- Rivara, International Journal for Numerical Methods in Engineering, Vol. 20, S. 745-756 (1984a); Rivara, ACM Trans, on Mathematical Software, Vol. 10, S. 242-264 (1984b) Rivara, In Accuracy Estimates and Adaptive Refinements in Finite Element Computations; John Wiley and Sons, Chichester, S. 359-370 (1986); Rivara, International Journal for Numerical Methods in Engineering, Vol. 24, S. 1343-1354 (1987); Rivara, International Journal for Numerical Methods in Engineering, Vol. 28, S. 2889-2906 (1989); Rivara et al. Communications on Applied Numerical Methods, Vol. 8, S. 281-290 (1992); Liu et al., SIAM J. Sci. Computing, Vol. 16, S. 1269-1291 (1995); Liu et al., Mathematics of Computation, Vol. 65, S. 1183-1200 (1996); Muthukrishnan, et al. AIAA Journal, Vol. 33, S. 928-932, (1995); Jones et al., Computing Systems in Engineering, Vol. 5, S. 297-309, 1994.
- Rivara (1984a) lehrt zwei Arten von Längste-Kante- Bisektionsverfeinerungsverfahren in zwei Dimensionen, die einige Nachbarverfeinerungs- und einige zwischengelagerte ungültige Netze erzeugen, und legt deren mathematische Eigenschaften dar; Rivara (1984b und 1986) diskutiert die Anwendung dieser Lehren in adaptiver Multigitterfinitelementanalyse; Rivara (1987) lehrt die Implementierung eines 4-Dreiecke-Verfahrens, ebenso basierend auf den Eigenschaften von Längste-Kante-Bisektionen, das auch einige zwischengelagerte ungültige Netze erzeugt; Rivara (1989) generalisiert diese Lehren auf die Vergröberung von geschachtelten Triangulationen basierend auf einer Zuordnung, für jeden neuen Eckpunkt, der Erzeugungsebene, und rekursive Verwendung dieses "Etiketts" zur Identifizierung eines Satzes von Eckpunkten, Kanten und Dreiecken, die zu eliminieren sind. Das Vergröberungsverfahren erzeugt einige zwischengelagerte nicht gültige Netze.
- Rivara et al. (1992) lehrt und diskutiert ein dreidimensionales Längste-Kante-Verfeinerungsverfahren basierend auf einer Durchführung einer rekursiven Bisektion der Zielelemente und einiger derer größter Nachbarn. Liu et al. (1995 und 1996) betrachtet zwei Arten von dreidimensionalen Verfahren basierend auf einer Bisektion.
- Rivara (1984b) und Rivara et al. (1992) lehren Netzdatenstrukturen basierend auf einer Zuordnung an einen jeweiligen Eckpunkt des Satzes von geordneten Nachbareckpunkten, und des Satzes der Dreiecknachbaroberflächen. Muthukrishnan et al. (1995) lehren eine Abwandlung des Längste-Kante-Verfahrens von Rivara et al. (1992) basierend auf einer Durchführung einer Sortierung der Liste von zu verfeinernden Elementen in aufsteigender Reihenfolge nach ihren längsten Kanten; Zuordnen eines Verfeinerungsverhältnisses zu diesen Elementen und Verteilen auf deren Abkömmlinge; Einfügen der benachbarten Elemente eines jeden ausgewählten Elementes in die Liste an einer Position basierend auf der längsten Kante; und Verwendung der Reihenfolge, um den Elementunterteilungsvorgang durchzuführen.
- Jones et al. (1994) lehrt ein paralleles skalierbares Bisektionsverfahren für die Verfeinerung von zweidimensionalen Triangulationen basierend auf dem 4- Dreiecke-Verfahren von Rivara (1984a) unter der Annahme, dass die Prozessoren durch einen gemeinsam genutzten Speicher kommunizieren. Jedes zu verfeinernde Zieldreieck wird einem Prozessor zugeordnet, der die Nachbarverfeinerung in dem Netz nachverfolgt, was zwischengelagerte ungültige Netze erzeugt. Um Synchronisationsprobleme zu vermeiden (da zwei unterschiedliche Prozessoren Eckpunkte an dem gleichen Ort erzeugen könnten, wenn ein Dreieck bisektioniert wird) bestimmt das parallele Verfahren Sequenzen von unabhängigen Sätzen von Dreiecken und verfeinert die Dreiecke in diesen Sätzen parallel.
- Die folgenden neueren Veröffentlichungen betrachten die Kombination von Längste-Kante-Punkteinfügungsverfahren und Delaunay Triangulationen: Rivara et al., International Journal for Numerical Methods in Engineering, Vol. 40, 581- 597 (1997a); Rivara, Proceedings 5th International Meshing Roundtable, Pittsburgh, October 10-11 1996, S. 77-86 (1996); Rivara, International Journal for Numerical Methods in Engineering, Vol. 40, 3313-3324 (1997); Rivara et al., AMD- Vol. 220, The American Society of Mechanical Engineers, S. 1- 8 (1997b).
- Rivara et al. (1997a) betrachtet eine Delaunay Triangulation in zwei Dimensionen und lehrt ein Verfahren, das für jedes Zielelement die Delaunay-Einfügung eines Clusters (Ansammlung) von Punkten durchführt, definiert durch das Längste-Kante-Bisektionsverfahren, gelehrt durch Rivara (1984a). Dieses Verfahren verbessert die Punktverteilung und erhält einige kleinwinklige Dreiecke, die von der anfänglichen Triangulation abhängen.
- Rivara (1996 und 1997) lehrt ein neues Längste-Kante- Punkteinfügungsverfahren für zweidimensionale Delaunay-Netze, das immer die Triangulation verbessert. Für jedes Dreieck wird der einzufügende Punkt gefunden durch ein Nachverfolgen der Sequenz von benachbarten sich vergrößernden Dreiecken, bis die letzten zwei größten Dreiecke in der Sequenz sich eine gemeinsame längste Kante teilen, genannt eine Endkante. Dann wird der Mittelpunkt dieser längsten Kante gemäss Delaunay in das Netz eingefügt. Rivara (1997) beweist, dass das systematische Verwenden dieses Verfahrens bei den kleinwinkligen Dreiecken des Netzes Triangulationen mit guter Qualität mit kleinstem Winkel größer als oder gleich 30º erzeugt. Rivara (1996 und 1997) führt auch eine Generalisierung dieses Verfahrens für 3-Dimensionen aus, unter Bereitstellung eines groben 3-dimensionalen rekursiven Verfahrens, das für jedes Zielelement einem 3-dimensionalen Fortschrittspfad folgt, assoziiert mit dem Längste-Kante- Bisektionsverfahren, und die Delaunay-Einfügung eines Clusters von Punkten an Endkanten, dem 3-dimensionalen Fortschrittspfad zugeordnet, durchführt. Rivara et al. (1997b) berichtet numerische Experimentation mit sowohl en 2- D- und 3-D-Verfahren.
- Rivara (1996 und 1997) lehrt auch rekursive 2-dimensionale und 3-dimensionale Längste-Kante-Verfeinerungsverfahren für Nicht-Delaunay-Qualitätsnetze, die die gleichen Netze erzeugen wie die Verfahren von Rivara (1984a) und Rivara et al. (1992), wobei lediglich Sätze von Elementen, die Endkanten des Netzes gemeinsam nutzen (alle Elemente jedes Satzes teilen sich die gemeinsamen Endkanten) partitioniert werden.
- Weder Rivara (1996) noch Rivara (1997) noch Rivara et al. (1997b) offenbaren jedoch irgendein nicht rekursives Längste- Kante-Suchverfahren zum Auffinden von zielelementbezogenen Sätzen von Endkanten, noch nutzen sie den Vorteil deren Eigenschaften, um die Verwendung von parallelen Suchverfahren zum Auffinden von Sätzen von Endkanten zu offenbaren, noch offenbaren sie parallele Verfeinerungsverfahren für terminale Elementsätze in Bezug zu zugeordneten Endkanten, noch offenbaren sie Datenstrukturen für die Handhabung des Endkanten-Ansatzes. Sie offenbaren keine Begrenzungspunkteinfügungsschritte für Begrenzungszielelemente und für Begrenzungs- (oder Beinahe- Begrenzungs-) Endkanten, wie es erforderlich ist, um eine Qualitätsverteilung von Punkten in der Umgebung der Objektbegrenzung für ein Netzverbesserungsverfahren zu garantieren. Sie offenbaren kein Endkanten-basiertes Verfahren für Netzvergröberung, noch ein integriertes Netzerzeugungssystem, das die Kombination der Endkanten basierten Netzverfeinerung, Netzvergröberung und Netzverbesserungsverfahren, die hierin beschrieben sind, vollständig ausnutzt.
- Muthukrishnan S N et al.: Refinement of 3D Meshes at Surface Intersections', COMPUTER AIDED DESIGN, Vol. 27, Nr. 8, 1 August 1995, S. 637-645 (Muthukrishnan, 1995b) adressiert ein anderes Problem, das durch die Offenbarung des Anmelders adressiert ist. Dieses Dokument verwendet ein Längste-Kante- Verfeinerungsverfahren, das vorhergehend durch Muthukrishnan et al. (1995) offenbart wurde, das eine Abwandlung des Längste-Kante-Verfahrens von Rivara (1992) darstellt und nicht auf einer Terminalen-Kanten-Methodologie basiert, wie oben diskutiert.
- Insbesondere offenbart Muthukrishnan (1995b) ein Verfahren für die Verfeinerung von Netzen im Zusammenhang mit geometrischen Objekten, die durch kurvige Oberflächen begrenzt sind, und in diesem Sinn, "die neu hinzugefügten Punkte sollten auf die wahren Begrenzungen des Objekts angeordnet werden, zum Aufrechterhalten der Integrität der Geometrie des Objekts" auf S. 637, linke Spalte.
- Insoweit die Objektbegrenzung betroffen ist, befasst sich die vorliegende Offenbarung nicht mit der "Kurvenoberflächenfrage", sondern mit der Erzeugung eines verbesserten Netzes des Objektes, mit sowohl einer inneren als auch auf der Begrenzung liegenden verbesserten Punktverteilung, und mit der Sicherstellung von verbesserten geometrischen Qualitätselementen.
- Insbesondere lehrt Muthukrishnan (1995b) "curved surface point insertion" (Kurvenoberflächenpunkteinfügung) keine, und legt dies auch nicht nahe, Begrenzungspunkteinfügung in Beziehung mit Begrenzungszielelementen, oder und eine Begrenzungspunkteinfügung mit Bezug auf Begrenzungs- oder zu nahe zur Begrenzung liegenden Begrenzungs-Endkanten. Beide diese Punkteinfügungsschritte verhindern die Erzeugung von Objektinnenpunkten, die unnötig nahe an der Objektbegrenzung liegen, und stellen die Erzeugung einer globalen und räumlichen Qualitätspunktverteilung für das gesamte räumliche Objekt bereit.
- Kurz gesagt, in Muthukrishnan (1995b) wird die Verwendung einer Endkantenmethodologie und deren Eigenschaften zum Erzeugen einer Netzverbesserung, Netzverfeinerung und Netzvergröberung und einer Erzeugung reines integrierten allgemeinen und automatischen Begrenzungskantennetzerzeugungssystems, das die Kombination dieser Methoden voll ausnutzt, nicht gelehrt oder nahegelegt.
- Im US-Patent Nr. 4,912,664 an Weiss et al., ist ein 2-D- Ansatz zum Erzeugen eines Netzes unter Verwendung einer Delamay-Triangulation beschrieben. Welss et al. verwenden ein Expertensystem-basiertes Punktplatzierungsverfahren und ein Elementqualitätskriterium für eine Punktauswahl. Im US-Patent Nr. 4,933,889 an Meshkat et al. ist ein weiterer 2-D-Ansatz zur Erzeugung eines Netzes unter Verwendung einer symmetrischen Achsendekomposition beschrieben. Das dort beschriebene Verfahren ist nicht punktbasiert, verwendet jedoch die symmetrische Achse eines Körpers, um die Berechnung eines finiten Elements zu ermöglichen. Im US- Patent Nr. 5,214,752 an Meshkat et al. wird ein automatisches 3-D-Punktplatzierungsverfahren zur Erzeugung eines Netzes unter Verwendung einer Delaunay-Triangulation beschrieben. Das Verfahren berücksichtigt einen Untersatz von Eckpunkten und wählt für jeden Eckpunkt den Punkt aus, der zwischen Schnittpunkten einer Kugel mit einem Radius R, zentriert an dem betrachteten Eckpunkt, und Begrenzungen und Kanten einzufügen ist. Zusätzlich wird für eine Eliminierung von Scheibenelementen aus dem Netz das Zentrum der Umfangskugel entsprechend eines solchen Elements in das Netz eingefügt.
- Im US-Patent Nr. 5,315,537 an Blacker wird ein automatisiertes quadrilaterales Oberflächendiskretisierungsverfahren und -vorrichtung beschrieben, das ein Netz mit vollständig quadrilateralen Elementen erzeugt. Im US-Patent Nr. 5,440,674 an Park wird ein 2-dimensionales Verfahren zum Erzeugen von gleichmäßigen und abgestuften Triangulationen unter Verwendung von 4 Lokaloperatoren beschrieben.
- Weitere Patente, die Verfahren bezüglich einer Netzerzeugung beschreiben, sind die folgenden: Nackman, US-Pat. Nr. 4,797,842; Finnigan et al., US-Pat. Nr. 5,345,490; Meshkat et al., US-Pat. 4,933,889; Shigyo et al., US-Pat. Nr. 4,941,114; Arakawa, US-Pat. Nr. 5,010,501; Arakawa, US-Pat. Nr. 5,398,307; Glassner, US-Pat. Nr. 5,428,717; Holmes, US-Pat. Nr. 5,497,451; Mesbkat, US-Pat. Nr. 5,553,206; Akiyama, US- Pat. Nr. 5,774,696; Yamashita et al., US-Pat: Nr. 5,760,779; Yamamoto et al., US-Pat. Nr. 5,748,865; Strumulo et al., US- Pat. Nr. 5,729,670; Kumashiro, US-Pat. Nr. 5,677,846; Yokota, US-Pat. Nr. 5,617,332. Eine Netzerzeugung kann auch verwendet werden, um das Rendern von dreidimensionalen Darstellungen verschiedener Körper zu ermöglichen, wie beispielsweise in Falk, US-Pat. Nr. 4,888,713 beschrieben.
- Trotz des obigen ist immer noch Raum für eine Verbesserung vorhanden zur Verbesserung einer Netzqualität, Verfeinerung/Vergröberung eines Qualitätsnetzes, ein automatisches Steuern einer Netzabstufung und Verfeinerung/Vergröberung, einer automatischen Steuerung einer Punktdichte durch Punkteinfügung/Elimination, zum Eliminieren von unerwünschten Scheibchen ohne Verwendung von speziellen Verfahren, und Verhindern, dass schlecht geformte Netzelemente in dem sich ergebenden Netz auftreten. Es wäre wünschenswert, ein Suchen von einzufügenden und/oder zu eliminierenden ausgewählten Punkten zu erlauben, unter Betrachtung nur der Verteilung von sich erhöhenden Nachbarelementen, und nicht der Delaunay-Eigenschaft des Netzes. Es wäre wünschenswert, die Verfeinerung/Vergröberung des Netzes zu erlauben, unter Vermeidung der Verwendung von zwischengelagerten, nicht gültigen Netzen. Es wäre wünschenswert, die Verfeinerung/Vergröberung/Verbesserung des Netzes unter Verwendung nicht-rekursiver Verfahren zu erlauben. Es wäre wünschenswert, eine einfache integrierte Verbesserung/Verfeinerung/Vergröberung des Netzes zu erlauben, unter voller Ausnutzung der Eigenschaften der geometrischen Endkantenabstraktion. Es wäre wünschenswert, eine einfache parallele skalierbare Verfeinerung/Vergröberung des Netzes zu erlauben, mittels lokaler Modifizierung nur von Sätzen von Nachbarelementen, die eine gemeinsame Kante (Längste-Kante) teilen, was keine Interprozessorkommunikation erfordert. Es wäre wünschenswert, eine einfache Handhabung von Delaunay- und Nicht-Delaunay-Netzen zu erlauben. Und es wäre wünschenswert, das verbesserte Netzdatenstrukturen integrierte Netzverbesserungs/Verfeinerungs/Vergröberungsverfahren zu implementieren.
- Es ist daher wünschenswert, ein verbessertes Punktplatzierungs/Eliminierungsverfahren und eine Vorrichtung dafür bereitzustellen, für eine Verwendung in einem dreidimensionalen automatischen Netzerzeugungssystem.
- Es ist weiter wünschenswert, ein automatisiertes Netzverbesserungsverfahren bereitzustellen, alternativ als ein verbessertes Punktplatzierungsverfahren beschrieben, und eine Vorrichtung dafür, wobei eine Qualitätsnetzverbesserung automatisch gesteuert wird.
- Es ist weiter wünschenswert, ein automatisiertes Netzverfeinerungs/Vergröberungsverfahren bereitzustellen, alternativ auch als ein automatisiertes Punktplatzierungs/Eliminierungsverfahren beschrieben, und eine Vorrichtung dafür, wobei eine Netzabstufung und Netzverfeinerung/Vergröberung automatisch gesteuert wird.
- Es ist weiter wünschenswert, ein Punktplatzierungs/Eliminierungsverfahren bereitzustellen, und eine Vorrichtung dafür, wobei eine Punktdichte automatisch gesteuert wird.
- Es ist weiter wünschenswert, ein verbessertes Punktplatzierungs/Eliminierungsverfahren bereitzustellen, und eine Vorrichtung dafür, was ein Auftreten von schlecht geformten Netzelementen im resultierenden Netz verhindert.
- Es ist weiter wünschenswert, ein verbessertes nichtrekursives Netzverfeinerungs/Vergröberungsverfahren bereitzustellen, das keine Verwendung von zwischengelagerten nicht gültigen Netzen erfordert.
- Es ist weiter wünschenswert, ein verbessertes skalierbares Verfahren und eine Vorrichtung dafür bereitzustellen, für die parallele Verfeinerung/Vergröberung des Netzes, durch Durchführen lokaler Arbeitsschritte, zentriert auf Modifizierungssätze von Nachbarelementen, die eine gemeinsame Längste-Kante teilen, was keine Interprozessorkommunikation erfordert.
- Es ist weiter wünschenswert, eine verbesserte Netzdatenstruktur bereitzustellen, für die integrierte Implementierung des Verbesserungs/Verfeinerungs/Vergröberungsverfahrens dieser Erfindung, und eine entsprechende Vorrichtung.
- Es ist weiter wünschenswert, ein Verfahren und eine Vorrichtung bereitzustellen, die eine schnellere Verarbeitungszeit für die integrierte Verfeinerung und/oder Vergröberung und/oder Verbesserung von geometrischen Netzen erzielt.
- Es ist ein Verfahren, eine Netzdatenstruktur und eine Vorrichtung offenbart, zum Erzeugen eines verbesserten/verfeinerten/vergröberten Netzes aus finiten Elementen für ein dreidimensionales Objekt, das Begrenzungen und Oberflächen aufweist. Das Verbesserungs/Verfeinerungsverfahren sucht wiederholt für aufeinanderfolgende Sätze von zu verfeinernden oder verbessernden Aktivzielelementen ein zugeordnetes Unternetz und einen Satz von Endkanten, wobei der Suchprozess die Netzdatenstruktur nicht modifiziert; dann wird in Übereinstimmung mit dem gewählten Punkteinfügungsverfahren der Punkt oder die Punkte ausgewählt, die zwischen den Mittelpunkten der Endkanten einzufügen sind, modifiziert mit einigen Randbedingungen; Einfügen des gewählten Punktes oder der Punkte in das anfängliche Netz; und dann Fortschreiten zu dem nachfolgenden Satz von aktiven Zielelementen, bis ein benutzerdefiniertes Haltekriterium erreicht ist.
- Das Vergröberungsverfahren enthält für jeden Zieleckpunkt ein Auffinden eines zugeordneten Satzes von Nachbareckpunkten, die zu vergröbern sind; Eliminieren des Eckpunktes in Übereinstimmung mit einer geeigneten Reihenfolge, so dass die Vergröberung des Eckpunktes es erlaubt, eine vorhergehende Begrenzungskante, deren Unterteilung den Eckpunkt erzeugte, erneut zu erhalten. Das Verfahren, die Netzdatenstruktur und Vorrichtung dieser Erfindung erlauben die parallele skalierbare Verfeinerung/Vergröberung des Netzes durch lokales Modifizieren von Sätzen von Nachbarelementen, die die gemeinsame Längste-Kante teilen.
- Die Merkmale der Erfindung, von denen angenommen wird, dass sie neuartig sind, sind in den angefügten Ansprüchen ausgeführt. Die Erfindung kann jedoch am besten zusammen mit weiteren Aufgaben und Vorteilen mit Bezug auf die folgende Beschreibung in Zusammenschau mit den begleitenden Zeichnungen verstanden werden:
- Fig. 1 zeigt eine perspektivische Ansicht eines dreidimensionalen Objektes, nachdem es einer Neu- Tetraedrisierung unterzogen wurde.
- Fig. 2 zeigt eine perspektivische Ansicht eines Tetraeders, der in Fig. 1 aufgefunden wurde, und der die Längste-Kante AB aufweist.
- Fig. 3 zeigt eine perspektivische Ansicht von zwei Nachbartetraedern, die die gemeinsame Kante AB teilen (Fall 1 von 2).
- Fig. 4 zeigt eine perspektivische Ansicht von zwei Nachbartetraedern, die die gemeinsame Kante AB teilen (Fall 2 von 2).
- Fig. 5 zeigt eine perspektivische Ansicht des Längste- Kante Unternetzes in Verbindung mit dem Tetraeder ABCD, die Endkanten EB und BF aufweisend.
- Fig. 6 veranschaulicht die Systemarchitektur der Vorrichtung dieser Erfindung.
- Fig. 7 zeigt ein allgemeines (auf hoher Ebene) Flussdiagramm, das das Verbesserungs/Verfeinerungsverfahren dieser Erfindung beschreibt, wie es durch eine Hauptverarbeitungseinheit der in Fig. 6 veranschaulichten Vorrichtung ausgeführt wird.
- Fig. 8 zeigt ein allgemeines Flussdiagramm, das das Verbesserungs/Verfeinerungsverfahren dieser Erfindung beschreibt, ausgeführt durch Netzspeicher und Längste-Kante Parallelcomputereinheiten der in Fig. 6 veranschaulichten Vorrichtung.
- Fig. 9 zeigt ein Flussdiagramm, das einen Betriebsvorgang von Fig. 7 weiter veranschaulicht, nämlich die Auswahl von Punkten in Übereinstimmung mit einem gewählten Punkteinfügungskriterium.
- Fig. 10 zeigt ein Flussdiagramm, das einen Betriebsvorgang von Fig. 7 weiter veranschaulicht, nämlich die Netzneuberechnung.
- Fig. 11 zeigt ein Flussdiagramm, das einen Betriebsvorgang von Fig. 7 weiter veranschaulicht, nämlich die Vorverarbeitung von Begrenzungs-Aktivelementen.
- Fig. 12 zeigt ein Flussdiagramm, das einen Betriebsvorgang von Fig. 9 weiter veranschaulicht, nämlich die Auswahl eines Punktes für eine Delaunay-Einfügung.
- Fig. 13 zeigt eine perspektivische Ansicht der Längste- Kante Unterteilung eines Tetraeders mit Eckpunkten ABCD und einer Längste-Kante AB, wobei M Mittelpunkt von AB ist.
- Fig. 14 veranschaulicht ein verfeinertes Längste-Kante zweidimensionales (Nicht-Delaunay) Netz, seine Eckpunkte, und in Klammern zugeordnete VE-IND Indikatorwerte.
- Fig. 15 veranschaulicht das sich ergebende Netz (nach Durchführung der Vergröberung des Eckpunkts J von dem Netz von Fig. 13), dessen Eckpunkte, und in Klammern die zugeordneten VE-IND Indikatorwerte.
- Fig. 16 zeigt eine Tabelle der entsprechenden zugeordneten VE-IND Werte und Generatorkanten für jeden der Eckpunkte des verfeinerten Netzes von Fig. 14.
- Fig. 17 veranschaulicht die Längste-Kante Netzdatenstruktur, und beschreibt schematisch die EDGE, ELEMENT, VERTEX und GEN-EDGE Darstellungen.
- Fig. 18 zeigt ein allgemeines Flussdiagramm, das die Initialisierung der Längste-Kante Netzdatenstruktur nach der Eingabe des anfänglichen Netzes beschreibt.
- Fig. 19 veranschaulicht in einem Flussdiagramm weiter einen Betriebsvorgang von Fig. 20, nämlich die Modifikation der Längste-Kante Netzdatenstruktur nach einer Verfeinerung einer Endkante.
- Fig. 20 veranschaulicht die Systemarchitektur einer zusätzlichen Vorrichtung, die die parallele Verfeinerung des Satzes von Endkanten als eine Alternative zu dem Block 570 in Fig. 10 durchführen kann.
- Fig. 21 zeigt ein allgemeines Flussdiagramm, das das Vergröberungsverfahren dieser Erfindung beschreibt.
- Fig. 22 veranschaulicht in einem Flussdiagramm weiter einen Betriebsvorgang von Fig. 21, nämlich den Aufbau des Eckpunktsatzes, der die Eckpunkte enthält, die von dem Netz zu vergröbern sind.
- Fig. 23 veranschaulicht die Systemarchitektur einer zusätzlichen Vorrichtung, die die parallele Vergröberung eines Satzes von ausgewählten Eckpunkten durchführen kann.
- Fig. 24 veranschaulicht in einem Flussdiagramm weiter einen Betriebsvorgang von Fig. 23, nämlich die lokale Modifikation der Netzdatenstruktur nach der Vergröberung des individuellen Eckpunkts.
- Fig. 25 veranschaulicht in einem allgemeinen Flussdiagramm ein bevorzugtes Ausführungsbeispiel eines integrierten Netzerzeugungsverfahrens.
- Fig. 26 veranschaulicht in einem Flussdiagramm weiter einen Betriebsvorgang von Fig. 25, nämlich die lokale Aktualisierung der Netzdatenstruktur aufgrund der Modifikation der Eckpunktkoordinaten.
- Diese Erfindung umfasst ein Verbesserungs- /Verfeinerungsverfahren, ein Vergröberungsverfahren, eine Netzdatenstruktur, ein integriertes, automatisiertes Netzerzeugungsverfahren, und eine Vorrichtung dafür.
- Auch wenn jeder Bestandteil dieser Erfindung alle Vorteile der Endkantenabstraktion eines Netzes von Elementen und deren geometrischer Eigenschaften nutzt, und auch wenn alle diese Bestandteile geeignet zusammengefügt werden können, um ein flexibles und automatisches Netzerzeugungssystem zu erzeugen, können der Verbesserungsbestandteil, der Verfeinerungs-/ Vergröberungsbestandteil alleine bestehen, unabhängig voneinander in dem Sinne, dass diese Bestandteile getrennt in unterschiedlichen Anwendungen verwendet werden können. Das Vergröberungsverfahren kann jedoch nur verwendet werden, um Netze zu vergröbern, die während der vorherigen Verwendung des Längste-Kante Verfeinerungsverfahrens erzeugt wurden, und umfasst und generalisiert in diesem Sinne das Verfeinerungsverfahren.
- Fig. 1 bis Fig. 5 beziehen sich auf einige geometrische Gesichtspunkte des Verfahrens und der Vorrichtung der vorliegenden Erfindung.
- Unter Bezugnahme auf Fig. 1 wurde ein einfaches dreidimensionales Objekt mit Eckpunkten A, B, C, D, E, F und G einer Tetraedrisierung unterzogen. Fig. 2 zeigt einen der Tetraeder, die in Fig. 1 enthalten sind, mit Eckpunkten A, B, C, D; Kanten AB, AC, AD, BD, BC und DC, und Dreieckoberflächen ACB, ADC, ADB und DBC. Die in "Längste- Kante" des Tetraeders ABCD ist die Kante AB; d. h., die Kante deren Länge größer als die Länge jeder anderen der verbleibenden fünf Kanten AC, AD, BD, BC und DC ist. Das Verfahren der vorliegenden Erfindung betrachtet entweder eine Delaunay oder Nicht-Delaunay Tetraedrisierung.
- Fig. 3 und Fig. 4 veranschaulichen Beispiele der einzigen zwei eindeutig möglichen Fälle eines gültigen Nachbartetraeders mit der gemeinsam genutzten Längste-Kante AB. In Fig. 3 nutzen zwei Tetraeder mit Eckpunkten A, B, C, D und Eckpunkten B, C, A, E, die gemeinsame Dreiecksoberfläche ABC, und insbesondere die Kante AB. In Fig. 4 teilen sich die Nachbartetraeder von jeweiligen Eckpunkten A, B, C, D und Eckpunkten A, B, E, F nur die gemeinsame Kante AB. In dem allgemeineren Fall, in dem die Kante AB eine innere Kante ist, existiert immer ein Satz von durchgehenden Nachbarelementen, die den Raum um die Kante AB füllen.
- Die Ableitung einer anfänglichen Tetraedisierung erfordert, dass durch den Benutzer Koordinatenwerte für jeden der Eckpunkte des Körpers und seine Begrenzungen eingegeben werden. Wie es aus Fig. 7 (Block 200) ersichtlich ist, werden diese Werte ebenso durch diese Erfindung verwendet. Somit umfassen die Eingaben für diese Erfindung: die Eckpunkte eines Modells des zu analysierenden Körpers, die Begrenzungen des Modells und eine anfängliche Tetraedrisierung (Netz) des Objektmodells.
- Das Verfeinerungs-/Verbesserungsverfahren dieser Erfindung basiert auf einem wiederholten Auffinden unter den Tetraeder des Netzes, des Satzes von Nachbartetraedern, die eine ausgewählte Kante gemeinsam verwenden, wobei diese ausgewählte Kante die längste Kante unter den sechs Kanten individueller Tetraeder ist, wie vorher in Verbindung mit dem Beispiel von Fig. 1 betrachtet. Beginnend mit einem aktiven Zielelement und dessen entsprechender längster Kante, erlaubt die wiederholte Verwendung dieses Ansatzes die Identifikation eines "Längste-Kante" Unternetzes, dass in einem gewissen Sinne die lokale Punktverteilung in Zusammenhang mit diesem Zielelement misst. Unter den Mittelpunkten eines Satzes von "Endkanten", auf der "Oberfläche" eines solchen Unternetzes gelegen, wird der Punkt oder die Punkte ausgewählt, die in das Netz einzufügen sind.
- Die Endkanten eines Netzes, wobei jede der Endkanten der gemeinsamen längsten Kante aller Elemente, die die Endkante teilen, entspricht, sind Schlüsselkomponenten des verbesserten Verfahrens und der Vorrichtung der vorliegenden Erfindung, was die Vorteile der folgenden Eigenschaften nutzt: (1) Endkanten von Delaunay-Netzen identifizieren die besten Orte (Kanten), so dass die Einfügung des Mittelpunktes einer jeden dieser Endkanten die Punktverteilung und die Qualität von Nachbarelementen verbessert; (2) das verbesserte Verfahren und die Vorrichtung der vorliegenden Erfindung verwenden wiederholt die Identifikation von Sätzen von Endkanten des Netzes, wobei dieser Arbeitsschritt durchgeführt wird, ohne das Netz zu modifizieren; (3) das verbesserte (Längste-Kante) Verfeinerungs- /Vergröberungsverfahren der vorliegenden Erfindung reduziert sich letztendlich auf die lokale Verfeinerung und/oder Vergröberung von individuellen Endkanten des Netzes, wobei lokale Arbeitsschritte nur den Satz von Elementen umfassen, die jede dieser Begrenzungskanten gemeinsam nutzen; (4) die vorhergehenden zwei Eigenschaften werden durch das verbesserte (skalierbare) Verfahren dieser Erfindung und die Vorrichtung dafür verwendet, sowohl für ein effizientes Durchführen einer parallelen Suche des Satzes von einbezogenen Endkanten, als auch für die parallele lokale Verfeinerung und/oder Vergröberung von Endkanten, was keine Interprozessorkommunikation erfordert; (5) die Eigenschaften (2) und (3) werden verwendet, um eine effiziente (gemeinsam genutzte bzw. geteilte) Netzdatenstruktur auszulegen, die lokal aktualisiert wird, wenn eine parallele Verfeinerung/Vergröberung des Netzes durchgeführt wird.
- Das Verbesserungs-/Verfeinerungsverfahren dieser Erfindung verwendet zwei alternative Punkteinfügungskriterien in Übereinstimmung mit einem nutzerdefiniertem Parameter: (1) Delaunaypunkteinfügung oder (2) Endkantenverfeinerung. Das Dlaunauykriterium ist am besten geeignet für ein Verbessern eines Netzes mit schlecht geformten Elementen. Das Endkantenverfeinerungsverfahren ist am besten geeignet für ein Verfeinern eines Netzes mit Qualitätselementen, wie dies benötigt wird bei adaptiven und/oder Multigitter-Finite- Elemente-Analyse-Anwendungen (für eine Diskussion siehe Rivara (1986)).
- Wenn das Delaunaykriterium für eine Punkteinfügung (über Entscheidungsblock 500, Fig. 9) ausgewählt ist, und wann immer einige "innere" Bedingungen erfüllt sind (siehe Fig. 12, Blöcke 730, 750), wird der Mittelpunkt der längsten Endkante als ein Punkt ausgewählt, der in das Netz einzufügen ist (Block 240 in Figur, zu Block 510 in Fig. 9 führend, und dann zu Block 770 in Fig. 12). Wenn eine Endkantenverfeinerung gewählt wird (wieder über den Entscheidungsblock 500 in Fig. 9,) werden die Mittelpunkte solcher Endkanten ausgewählt, um in das Netz eingefügt zu werden (Block 520 in Fig. 9).
- Fig. 5 veranschaulicht ein einfaches Netz, bei dem ein Tetraeder mit Eckpunkten A, B, C, D und einer längsten Kante AB zwei Nachbartetraeder mit jeweiligen Eckpunkten A, D, B, F und A, B, C, E aufweist, die die gemeinsame Kante AB teilen. Diese Tetraeder haben jeweilige längste Kanten BF und ED wobei die Länge von BF größer ist als die Länge von EB. Die drei Tetraeder definieren das Längste-Kante-Unternetz in Zusammenhang mit dem Tetraeder ABCD mit Endkanten BF und EB. Da die Kante BF die größte Endkante ist, ist der vorhersehbare Punkt für eine Delaunayeinfügung der Mittelpunkt von BF, als MPT markiert. Wenn eine Endkantenverfeinerung gewählt ist, werden die Mittelpunkte von beiden Kanten BP und EB ausgewählt, um in das Netz eingefügt zu werden.
- Anfänglich wird ein Satz von Zielelementen in dem Netz definiert (Block 210 in Fig. 7). Eine geeignete Zuordnung und Handhabung des Satzes von Zielelementen macht entweder eine adaptive Netzverfeinerung möglich, oder eine automatische Netzverbesserung. Falls beispielsweise ein Qualitätsnetz mit einer adaptiven finite Elemente Analyse durchlaufen wird, und ein Konvergieren in einigen Elementen fehlschlägt, kann das Verbesserungs-/Verfeinerungsverfahren automatisch neuerlich durchgeführt werden, wobei der Satz von Zielelementen solchen Elementen entspricht, und das Punkteinfügungskriterium als Endkantenverfeinerung in Block 220 ausgewählt wird. Wenn andererseits ein Netz mit einigen schlecht geformten Elementen betrachtet wird, kann das Verbesserungs- /Verfeinerungsverfahren automatisch neuerlich durchgeführt werden, wobei der Satz von Zielelementen diesen Elementen entspricht, und das Punkteinführtungskriterium in Block 220 als Delauneyeinfügung ausgewählt wird. Das in Block 220 gewählte Kriterium, dass ein Einfügungs-IFLAG einstellt, steuert dann das Ergebnis des Entscheidungsblocks 230.
- Allgemeiner gesagt, unter Bezugnahme auf Fig. 6-12, ist das Verbesserungs-/Verfeinerungsverfahren der vorliegenden Erfindung auf ein Verfahren und eine Vorrichtung gerichtet für ein automatisches Erzeugen eines verbesserten verfeinerten Netzes von finiten Elementen für ein zu analysierendes Objekt, wobei das Objekt Begrenzungen und Oberflächen aufweist. Ein Längste-Kante- Punktplatzierungsverfahren zum automatischen Erzeugen des verbesserten verfeinerten Netzes des Objektes wird verwendet.
- Unter Bezugnahme auf Fig. 6 ist ein bevorzugtes Ausführungsbeispiel des Verbesserungs- /Verfeinerungsverfahrens der vorliegenden Erfindung gezeigt, dass die folgenden Mittel umfasst: (1) eine Eingabe- /Ausgabeeinheit 20 für eine Eingabe der geometrischen Daten - und eine Ausgabe des Netzes; (2) eine Anzeigeeinheit 30 zum Visualisieren des Netzes und des Punkt-Platzierungsvorgangs; (3) eine Hauptverarbeitungseinheit (Vorrichtung) 40 zum Steuern des gesamten Netzverbesserungs-/-verfeinerungs-/- vergröberungsvorgangs; (4) eine Netzspeichervorrichtung 10 zum Speichern der geometrischen Eingabedaten, der Netzdatenstruktur und eine zusätzliche Einrichtung zum Durchführen des Netzverbesserungs-/-verfeinerungs-/- vergröberungsvorgangs; und (5) eine Parallelverarbeitungsvorrichtung 50 bestehend aus N Prozessoren, sowohl für das parallele Suchen von Sätzen von Begrenzungskanten, als auch für das parallele Verfeinern/Vergröbern von Sätzen von Elementen in Bezug auf ausgewählte Endkanten.
- Die Eingabe-/Ausgabeeinheit 20 kann eine konventionelle CAD/CAM Eingabe-/Ausgabeeinheit zum Eingeben der geometrischen Daten des Objektes in den Netzspeicher 10 und zur Ausgabe des Netzes sein. Ein externes Delaunay-Programm, dass zur Veranschaulichung, nicht zur Beschränkung, hier als Teil der Eingabe-/Ausgabe- (CAD/CAM) Vorrichtung 20 und deren zugeordneter Programmierung betrachtet wird, ist ebenso erforderlich.
- Fig. 7 ist ein allgemeines Flussdiagramm, dass das Verfahren dieser Erfindung beschreibt, so wie es wie folgt durch die Hauptverarbeitungseinheit durchgeführt wird; Nach einer Eingabe der Geometriedaten des anfänglichen Netzes (Block 200) wird ein Satz Zielelemente in dem Netz (Block 10) identifiziert. Aus diesen Zielelementen wird ein Untersatz von einem oder mehreren aktiven Zielelementen ausgewählt und ein Punkteinfügekriterium - Delaunay- oder Endkantenverfeinerungs - - wird gewählt (Blöcke 220, 230). Dann wird, unter Bezugnahme auf Block 240, unter Verwendung des Parallelcomputers 50 von Fig. 6 (dieser Parallelcomputer 50 ist in Fig. 8 detailliert dargestellt), der Satz von aktiven Elementen verarbeitet; wobei jedes aktive Zielelement einen Satz von Endkanten (Block 460 in Fig. 8) erzeugt. Dann wird unter Verwendung dieses Satzes von Endkanten der ausgewählte Punkt oder die Punkte gefunden (Fig. 9), die wiederum in das (neu berechnete) Netz in Übereinstimmung mit dem gewählten Punkteinfügekriterium (Fig. 10 Block 550) eingefügt werden. Insbesondere wird, unter Bezugnahme auf Fig. 10 für eine Delaunayeifügung, das Delaunayverfahren verwendet (Block 560), während für eine Nicht- Delaunayeinfügung eine Endkantenverfeinerung für jede Endkante (Block 570) durchgeführt wird. Zuletzt wird der Vorgang für aktualisierte Sätze von Aktivelementen und aktualisierte Sätze von Zielelementen wiederholt, bis ein benutzerdefiniertes Endkriterium erreicht ist (Blöcke 270, 280).
- Wenn eine Delaunay-Punkt-Einfügung ausgewählt ist, wird ein Begrenzungsvorprozess (Block 235 in Fig. 7) in Fig. 11 detailliert beschrieben, verwendet, bevor der Prozess von Block 240 initiiert wird. Unter Bezugnahme auf Fig. 11 funktioniert dies wie folgt: nachdem die längste Kante LE jedes Elements T in dem Untersatz von Zielelementen gefunden ist, und der Mittelpunkt MPT einer jeder solchen LE gefunden ist (Block 600), werden innere Elemente oder Elemente mit der Längste-Kante über der Begrenzung nicht vorverarbeitet (Blöcke 610, was zu Block 660 führt). Alternativ (über Block 610) werden für jedes Begrenzungsverarbeitungselement T, mit der inneren Längste-Kante LE, die Abstände DB und DI jeweilig als die Maximallänge der Begrenzungskanten von T berechnet, und die Minimallänge der inneren Kanten von T (Block 620). Falls DB > ALFA1*DI, wobei der Parameter ALFA1 Nicht-Null- Faktor ist, (Block 630), wird ein zusätzlicher Begrenzungspunkt AUX gleich dem Mittelpunkt der längsten Begrenzungskante gefunden (Block 640); und ein Begrenzungspunkt, der die Begrenzungspunktverteilung um AUX verbessert, wird dann ausgewählt und in das Netz eingefügt, und es wird weiter fortgefahren, T aus dem Untersatz von aktiven Zielelementen (Block 650) zu entfernen. Solch ein ausgewählter Begrenzungspunkt kann beispielsweise durch Anwenden des Verfahrens dieser Erfindung auf eine beschränkte dreidimensionale Oberflächentriangulierung aufgefunden werden.
- Fig. 8 zeigt ein allgemeines Flussdiagramm, dass das Verfahren dieser Erfindung beschreibt, wie es durch die Netzspeicher (10) und Längste-Kante-Parallelcomputer (50) Einheiten der in Fig. 6 veranschaulichten Vorrichtung ausgeführt wird. In Fig. 8 beginnt die Parallelverarbeitung für jedes Verarbeitungselement mit einem leer verarbeiteten Unternetz (Block 240). Dann führt jeder individuelle Prozessor die folgenden Aufgaben aus, wie in Blöcken 410 - 470 ausgeführt: ein individuelles Verarbeitungselement T der Längste-Kante LE wird dem Prozessor zugeordnet, und das Element T wird als verarbeitet markiert, durch Hinzufügen von T zu dem Unternetz (Block 410). Für dieses Verarbeitungselement werden zwei Sätze von Nachbarelementen identifiziert: der Satz von Aktivelementen, der die Elemente umfasst, die in dem Unternetz mit LE als eine Kante nicht vorhanden sind, und deren jeweilige längste Kante größer als LE (Block 420) ist; und der Satz von nicht-aktiven Elementen, der die Elemente umfasst, die in dem Unternetz nicht vorhanden sind, mit LE als eine Kante, und deren jeweilige längste Kante geringer als oder gleich LE (Block 430) ist. Dann wird bei Entscheidungsblock 440, falls der Satz von Aktivelementen nicht leer ist, jedes Aktivelement zu dem Satz von Verarbeitungselementen in dem Netzspeicher 10 (Block 450) zugefügt, um später verarbeitet zu werden; andernfalls sind keine nicht-aktiven Elemente mit dem Element TE verknüpft, und die Kante LE wird dem Satz von Endkanten im Netzspeicher 10 (Block 460) hinzugefügt. Zuletzt (jedes Element in dem Satz von nicht-aktiven Elementen ist als in dem Netz verarbeitet markiert, und) wird der Satz von Verarbeitungselementen durch Löschen (Entfernen) solcher Elemente aktualisiert, die in dem Unternetz bereits vorhanden sind (Block 470).
- Fig. 12 beschreibt das Punkt-Auswahl-Verfahren, wenn eine Delaunaypunkteinfügung gewählt wurde (Blöcke 500 und 510 in Fig. 9). Das Verfahren verläuft wie folgt: sobald der Satz von Endkanten gefunden wurde, wird dann G-EDGE gefunden, die größte von diesen Endkanten, deren Mittelpunkt MPT als möglicher in das Netz einzufügender Punkt ausgewählt wird (Block 700). Falls G-EDGE eine innere Kante mit inneren Eckpunkten ist, wird der Punkt MPT als in das Netz einzufügen ausgewählt (Block 770). Andernfalls wird eine Begrenzungsbehandlung verwendet, die umfasst: entweder (1) Auswählen eines zusätzlichen Begrenzungspunktes gleich MPT, falls MPT ein Begrenzungspunkt ist (Blöcke 730 und 740); oder (2) Auswählen eines zusätzlichen Begrenzungspunktes gleich der Projektion von MPT über der Begrenzung, falls MPT nahe der Begrenzung liegt (Blöcke 750 und 760). Sobald der zusätzliche Begrenzungspunkt gefunden ist, wird ein Begrenzungspunkt, angeordnet in der Nachbarschaft solch eines zusätzlichen Begrenzungspunktes, und die Begrenzungspunktverteilung verbessernd, ausgewählt (Block 780). Solch ein Begrenzungspunkt kann beispielsweise aufgefunden werden, indem das Verfahren dieser Erfindung auf eine beschränkte dreidimensionale Oberflächentriangulierung angewendet wird. In jedem anderen Fall wird der Punkt MPT ausgewählt, der von der Begrenzung weit weg liegt (Block 770).
- Unter erneuter Bezugnahme auf Blöcke 210 und 220 von Fig. 7, wenn eine Delaunaypunkteinfügung ausgewählt ist, betrachtet das bevorzugte Ausführungsbeispiel für diese Erfindung die Identifikation von Sätzen von Zielelementen und Untersätzen von Zielelementen wie folgt. Für jedes Element in dem Netz wird ein Geometriequalitätsmaß berechnet. Wann immer dieses Element ein Tetraeder ist, kann dieses Maß als das Verhältnis zwischen dem Volumen solch eines Elements und dem Volumen des rechtwinkligen Blocks mit einer Kante gleich der Länge der Längste-Kante dieses Elements definiert werden; dieses Verhältnis wird mit einer Normalisierungskonstante multipliziert, um ein Maß gleich 1 dem äquilateralen Tetraeder zuzuordnen. Der Satz von Zielelementen wird aufgefunden, indem als Zielelemente jedes Element identifiziert wird, dessen entsprechendes Element-Qualitäts- Maß unterhalb eines Schwellwerts liegt. Optional wird der Satz von Zielelementen erhöht, indem Sätze von Elementen hinzugefügt werden, die in Übereinstimmung mit einigen der folgenden Kriterien erzeugt sind: Elemente mit einem Finite- Elemente-Fehlerindikator unterhalb eines Schwellwerts; Elemente, deren Längste-Kante unterhalb eines Wertes liegt, der in Übereinstimmung mit einer benutzerdefinierten Größenfunktion und/oder anderen benutzerdefinierten Kriterien definiert ist. Der Untersatz von aktiven Zielelementen kann wiederum aufgefunden werden, indem aus dem Satz von Zielelementen all solche Elemente ausgewählt werden, deren entsprechenden Qualitätsmaße unterhalb eines Schwellwerts liegen, berechnet als ein Bruchteil des Durchschnittswertes des Elementqualitätsmaßes für den Satz von Zielelementen. Zusätzlich wird, wenn der Durchschnittswert oberhalb eines Parameterwerts liegt, der Globalsatz von Aktivelementen aufgefunden, indem alle Elemente des Satzes von Zielelementen betrachtet werden.
- Die Fig. 13-16 beziehen sich auf das geometrische Verhältnis zwischen den Verfeinerungs- und Vergröberungsverfahren in Übereinstimmung mit der Erfindung.
- Unter Bezugnahme auf das Verfeinerungsverfahren der Erfindung (IFLAG = TERMINAL - EDGES-REFINEMENT in Block 220 Fig. 7), gründet das Verfahren auf der Längste-Kante-Teilung von individuellen Tetraedern, wie in Fig. 13 für den Tetraeder mit Eckpunkten A, B, C, D und der längsten Kante AB veranschaulicht, wobei M der Mittelpunkt der Kante AB ist. Genauer gesagt wird die Längste-Kante-Unterteilung wiederholt angewendet, um Sätze von Elementen zu unterteilen, wobei alle Elemente eines jeden solchen Satzes eine gemeinsame (längste) Endkante teilen.
- Das Längste-Kante-Vergröberungsverfahren dieser Erfindung kann (hinsichtlich der Endkantenabstraktion) wie folgt beschrieben werden: für jedes Zielelement, das zu vergröbern ist (oder entsprechend für jeden Eckpunkt VX) der zu eliminieren ist, ist wiederholt ein zugeordneter Satz von Elementsätzen zu finden, wobei jedes Element jedes Elementsatzes einen Eckpunkt VA und eine Kante VA-V1 oder VA- V2 gemeinsam nutzt, so dass der Eckpunkt VA als der Mittelpunkt einer vorhergehenden Endkante von Eckpunkten V1, V2 in einem vorhergehenden Netz erhalten wurde, durch Längste-Kante-Teilung jedes Elements, das die Endkante in dem vorhergehenden Netz gemeinsam nutzt. Man eliminiere dann jeden solchen Eckpunkt VA in geeigneter Reihenfolge, so dass die Eliminierung von Eckpunkt VA sich lokal auf die Eliminierung von Elementen reduziert, die den Eckpunkt gemeinsam nutzen, und auf die Erzeugung eines Satzes von neuen Elementen, die die zugeordnete Endkante gemeinsam nutzen (Block 1650 in Fig. 23). Dieser lokale Arbeitsvorgang wird einem individuellen Prozessor des Parallelcomputers von Fig. 23 zugewiesen.
- Für jeden zu eliminierenden (zu vergröbernden) Zieleckpunkt VX findet das bevorzugte Ausführungsbeispiel des Vergröberungsverfahrens dieser Erfindung den Satz von zu eliminierenden Nachbareckpunkten (VERTEX-SET von Block 1240 in Fig. 21), indem die folgenden zusätzlichen (Verschachtelungs-) Eigenschaften des Längste-Kante- Verfeinerungsverfahrens genutzt werden: (1) jeder neue Punkt wird als Mittelpunkt der Längste-Kante eines vorhergehenden Elements aufgefunden; (2) die Form und relative Größe von Nachbarelementen bestimmen die Reihenfolge eines Vorrangs in dem Punkterzeugungsprozess; (3) jedes neue Element verbleibt vollständig enthalten in einem oder mehreren Vorläuferelementen, und die meisten der neuen Kanten sind tatsächlich Teile der vorhergehend existierenden Kanten.
- Das bevorzugte Ausführungsbeispiel des Vergröberungsverfahrens dieser Erfindung verwendet eine ganzzahlig wertige Indikatorfunktion VE-IND (verknüpft mit dem Verhältnis eines Vorrangs beim Erzeugungsvorgang zwischen jedem Eckpunkt und dessen Nachbarn), so dass für jeden Eckpunkt VE entweder (1) VE-IND ist gleich Null, ob VE ein Eckpunkt des anfänglichen oder verbesserten Netzes (nicht unter Verwendung des Längste-Kante-Verfeinerungsverfahrens dieser Erfindung erhalten) ist, initialisiert in Block 910 von Fig. 18, oder VE-IND gleich dem Nachfolger des Maximalwertes unter den Werten der VE-IND-Funktion für die Eckpunkte V1 und V2 (Block 1060 in Fig. 19), wobei der Eckpunkt VE der Mittelpunkt der "Generatorkante" V1-V2 ist, wobei die Generatorkante eine vorhergehend existierende Endkante ist, deren Unterteilung den Eckpunkt VE erzeugte.
- Unter Bezugnahme auf Fig. 14-16 veranschaulicht Fig. 14 ein zweidimensionales Verfeinerungsnetz, dessen Eckpunkte und (zugehörige VE-IND Indikatorwerte). Fig. 16 zeigt eine Tabelle, die für jeden Eckpunkt VE den korrespondierenden VE- IND-Wert und die zugehörige Generatorkante GENEDGE (G-EDGE) enthält. Die Eckpunkte, deren VE-IND-Wert gleich Null ist (und deren Generatorkante gleich NULL ist) entspricht dem anfänglichen Netz und kann nicht durch den Vorgang vergröbert werden.
- Die Fig. 17-19, Fig. 24 und Fig. 26 beziehen sich auf die (geteilte) Netzdatenstruktur für das bevorzugte Ausführungsbeispiel der Erfindung (mit Bezug auf Block 10 in Fig. 8), dazu ausgelegt, die geometrischen Eigenschaften des Verfahrens und der Vorrichtung der vorliegenden Erfindung auszunutzen, was erlaubt: (1) die effiziente Implementierung des Verbesserungs-/Verfeinerungs-/Vergröberungsverfahrens dieser Erfindung und eine Vorrichtung dafür, (2) die effiziente Implementierung des parallelen Auffindens von geeigneten Sätzen von Endkanten (Fig. 8) zum Auswählen des Punktes oder der Punkte, die in das Netz einzufügen sind (Verbesserung/Verfeinerung des Netzes); (3) die parallel skalierbare Verfeinerung von Endkanten, was keine Zwischenprozessorkommunikation benötigt, wie in Fig. 20 beschrieben (eine verbesserte Alternative zu Block 570 in Fig. 10); (4) die effiziente parallele skalierbare Vergröberung des Netzes, was keine Zwischenprozessorkommunikation erfordert, wie in Block 1280 in Fig. 21 und in Fig. 23 gezeigt.
- Unter Bezugnahme auf Fig. 17 entspricht die Längste-Kante- Netzdatenstruktur dieser Erfindung einer Netzdarstellung, die folgendes ausnutzt: (1) das inhärente Nachbar-Längste-Kante- Verhältnis, das zwischen den Elementen des Netzes besteht, gültig für Delaunay- und Nicht-Delaunay-Netze; und (2) die Verschachtelungseigenschaft von Längste-Kante verfeinerten Netzen (für eine Diskussion dieser Eigenschaft siehe z. B. Rivara(1989)), geeignet dargestellt durch sowohl die VE-IND Indikatorfunktion (die das Verhältnis eines Vorrangs zwischen den Eckpunkten der verschachtelten Elemente berücksichtigt), als auch der GENEDGE Darstellung, die die Generatorkante eines jeden Eckpunktes speichert (die vorhergehende Kante, deren Unterteilung diesen Eckpunkt erzeugt), wobei jeder Eckpunkt zu dem Netz durch Längste-Kante-Unterteilung eines Satzes von Nachbarelementen, die diese gemeinsame längste Kante teilen, hinzugefügt wird. Ein bevorzugtes Ausführungsbeispiel für die gemeinsam genutzte Netzdatenstruktur dieser Erfindung betrachtet die folgende Längste-Kante-Darstellung (in Zusammenhang mit dem Netz und seinem Aufbau): EDGE, ELEMENT, VERTEX und GEN-EDGE.
- Jede spezielle EDGE (Kante) (Block 800 in Fig. 17) wird dargestellt mittels: (1) zwei Zeigern (Pointer) zu den zwei Eckpunkten (in der VERTEX-Darstellung), die diese EDGE definieren; (2) die Länge dieser EDGE; (3) ein Satz S1 von Zeigern, zu den Elementen der ELEMENT-Darstellung, so dass diese Elemente eine längste Kante gleich dieser EDGE haben; (4) ein Satz S2 von Zeigern zu den Elementen (in der ELEMENT- Darstellung) sodass die Elemente diese EDGE als eine Kante aufweisen, und deren längste Kante größer als diese EDGE ist (S2 ist leer für Endkanten des Netzes).
- Jedes spezielle ELEMENT (Block 820 in Fig. 17) wird dargestellt mittels: (1) vier Zeigern zu den vier Eckpunkten (in der VERTEX-Darstellung); vier Zeigern zu den vier Nachbarelementen (in der ELEMENT-Darstellung), die eine gemeinsame Oberfläche mit dem Element aufweisen; (3) ein Zeiger zu einer Kante (in der EDGE-Darstellung), die diese Kante ist, die längste Kante des ELEMENT.
- Jeder spezielle VERTEX (Eckpunkt) (Block 840 in Fig. 17) ist dargestellt mittels (1) den räumlichen Koordinaten des VERTEX; (2) einem VERTEX-Indikatorwert VE-IND, wobei dieser Wert gleich Null ist, falls VERTEX zu dem Anfangsnetz gehört (VERTEX wurde nicht erhalten durch ein Verfeinern einer vorhergehenden Kante), oder gleich dem Vorläufer der maximal VE-IND-Werte der vorhergehenden Eckpunkte V1, V2, deren Eckpunkt als Mittelpunkt der vorhergehenden Kante von Eckpunkten V1, V2 erhalten wurde, andernfalls; (3) ein Zeiger zu der Generatorkante von VERTEX (in der GEN-EDGE- Darstellung), wobei die Generatorkante eine vorhergehende Kante ist, die nicht in dem momentanen Netz existiert, deren Unterteilung den VERTEX produzierte; (4) ein Zeiger zu einem der Elemente (in der ELEMENT-Darstellung) mit dem VERTEX als einem Eckpunkt.
- Jede spezielle GEN-EDGE (Block 860 in Fig. 17) ist dargestellt mittels: (1) zwei Zeigern auf die zwei Eckpunkte (in der VERTEX-Darstellung) die die GEN-EDGE als eine Kante (GEN-EDGE existiert nicht als eine Kante in dem momentanen Netz) definieren; (2) die Länge der GEN-EDGE.
- Fig. 18 zeigt ein allgemeines Flussdiagramm, dass die Initialisierung der Längste-Kante-Netzdatenstruktur beschreibt, mit den Schritten: (1) nach der Eingabe des anfänglichen Netzes (Block 900), Initialisieren der VERTEX, EDGE und ELEMENT Darstellungen wie folgt (Block 910): für jeden Eckpunkt im Netz, Erzeugen eines Eckpunkts in der VERTEX-Darstellung und Einstellung von VE-IND = 0 und PGENEDGE = Null; für jeden Eckpunkt in dem Netz, Erzeugen einer Kante in der EDGE-Darstellung, Einstellen von LENGTH (Länge) der Kante, und leeren Sätzen S1 und S2; für jedes Element in dem Netz, Erzeugen eines Elements in der ELEMENT- Darstellung, und Einstellen von Zeigern auf dessen vier Eckpunkte und dessen vier gegenüberliegenden Nachbarelemente. (2) Für jeden Eckpunkt in der VERTEX-Darstellung, Einstellen von einem Zeiger auf eines der Elemente, die den Eckpunkt gemeinsam nutzt (Block 940). (3) Dann (Block 920), für jedes Element T in der ELEMENT-Darstellung, Vorgehen wie folgt: (a) Finden der längsten Kante LE-EDGE von T und Einstellen von PLEDGE (Zeiger zu LE-EDGE in der EDGE-Darstellung); und (b) für LE-EDGE in der EDGE-Darstellung, Einfügen von T in den Satz S1, und Einfügen von allen Nachbarelementen, die die LE- EDGE gemeinsam nutzen und mit einer längsten Kante größer als LE-EDGE, in den Satz S2.
- Die Aktualisierung der Längste-Kante-Netzdatenstruktur, entweder durch Punkteinfügung (Verfeinerung) oder durch Punkteliminierung (Vergröberung), wird durch die Parallelcomputer von Fig. 20 bzw. Fig. 23 lokal durchgeführt, die wiederum ihrerseits die gemeinsam genutzte Netzdatenstruktur in Übereinstimmung mit den Diagrammen von Fig. 19 bzw. 24 modifizieren.
- Fig. 20 zeigt ein allgemeines Flussdiagramm, dass die Systemarchitektur einer zusätzlichen Vorrichtung beschreibt, die eine parallel skalierbare Endkantenverfeinerung durchführen kann (Ersetzen und Verbessern der Arbeitsschritte, die durch Block 570 in Fig. 10 beschrieben sind), wann immer das Punkteinfügekriterium gleich TERMINAL- EDGE-REFINEMENT ausgewählt wurde (Block 220 in Fig. 7). In diesem Fall wird ein Satz von Punkten für eine Punkteinfügung ausgewählt (Mittelpunkt der Endkanten, die in Block 520 gefunden werden), wobei jeder individuelle Punkt durch eine Längste-Kante-Unterteilung von jedem der Elemente, die die zugeordnete Endkante gemeinsam nutzen, eingefügt wird, wie in Fig. 13 gezeigt. Die parallele Punkteinfügung, die ein im wesentlichen lokaler Arbeitsvorgang ist, und keine Zwischenprozessorkommunikation erfordert, läuft wie folgt ab: die Steuermaschine von Block 1100, die mit dem gemeinsam genutzten Netzspeicher von Block 1130 interagiert, führt die folgenden Schritte durch: (1) Eingeben des Netzes und des Satzes von zu verfeinernden Endkanten; (2) Initialisieren jedes Eckpunkts des Netzes als nicht belegt, und jeder Endkante, die zu verarbeiten ist, als nicht verarbeitet; (3) für jede Endkante, Auffinden des Satzes S von Elementen, die die Endkante gemeinsam nutzen, und des Satzes S auch von Nachbareckpunkten, die die Eckpunkte der Elemente S enthalten und die Eckpunkte der Elemente, die in S nicht enthalten sind, und mindestens einen Eckpunkt gemeinsam mit einem Element von S aufweisen; (4) Steuern der Zuordnung von jeder individuellen Endkante (als nicht verarbeitet markiert) zu einem individuellen freien Prozessor, wann immer alle Eckpunkte des Satzes V in Zusammenhang mit der Endkante als nicht belegt markiert sind; in solch einem Fall Markieren der zugeordneten Endkante als verarbeitend und die Eckpunkte des Satzes SV als belegt.
- Zusätzlich führt jeder individuelle Prozessor die folgenden Schritte aus (Block 1150); (1) Eingeben der Endkante T-EDGE von Eckpunkten V1, V2, Mittelpunkt MPT und den zugeordneten Sätzen S und SV; (2) Durchführen der Endkantenverfeinerung (oder äquivalent der MPT Punkteinfügung) folgend den Unterschritten: (a) Unterteilen jedes Elementes des Satzes S (Elemente, die die Endkante gemeinsam nutzen) durch die Ebene, die durch MPT und Eckpunkte gegenüber der Endkante von Eckpunkten V1, V2, wie in Fig. 13 gezeigt, definiert ist; (b) Identifizieren von Sätzen von Elementen und Kanten, die aus der Datenstruktur zu eliminieren sind, Umsetzen von neuen Kanten und Elementen, die zu der Netzdatenstruktur hinzuzufügen sind; (c) lokales Modifizieren der Netzdatenstruktur, wie in Fig. 19 ausgeführt; (d) Markieren der Eckpunkte von SV als nicht belegt; (e) Markieren der Endkante als verarbeitet; und (f) Freigeben des Prozessors.
- Fig. 19 zeigt ein allgemeines Flussdiagramm, dass die lokale Modifikation der Netzdatenstruktur beschreibt, wann immer ein neuer Punkt eingefügt wird, entweder mittels einer Delaunay- Einfügung (IFLAG = DELAUNAY in Block 220 von Fig. 7) oder durch individuelle Verfeinerung einer Endkante (IFLAG = TERMINAL - EDGE - REFINEMENT in Block 220 von Fig. 7). In beiden Fällen wurde der eingefügt neue Punkt als der Mittelpunkt einer Begrenzungskarte des momentanen Netzes aufgefunden. Das Datenstrukturmodifikationsverfahren (mittels Punkteinfügung) umfasst im wesentlichen die Schritte: (1) Einfügen der folgenden Bestandteile (Block 1100): den neuen Eckpunkt VN Mittelpunkt der Kante von Eckpunkten V1, V2; das zugehörige IFLAG; die Sätze S-EL und S-EDG, die jeweilig die Elemente und Kanten enthalten, die aus der Netzdatenstruktur zu eliminieren sind; die Sätze SNEW-EL und SNEW-ED, Sätze von neuen Elementen und neuen Kanten, die jeweilig zu der Netzdatenstruktur hinzuzufügen sind. (2) Eliminierung der Elemente von S-EL und der Kanten von S-EDG aus ELEMENT bzw. EDGE-Darstellung; (3) Erzeugen von Eckpunkt VN in VERTEX- Darstellung, Erzeugung der Kanten SNEW-ED in der EDGE- Darstellung und Erzeugung der Elemente von SNEW-EL in der ELEMENT-Darstellung; (4) Aktualisierung der Nachbarschaftsinformation und Längste-Kante-Verhältnisse für die alten verbleibenden Nachbarelemente und Eckpunkte in der EDGE, ELEMENT und VERTEX-Darstellung.
- Wenn IFLAG = TERMINAL - EDGE - REFINEMENT ausgewählt wurde (über Entscheidungsblock 1040, was zu Block 1060 führt) umfasst das Netzdatenstrukturmodifikationsverfahren, die zusätzlichen Schritte: (1) Hinzufügen der Generatorkante von Eckpunkten V1, V2 zu der GEN-EDGE-Darstellung; (2)für Eckpunkt VN in der Eckpunktdarstellung, Einstellen des zugeordneten VE-IND-Wertes gleich dem Nachfolger der Maximalwerte zwischen VE-IND-Werten der Eckpunkte V1 und V2, und Einstellen des zugehörigen Zeigers auf die Generatorkante in der GEN-EDGE-Darstellung und (3) für jeden Eckpunkt VN in der VERTEX-Darstellung, Einstellen eines Zeigers auf eines der Elemente, die VN teilen (Block 1080).
- Wenn IFLAG = DELAUNAY ausgewählt ist, führt der Entscheidungsblock 1040 direkt zu Block 1080, wo für Eckpunkt VN in der VERTEX-Darstellung der Zeiger auf eines der Elemente, die den Eckpunkt teilen, gesetzt wird.
- Mit Bezug auf Fig. 21 umfasst das Vergröberungsverfahren dieser Erfindung im wesentlichen für jeden Eckpunkt VX, der zu vergröbern oder zu eliminieren ist (Block 1200), vom zugehörigen Knoten (VX, NX, GX), wobei NX der VE-IND-Wert von VX ist und GX dessen Generatorkante (Block 1220), Auffinden eines zugehörigen VERTEX-SET von Knoten (VZ, NZ, GZ) entsprechend dem Satz von Eckpunkten, der von dem Netz zu eliminieren ist (mit den zugehörigen VE-IND-Werten VZ und Generatorkanten GZ), wie in Block 1240 gezeigt. Die geordnete Vergröberung jedes der Eckpunkte (in Übereinstimmung mit der in Block 1260 gezeigten Reihenfolge), erlaubt es, eine Endkante erneut zu erlangen, die vorhergehend mittels des Verfeinerungsprozesses verfeinert wurde, als ein Ergebnis der Erzeugung des Eckpunktes VX. Wiederholen dieses Vorgangs, bis die Generatorkante von Eckpunkt VX ebenso vergröbert ist (Entscheidungsblock 1290) und der Eckpunkt VX eliminiert ist, was das vergröberte Netz (Block 1300) erzeugt.
- Fig. 22 zeigt ein allgemeines Flussdiagramm, dass den inkrementalen VERTEX-SET Aufbau beschreibt. Das Verfahren umfasst die folgenden Schritte: (1) Initialisieren von VERTEX-SET und VP-SET mit dem Knoten (VX, NX, GX), was VP-SET ist, und einem zusätzlichen Satz, der die zu verarbeitenden Knoten speichert (Block 1400); (2) Aufgreifen von Knoten (VX. NY. GY) von VP-SET (Block 1420); (3) Auffinden von SN, den Satz von Nachbarknoten (VZ, NZ, GZ), sodass VZ der Nachbareckpunkt von VY in dem Netz ist (1440); (4) für jeden Knoten (VZ, NZ, GZ) in der SN, Vorgehen wie folgt: falls NZ > NY (Entscheidungsblöcke 1460, 1480, was zu Block 1520 führt), Hinzufügen von Knoten (VZ, NZ, GZ) zu sowohl dem VERTEX-SET als auch dem VP-SET, falls NZ = NY (Block 1480) und falls GY < GY (Block 1500) Hinzufügen von Knoten (VZ, NZ, GZ) sowohl zum VERTEX-SET als auch VP-SET. Der Knoten (VZ, NZ, GZ) wird andernfalls von den Verarbeitungsknoten entfernt; (S) wann immer VP-Set nicht leer ist (Block 1540), Wiederholen des Prozesses, mit Block 1240 beginnend (Aufgreifen eines neuen Knotens)(VY, NY, GY) von VP-Set usw.). Der Prozess ist beendet, wenn VP-SET leer ist, was die vollständige Identifikation des VERTEX-SET produziert (Satz von Knoten, die von dem Netz zu eliminieren sind, als eine Folge der Eliminierung des Zieleckpunkts VX).
- Unter Bezugnahme auf das zweidimensionale Beispiel von Fig. 14, umfasst die Vergröberung (Eliminierung) von Eckpunkt G ein Auswählen von G und darauffolgende Nachbarn mit einer VE- IND-Funktion, die größer als oder gleich zu der VE-IND- Funktion des vorhergehenden Eckpunkts ist (Eckpunkte H, J, F und deren Nachbarn); im Falle von gleich der VE-IND-Funktion, den Eckpunkt nur dann auswählen, wenn die Länge der Generatorkante des Eckpunkts kleiner als die Länge der Generatorkante des vorhergehenden Eckpunkts ist (Block 1500). Dieses entfernt sowohl Eckpunkt E (Nachbareckpunkt von F), als auch Eckpunkt I (Nachbareckpunkt von J), da diese jeweilige Generatorkanten aufweisen, die größer als die Generatorkante des jeweiligen vorhergehenden Eckpunkts sind. Dieses definiert den VERTEX-SET (der die Eckpunkte G, H, J, F enthält), den Satz der Eckpunkte, der in dem Netz zu vergröbern ist. Das Vergröbern von jedem der Eckpunkte (d. h. Eckpunkt J und zugeordneter Generatorkante FB in Fig. 14, was das Netz von Fig. 15 erzeugt), umfasst einfach nur ein Austauschen der Elemente, die den Eckpunkt J gemeinsam haben, durch größere Elemente, die die Generatorkante FB gemeinsam haben, was die FB-Endkante in dem verfeinerten Netz von Fig. 15 ist (wobei FB die längste Kante der umgebenden Elemente GFB und FIB ist). Die Vergröbung der Eckpunkte wird in Übereinstimmung mit der folgenden Reihenfolge durchgeführt (Block 1260 in Fig. 21): Verringern der Ordnung der VE-IND- Funktion, und, für gleiche VE-IND-Werte, in aufsteigender Reihenfolge gemäß der Länge der zugeordneten Generatorkanten (Eckpunkte J, H und F in dieser Reihenfolge in dem Netz von Fig. 14). Die Reihenfolge garantiert die Vergröberung der Endkanten, wie für Eckpunkt J beschrieben. Das Verfahren schreitet dann zu der parallelen Vergröberung der geordneten Knoten von VERTEX-SET voran (Block 1280 in Fig. 21 und Fig. 23).
- Unter Bezugnahme auf Fig. 23 wird die Systemarchitektur einer zusätzlichen Vorrichtung beschrieben, die eine parallele skalierbare Vergröberung der geordneten Eckpunkte, die den Knoten von VERTEX-SET (Block 1280 in Fig. 21) zugeordnet sind, durchführen kann.
- Da dies ein wesentlich lokaler Arbeitsschritt ist, erfordert die parallele Punktvergröbung (Eliminierung) keine Interprozessorkommunikation, und schreitet voran wie folgt: die Steuermaschine von Block 1600, die mit dem gemeinsam genutzten Netzspeicher von Block 1630 interagiert, führt die folgenden Schritte durch: (1) Eingeben des geordneten Satzes von zu vergröbernden Eckpunkten; (2) Initialisieren aller Eckpunkte des Netzes als nicht belegt, und aller Eckpunkte des Satzes von Eckpunkten, die zu vergröbern sind, als nicht verarbeitet; (3) Steuern der geordneten Zuordnung der individuellen Eckpunkte zu einem individuellen freien Prozessor wie folgt: (a) Wähle den folgenden Eckpunkt VA von VE-IND Indikatorwert NA und die Generatorkante von Eckpunkten V1, V2; (b) Finde den Satz S von Nachbareckpunkten von VZ von VA (die Kante VA-VZ ist eine Kante des Netzes); (c) Falls die Eckpunkte V1, V2 zu S gehören, und alle Eckpunkte von S als nicht belegt markiert sind, Markieren von diesen als belegt, Markieren von Eckpunkt VA als verarbeitet und Zuordnen des Eckpunkts (und dessen zugeordnete NA, V1, V2 und S) zu einem individuellen freien Prozessor. Andernfalls wird der nächste Eckpunkt ausgewählt. Für jeden zugeordneten neuen Eckpunkt (Block 1650) führt der entsprechende individuelle Prozessor die folgenden Schritte durch: (1) Eingeben des Eckpunkts VA, dessen VE-IND-Wert NA, dessen Generatorkante von Eckpunkten V1, V2 und des zugeordneten Satzes von Nachbareckpunkten S. (2) Auffinden des Satzes von Elementen, die aus dem Netz zu eliminieren sind (Elemente, die den Eckpunkt V alle gemeinsam nutzen); (3) Auffinden des Satzes von neuen Elementen des Netzes (neue Elemente, die die Endkante V1-V2 gemeinsam nutzen) und des Satzes von neuen Kanten, der zu dem Netz hinzuzufügen ist (neue Kante V1-V2); (4) lokales Modifizieren der Längste-Kante-Netzdatenstruktur, wie in Fig. 24 ausgeführt; (5) Markieren der Eckpunkte von S als nichtbelegt und Markieren von VA als verarbeitet; (6) Freigeben des Prozessors.
- Unter Bezugnahme auf Fig. 24 wird mit einem allgemeinen Flussdiagramm die lokale Modifikation der Netzdatenstruktur beschrieben, wann immer ein existierender Punkt von dem momentanen Netz vergröbert wird (Block 1650 in Fig. 23). Das Datenstrukturmodifikationsverfahren (durch Eckpunkteliminierung) führt die folgenden Schritte durch: (1) Eingabe des Eckpunkts VA, der zu vergröbern ist, dessen Generatorkante V1-V2 und von Sätzen S-EL, S.-EDG, SNEW-EL und SNEW-ED, dem jeweiligen Satz von Elementen, die von dem Netz zu eliminieren sind, den Satz von Kanten, die von dem Netz zu eliminieren sind, den Satz von Elementen, die zu dem Netz hinzuzufügen ist, und der Satz von neuen Kanten, der dem Netz hinzuzufügen ist (Block 1700); (2) danach Durchführen der lokalen Aktualisierung der Netzdatenstruktur wie folgt: (a) Eliminierung der Elemente von S-EL und der Kanten von S-EDG von der ELEMENT- bzw. EDGE-Repräsentation; (b) Erzeugung der Kanten von SNEW-ED und der Elemente von. SNEW-EL in der EDGE- bzw. ELEMENT-Darstellung; (c) Aktualisieren der Nachbar- und Längste-Kante-Information bezüglich der neuen Elemente und der neuen Kanten mit den verbleibenden Nachbarelementen und - kanten in der EDGE-, ELEMENT- und VERTEX-Darstellung; (d) Eliminierung der Generatorkante von den Eckpunkten V1, V2 aus der GENEDGE-Darstellung.
- Unter Bezugnahme auf Fig. 25 wird in dieser Figur ein bevorzugtes Ausführungsbeispiel für ein automatisches Netzerzeugungsverfahren beschrieben, das die unterschiedlichen Verfahren dieser Erfindung integriert und diese voll ausnutzt. Das integrierte Verfahren betrachtet insbesondere die folgenden Punkte: (1) kombinierte Benutzung von sowohl des Oberflächenverbesserungsverfahrens als auch des Volumenverbesserungsverfahrens dieser Erfindung, um den Bezug der Objektbegrenzung und geometrischen Schnittstellen einzuführen, wann immer das eingegebene Volumennetz Elemente aufweist, die die Objektbegrenzung schneiden und/oder einige geometrische Schnittstellen; (2) kombinierte Verwendung von sowohl des Oberflächenverbesserungsverfahrens als auch des Volumenverbesserungsverfahrens dieser Erfindung, um ein Qualitätsnetz zu erzeugen, das der Geometrie angepasst ist; (3) Verwendung des Längste-Kante-Verfeinerungs- /Vergröberungsverfahrens dieser Erfindung, um ein verfeinertes/vergröbertes Qualitätsnetz zu erzeugen; (4) Verwendung von externen Netzmodifikationsverfahren, wie in dem Fall einer Änderung von Objektbegrenzungen und/oder Schnittstellen und die entsprechende Aktualisierung der Netzdatenstruktur.
- Nach einer Eingabe des Begrenzungsmodells (Block 1800), umfasst das integrierte Verfahren die folgenden Schritte (Block 1810): (1) Erzeugen eines Oberflächennetzes der Objektbegrenzung einschließlich Schnittstellen; (2) Verwenden des Oberflächenverbesserungsverfahrens dieser Erfindung (mit I-FLAG = DELAUNAY), um ein Qualitätsoberflächennetz einschließlich Schnittstellen zu erzeugen; (3) Verwenden der Oberflächeneckpunkte, um ein Volumennetz zu erzeugen; (4) Fortschreiten, um die Geometriebegrenzung und Schnittstellen (Block 1820) wie folgt zu berücksichtigen: Auffinden des Satzes von Volumenelementen, der die Begrenzung oder Schnittstellen schneidet; dann, für jedes Element T in S und bis S leer ist, Durchführen der folgenden Schritte: (a) Auffinden eines Oberflächenelements T-SURF des Oberflächennetzes, das T schneidet; (b) Verwenden des Oberflächenverbesserungsverfahrens (mit IFLAG = DELAUNAY) zum Auswählen eines Nachbarpunktes und Einfügen dessen in das Oberflächennetz; (c) Einfügen des neuen Punktes in das Volumennetz; (d) Aktualisieren des Satzes S von momentanen Volumenelementen, die die Begrenzung und Schnittstellen schneiden.
- Sobald ein Volumennetz erzeugt ist, das die Begrenzung und Schnittstellen berücksichtigt, erhalten ist, schreitet das integrierte Verfahren damit voran, das Volumennetz zu verbessern, unter Verwendung des Volumenverbesserungsverfahrens dieser Erfindung mit IFLAG = DELAUNAY (Block 1830).
- Sobald ein Volumenqualitätsnetz erhalten wurde, schreitet das integrierte Verfahren dann voran, das Verfeinerungsverfahren dieser Erfindung zu verwenden, gefolgt durch die kombinierte Verwendung des Verfeinerungs- /Vergröberungsverfahrens dieser Erfindung, und optionales Verwenden eines externen Netzmodifikationsverfahrens, um ein aktualisiertes Netz (Block 1840) zu erzeugen; und dann Fortschreiten zu einer Aktualisierung der Netzdatenstruktur, wann immer die Objektgeometrie (Begrenzungen und/oder Schnittstellen) und/oder einige Eckpunktkoordinaten geändert wurden (Block 1840 in Fig. 26), wobei alle Änderungen zu Eckpunktänderungen reduziert sind.
- Dann, wann immer das momentane Netz ein akzeptables Netz ist, in Übereinstimmung mit einem benutzerdefinierten externen Kriterium (Entscheidungsblock 1850 was zu Block 2000 führt) ist der Netzerzeugungsvorgang beendet. Andernfalls folgt das integrierte Netzerzeugungsverfahren zu Entscheidungsblock 1860, wobei die Qualität des Netzes überprüft wird. In dem Fall, dass das Netz ein akzeptables Qualitätsnetz ist, schreitet das Verfahren wiederum zur Verfeinerung und/oder Vergröberung und/oder Modifikation des Netzes voran (Block 1840) usw. Andernfalls führt der Entscheidungsblock 1860 zum Block 1870 und erzeugt die Neuberechnung des Delaunay-Netzes der momentanen Eckpunkte, gefolgt durch die Verwendung des Netzverbesserungsverfahrens dieser Erfindung, bevor wiederum zum Block 1840 geschritten wird.
- Zuletzt zeigt Fig. 26 ein allgemeines Flussdiagramm, dass die lokale Aktualisierung der Netzdatenstruktur beschreibt, wann immer einige Eckpunktkoordinaten modifiziert wurden (Geometrieänderungen und/oder Eckpunktänderungen). In solch einem Fall haben sich die relativen Positionen einiger Eckpunkte geändert, was einige Elementformen und die Längste- Kante-Beziehung zwischen den Elementen modifiziert. Das Aktualisierungsverfahren umfasst im wesentlichen die Schritte (1) Eingabe des Satzes S von geänderten Eckpunkten (deren Koordinaten geändert wurden) und den entsprechenden neuen Koordinaten (Block 1900); dann, in Übereinstimmung mit Block 1920, (2) Auffinden des Satzes SV von Nachbareckpunkten in dem Netz, nicht enthalten in S, und mindesten mit einem Eckpunkt von S verbunden; (3) Hinzufügen der Eckpunkte von SV zu dem Satz S, (4) Auffinden des Satzes S-EDG der Kanten des Netzes, einschließlich mindestens eines Eckpunkts von S; (5) Auffinden des Satzes S-EL von Elementen des Netzes, einschließlich mindestens eines Eckpunkts von S. dann, in Übereinstimmung mit Block 1940 (6) Voranschreiten, um die (beschränkte) Längste-Kante-Netzdatenstruktur aufzubauen, zugeordnet zu dem Unternetz (nicht notwendigerweise verbunden), definiert durch die Sätze S, S-EDG und S-EL, durch Verwendung der Prozedur von Fig. 18; (7) dann, Aktualisieren der globalen Netzdatenstrukturen in Übereinstimmung mit den Daten der beschränkten Datenstruktur, zugeordnet zu dem Unternetz, und Einstellen von VE-IND = 0 für die Eckpunkte von S. (8) Löschen von der GENEDGE- Darstellung solcher Generatorkanten, die mindesten einen Eckpunkt in SV haben, und Einstellen von VE-IND = 0 für die Eckpunkte dieser Generatorkanten; (9) Aktualisieren der zugeordneten VE-IND-Werte für die Nachbareckpunkte, deren VE- IND-Werte sich in den Schritten 7 und 8 geändert haben.
- Es wird darauf hingewiesen, dass, auch wenn jede Komponente dieser Erfindung die Endkantenabstraktion des Netzes von Elementen und deren geometrischer Eigenschaften voll ausnutzt, und alle diese Komponenten geeignet integriert werden können, um ein flexibles und automatisches Netzerzeugungssystem bereitzustellen, die Verbesserungskomponente, die Verfeinerungskomponente und die Verfeinerungs-/Vergröberungskomponente alleine arbeiten können, unabhängig von einander in dem Sinne, dass diese Komponenten separat in unterschiedlichen Anwendungen verwendet werden können. Das Vergröberungsverfahren kann jedoch nur verwendet werden, um Netze zu vergröbern, die mittels vorhergehender Verwendung des Längste-Kante- Verfeinerungsverfahrens erzeugt wurden, und in diesem Sinne umfasst und generalisiert es das Verfeinerungsverfahren.
- Es versteht sich, dass die vorhergehende Beschreibung diese Erfindung und deren Anwendungen lediglich veranschaulicht. Verschiedene Alternativen und Abwandlungen können durch den Fachmann getätigt werden, ohne die Erfindung zu verlassen. Zusätzlich soll diese Offenbarung und die zugeordneten Ansprüche die Beschränkung und/oder Generalisierung des Punktplazierungs-/-eliminierungsverfahren und die Vorrichtung dafür für Ebene- und Oberflächentriangulierungen umfassen, mit Anwendung auf die automatische Trangulierung von nichtkonvexen ebenen Geometrieren, die automatische Oberflächentriangulierung von dreidimensionalen Objekten, und die Oberflächentriangulierung, wie in Geländemodellen oder Computergrafikanwendungen erforderlich. Diese Offenbarung und zugeordneten Ansprüche sollen die Handhabung von Sequenzen von verschachtelten Netzen umfassen, wie in Multigitteranwendungen erforderlich (für eine Referenz siehe Rivara-Modell (1986)). Zusätzlich soll diese Offenbarung und zugeordneten Ansprüche die Handhabung von Quasi-Delaunay- Netzen umfassen. Diese Offenbarung und die zugeordneten Ansprüche sollen die Generalisierung des Verfahrens dieser Erfindung umfassen, der Netzdatenstruktur, und Vorrichtungen dafür, für (1) die verteilte Verfeinerung/Vergröberung/Verbesserung des Netzes unter Verwendung einer verteilten Längste-Kante-Netzdatenstruktur; (2) für allgemeine Netze, bestehend aus Unternetzen, die entweder Delaunay-Unternetze und/oder verschachtelte Längste- Kante (Nicht-Delaunay) Netze sind, erhalten durch das Längste-Kante-Verfeinerungs-/Vergröberungsverfahren dieser Erfindung. Diese Erfindung soll auch die Generalisierung des Punktplatzierungsverfahrens, und die Vorrichtung dafür, bis N-Dimensionen umfassen, wobei N größer als 3 ist, verwendbar beispielsweise im Bereich von "Range Searching" (Bereichssuche), einem Gebiet mit extensiven praktischen Anwendungen, beispielsweise in Datenbanken. Demzufolge soll die vorliegende Erfindung alle solche Alternativen, Abwandlungen, Veränderungen, Beschränkungen und Generalisierungen umfassen, die innerhalb des Umfangs der angefügten Ansprüche liegen.
- Die vorliegende Erfindung umfasst und generalisiert die Verfahren, die durch Rivara (1984 /(a), 1984 (b), 1986, 1996 und 1997) beschrieben wurden, durch Rivara et al. (1992) und durch Rivara et al (1997), was eine Handhabung von Delaunay- und Nicht-Delaunay-Netzen erlaubt; und verbessert und generalisiert das Vergröberungsverfahren, das durch Rivara (1989) beschrieben ist.
- Diese Erfindung verbessert Verfahren, die durch den Stand der Technik gelehrt werden und liefert einen nützlichen Gewinn in mindestens den folgenden Weisen:
- Die Verbesserung eines Netzes mit schlecht geformten Elementen wird einfach und natürlich durch ein Auswählen von Punkten durchgeführt, die die Qualität der lokalen Punktverteilung um die schlecht geformten Elemente herum verbessern, und dann Einfügen solcher Punkte unter Verwendung der Delaunay Lehre oder Abwandlungen der Delaunay Lehre. Um diese Punkte zu suchen, wird nur die Verteilung von ansteigenden Nachbarelementen betrachtet, nicht die Delaunay- Eigenschaft des Netzes. Das Suchverfahren modifiziert nicht die geteilte Netzdatenstruktur.
- Das Verfahren dieser Erfindung eliminiert natürlich unerwünschte dünne Scheiben, ohne spezielle Techniken, um diese zu behandeln.
- Da das Punktsuchverfahren nicht von der Delaunay-Eigenschaft des Netzes abhängt, arbeitet die Erfindung gut mit Delaunay- und Nicht-Delaunay-Netzen. Demzufolge betrachtet das Verfahren der vorliegenden Erfindung optional die pure Verfeinerung/Vergröberung von Qualitätsnetzen, wie erforderlich in adaptiven und/oder Multi-Gitter finite Elemente-Analyseanwendungen (eine Diskussion kann in Rivara (1986) gefunden werden). Ein einfaches Punkteinfügeverfahren, das nur die Längste-Kante-Verfeinerung von Sätzen von Elementen verwendet, von denen alle die längste Kante gemeinsam haben (Endkante), wird in diesem Fall verwendet.
- Das kritische Suchverfahren der vorliegenden Erfindung umfasst ein wiederholtes Überschreiten nachfolgender Nachbarelemente über dem Netz, Starten mit einem aktiven Zielelement, bis ein Satz von Endkanten in dem Netz identifiziert ist, wobei die Mittelpunkte solcher Endkanten die möglichen Punkte sind, die in das Netz einzufügen sind. Die Vorrichtung der vorliegenden Erfindung nutzt die Vorteile der inhärenten Eigenschaften des Suchverfahrens unter Verwendung eines einfachen effizienten parallelen Computers, der die parallele Suche ohne Modifikation des Netzes durchführen kann, und die folgenden Ergebnisse produziert: (1) die Erhöhung des Satzes von Nachbarelementen, über dem die parallele Suche fortzuführen ist, und (2) die Identifikation eines Satzes von Endkanten.
- Das Verfahren und die Vorrichtung dieser Erfindung erlaubt die parallele Verfeinerung/Vergröberung des Netzes durch lokales Modifizieren von Sätzen von Nachbarelementen, die die gemeinsame längste Kante teilen, ohne zwischengelagerte nicht gültige Netze zu erzeugen, und ohne eine Interprozessorkommunikation zu erfordern.
- Das Verfahren und die Vorrichtung dieser Erfindung verwenden eine verbesserte Netzdatenstruktur, die die integrierte Verbesserung/Verfeinerung/Vergröberung des Netzes unterstützen.
- Während nur bestimmte bevorzugte Merkmale der Erfindung veranschaulicht und beschrieben wurden, sind dem Fachmann viele Abwandlungen und Änderungen offensichtlich. Es versteht sich daher, dass die angefügten Ansprüche alle solche Modifikationen und Änderungen abdecken sollen, die innerhalb des Umfangs der Erfindung liegen, wie durch die Ansprüche definiert.
Claims (52)
1. Ein Verfahren zum Verfeinern von sowohl einer
Eckpunktverteilung als auch eines Netzes von Elementen
für ein zu analysierendes Objekt, wobei jedes Element
des Netzes eine Vielzahl von Eckpunkten und Kanten
aufweist, ein Körper des Objekts Begrenzungen und
Schnittstellen aufweist, und die Elemente des Netzes
Begrenzungselemente umfassen, definiert als solche
Netzelemente, die mindestens eine der Begrenzungen
schneiden, unter Verwendung einer computerisierten
Vorrichtung, die Schritte umfassend:
a) Erzeugen eines Netzes von Elementen für das Objekt
(200), identifizieren eines Satzes von
Zielelementen unter den Elementen des Netzes (210)
unter Verwendung von vorgegebenen Zielelement-
Identifizierungskriterien, und identifizieren eines
Untersatzes des Satzes von Zielelementen (220)
unter Verwendung von vorgegebenen
Zielelementuntersatz-Identifizierungskriterien;
c) für jedes Element in dem Untersatz von
Zielelementen (240), suchen eines Satzes von
Endkanten (460) unter Verwendung eines Längste-
Kante-Suchverfahrens, und Einfügen mindestens eines
ausgewählten Punktes, der mindestens einer der
Endkanten zugeordnet ist, in das Netz, um ein
verfeinertes Netz (240) zu erzeugen, wobei jede der
Endkanten als eine gemeinsame Längste-Kante von
jedem der Netzelemente definiert ist, die die
Endkante teilen;
e) Wiederholen des Schrittes c) für nachfolgende
Untersätze (270) von aktualisierten Sätzen der
Zielelemente, bis ein vorgegebenes Haltkriterium
erreicht ist.
2. Das Verfahren nach Anspruch 1, weiter zum verbessern
zusätzlich zum Verfeinern der Eckpunktverteilung und des
Netzes von Elementen, umfassend den Schritt, zwischen
den Schritten a) und c):
b) Auswählen eines Satzes von Begrenzungspunkten der
Begrenzungselemente, die in dem Untersatz von
Zielelementen enthalten sind, unter Verwendung
eines Längste-Kante-Begrenzungsauswahlverfahrens,
Einfügen der ausgewählten Begrenzungspunkte in das
Netz, und Aktualisieren des Untersatzes der
Zielelementen des Netzes (650); und
wobei der Schritt c) weiter umfasst:
Auswählen des mindestens einen ausgewählten Punktes
(510) unter Verwendung eines Endkanten-Auswahlverfahrens
und Einfügen des mindestens einen ausgewählten Punktes
in das Netz (560), und
wobei Schritt e) weiter umfasst:
Wiederholen des Schritts b) zusätzlich zum Schritt
c) für nachfolgende Untersätze (270) von aktualisierten
Sätzen von den Zielelementen, bis ein vorgegebenes
Haltkriterium erreicht ist.
3. Das Verfahren nach Anspruch 2, wobei die
Begrenzungselemente als Elemente des Netzes definiert
sind, die mindestens eines der folgenden Kriterien
erfüllen: Aufweisen mindestens eines Eckpunktes über den
Objektbegrenzungen; Schneiden der Objektbegrenzung; und
Schneiden der Objektschnittstelle; wobei das Längste-
Kante-Begrenzungsauswahlverfahren von Schritt b), für
jedes Begrenzungselement in dem Untersatz von
Zielelementen (610), die weiteren Schritte umfasst:
b1) Finden einer längsten Kante des Begrenzungselements
und eines Mittelpunktes MPT der längsten Kante
(600) des Begrenzungselements;
b2) Überspringen des Begrenzungsprozesses von Schritt
b4), falls der Mittelpunkt MPT ein Begrenzungspunkt
(610) ist;
b3) Überspringen des Begrenzungsvorgangs von Schritt
b4), falls die Maximallänge der Kanten des
Begrenzungselements größer als ein Bruchteil ALPHA1
der Minimallänge der inneren Kanten des
Begrenzungselements ist, wann immer die
Maximallänge existiert, wobei ALPHA1 ein Parameter
größer als Null (620, 630) ist;
b4) andernfalls, Identifizieren eines ausgewählten
Punktes (650) als einen von den Begrenzungspunkten,
die die Begrenzungspunktverteilung in der Nähe
eines zusätzlichen Begrenzungspunktes verbessern,
und Einfügen des ausgewählten. Punktes in das Netz
(650), wobei der zusätzliche Begrenzungspunkt
ausgewählt ist aus der Gruppe bestehend aus dem
Mittelpunkt der größten Endkante des Elements (640)
und der Projektion des MPT über der Begrenzung.
4. Das Verfahren nach Anspruch 1, wobei das Längste-Kante-
Suchverfahren von Schritt c) die weiteren Schritte
umfasst:
c1) Einrichten eines anfangs leeren Satzes von
Endkanten, eines anfangs leeren
Verarbeitungsunternetzes, und eines anfangs leeren
Satzes von Verarbeitungselementen, und Hinzufügen
des Elements zu dem Satz von Verarbeitungselementen
(240) als ein Verarbeitungselement davon;
c2) Wählen eines Verarbeitungselements von dem Satz von
Verarbeitungselementen, Hinzufügen des
Verarbeitungselements zu dem Verarbeitungsunternetz
(410), Erzeugen eines vergrößerten Satzes,
ausgewählt aus der Gruppe bestehend aus dem Satz
von Verarbeitungselementen (450), und dem Satz von
Endkanten (460), und Eliminieren des
Verarbeitungselements von dem Satz von
Verarbeitungselementen; und
c3) Wiederholen des Schrittes c2) für jedes Element in
dem Satz von Verarbeitungselementen, bis der Satz
von Verarbeitungselementen leer ist.
5. Das Verfahren nach Anspruch 2, wobei das Längste-Kante-
Suchverfahren von Schritt c) weiter die Schritte
umfasst:
c1) Einrichten eines anfangs leeren Satzes von
Endkanten, eines anfangs leeren
Verarbeitungsunternetzes, und eines anfangs leeren
Satzes von Verarbeitungselementen, und Hinzufügen
des Elements zu dem Satz von Verarbeitungselementen
(240) als ein Verarbeitungselement davon;
c2) Wählen eines Verarbeitungselements von dem Satz von
Verarbeitungselementen, Hinzufügen des
Verarbeitungselements zu dem Verarbeitungsunternetz
(410), Erzeugen eines vergrößerten Satzes,
ausgewählt aus der Gruppe bestehend aus dem Satz
von Verarbeitungselementen (450), und dem Satz von
Endkanten (460), und Eliminieren des
Verarbeitungselements von dem Satz von
Verarbeitungselementen; und
c3) Wiederholen des Schrittes c2) für jedes Element in
dem Satz von Verarbeitungselementen, bis der Satz
von Verarbeitungselementen leer ist.
6. Das Verfahren nach Anspruch 4, wobei Schritt c2) weiter
die Schritte umfasst:
c2a) Finden einer ausgewählten Kante, die eine längste
Kante unter den Kanten des Verarbeitungselements
(410) ist;
c2b) Finden eines Satzes von Aktivelementen (420),
definiert als solche Elemente im Netz, die nicht in
dem Verarbeitungsunternetz vorhanden sind, die die
ausgewählte Kante als eine Kante aufweisen, und
deren jeweilige längste Kante größer als die
ausgewählte Kante (420) ist, und Hinzufügen jedes
Elements des Satzes von Aktivelementen zu dem Satz
von Verarbeitungselementen (450);
c2c) falls der Satz von Aktivelementen leer ist,
Hinzufügen der ausgewählten Kante zu dem Satz von
Endkanten (460).
7. Das Verfahren nach Anspruch 5, wobei der Schritt c2)
weiter die Schritte umfasst:
c2a) Finden einer ausgewählten Kante, die eine längste
Kante unter den Kanten des Verarbeitungselements
(410) ist;
c2b) Finden eines Satzes von Aktivelementen (420),
definiert als solche Elemente im Netz, die nicht in
dem Verarbeitungsunternetz vorhanden sind, die die
ausgewählte Kante als eine Kante aufweisen, und
deren jeweilige längste Kante größer als die
ausgewählte Kante (420) ist, und Hinzufügen jedes
Elements des Satzes von Aktivelementen zu dem Satz
von Verarbeitungselementen (450);
c2c) falls der Satz von Aktivelementen leer ist,
Hinzufügen der ausgewählten Kante zu dem Satz von
Endkanten (460).
8. Das Verfahren nach Anspruch 2, wobei das
Endkantenauswahlverfahren von Schritt c) weiter die
Schritte umfasst:
c4) Identifizieren eines voraussichtlichen Punktes als
Mittelpunkt einer größten Kante unter den Kanten
von Elementen innerhalb des Satzes von Endkanten
(700);
c5) Auswählen des voraussichtlichen Punktes als einen
von den ausgewählten Punkten, die in das Netz
einzufügen sind, den ausgewählten Punkt in dem
Objektinneren, wodurch das verbesserte Netz
erstellt wird, falls der Abstand von dem
voraussichtlichen Punkt zu der Objektbegrenzung
größer als ein Bruchteil K der Länge der größten
Kante ist, wobei K ein Parameter größer als Null
(750, 770) ist;
c6) andernfalls Auswählen eines der ausgewählten
Punkte, die in das Netz als ein Begrenzungspunkt
einzufügen sind, der die Begrenzungspunktverteilung
(780) in der Nähe eines zusätzlichen
Begrenzungspunkts verbessert, wobei der zusätzliche
Begrenzungspunkt gleich dem voraussichtlichen Punkt
ist, wenn der voraussichtliche Punkt über der
Begrenzung (740) ist, und wobei der zusätzliche
Begrenzungspunkt andernfalls gleich der Projektion
des voraussichtlichen Punkts über der Begrenzung
(760) ist.
9. Das Verfahren nach Anspruch 1, wobei Schritt c) weiter
die Schritte umfasst:
Auswählen von Mittenpunkten der zugeordneten Endkanten
als die ausgewählten Punkte; und
Einfügen der ausgewählten Punkte in das Netz durch
Durchführen einer Längste-Kante-Halbierung jedes
Elements in dem Netz, das die zugeordnete Endkante (570)
gemeinsam nutzt.
10. Das Verfahren nach Anspruch 1, zur Verwendung wenn die
computerisierte Vorrichtung mindestens einen
Parallelprozessor enthält, wobei der Schritt c) weiter
den Schritt umfasst:
für jedes Element in dem Untersatz von Zielelementen
(240) weiter ein Suchen eines zugeordneten Satzes von
Endkantensätzen für das Netz, und
wobei das Verfahren von Anspruch 2 weiter den weiteren
Schritt umfasst, zwischen den Schritten c) und e):
d) Erzeugen eines verfeinerten Netzes durch sukzessive
parallele Verfeinerung eines Untersatzes des Satzes
von Begrenzungselementsätzen (1100, 1150), wobei
der Untersatz des Satzes von Endkantensätzen
vollständig disjunkte Begrenzungselementesätze
aufweist, und Verfeinern jedes der
Begrenzungselementsätze durch:
d1) Partitionieren jedes Elements in dem
Begrenzungselementsatz durch einen Mittelpunkt
einer gemeinsamen längsten Kante, wobei die
gemeinsame längste Kante gleich der
zugeordneten Endkante (1150) ist; und
d2) lokales Aktualisieren der Netzdatenstruktur
(1150, 1020, 1060, 1080); und
wobei Schritt e) weiter umfasst:
Wiederholen des Schrittes d) zusätzlich zum Schritt c)
für nachfolgende Untersätze (270) von aktualisierten
Sätzen von den Zielelementen, bis ein vorgegebenes
Haltkriterium erreicht ist.
11. Das Verfahren nach Anspruch 2, zur Verwendung wenn die
computerisierte Vorrichtung mindestens einen
Parallelprozessor umfasst, wobei das Längste-Kante-
Suchverfahren von Schritt c) die weiteren Schritte unter
Verwendung mindestens eines Parallelprozessors zum
Durchführen einer Parallelsuche umfasst:
c1) Einrichten eines anfangs leeren Satzes von
Endkanten, eines anfangs leeren
Verarbeitungsunternetzes, und eines anfangs leeren
Satzes von Verarbeitungselementen, und Hinzufügen
des Elements zu dem Satz von Verarbeitungselementen
(240) als ein Verarbeitungselement davon;
c2) Auswählen und Zuordnen zu jedem freien des
mindestens einen Parallelprozessors, ein
Verarbeitungselements aus dem Satz von
Verarbeitungselementen, Hinzufügen des
Verarbeitungselements zu dem verarbeiteten
Unternetz (410), Erzeugen eines vergrößerten Satzes
ausgewählt aus der Gruppe bestehend aus dem Satz
von Verarbeitungselementen (450) und dem Satz von
Endkanten (460), und Eliminieren des
Verarbeitungselements von dem Satz von
Verarbeitungselementen; und
c3) Wiederholen des Schrittes c2) für jedes Element in
dem Satz von Verarbeitungselementen, bis der Satz
von Verarbeitungselementen leer ist; und
wobei der Schritt e) weiter umfasst:
Wiederholen des Schritts c) für nachfolgende Untersätze
(270) von aktualisierten Sätzen der Zielelemente, bis
ein vorgegebenes Haltkriterium erreicht ist.
12. Das Verfahren nach Anspruch 10, wobei das Längste-Kante-
Suchverfahren von Schritt c) die weiteren Schritte
umfasst, unter Verwendung des mindestens einen
Parallelprozessors, zum Durchführen einer Parallelsuche:
c1) Einrichten eines anfangs leeren Satzes von
Endkanten, eines anfangs leeren
Verarbeitungsunternetzes und eines anfangs leeren
Satzes von Verarbeitungselementen, und Hinzufügen
des Elements zu dem Satz von Verarbeitungselementen
(240) als ein Verarbeitungselement davon;
c2) Auswählen und Zuordnen zu jedem freien des
mindestens einen Parallelprozessors, ein
Verarbeitungselements aus dem Satz von
Verarbeitungselementen, Hinzufügen des
Verarbeitungselements zu dem verarbeiteten
Unternetz (410), Erzeugen eines vergrößerten Satzes
ausgewählt aus der Gruppe bestehend aus dem Satz
von Verarbeitungselementen (450) und dem Satz von
Endkanten (460), und Eliminieren des
Verarbeitungselements von dem Satz von
Verarbeitungselementen; und
c3) Wiederholen des Schrittes c2) für jedes Element in
dem Satz von Verarbeitungselementen, bis der Satz
von Verarbeitungselementen leer ist; und
13. Das Verfahren nach Anspruch 12, wobei der Schritt c2)
weiter die Schritte umfasst:
c2a) Finden einer ausgewählten Kante, die eine längste
Kante unter den Kanten des Verarbeitungselements
(410) ist;
c2b) Finden eines Satzes von Aktivelementen (420),
definiert als solche Elemente im Netz, die nicht in
dem Verarbeitungsunternetz vorhanden sind, die die
ausgewählte Kante als eine Kante aufweisen, und
deren jeweilige längste Kante größer als die
ausgewählte Kante (420) ist, und Hinzufügen jedes
Elements des Satzes von Aktivelementen zu dem Satz
von Verarbeitungselementen(450);
c2c) falls der Satz von Aktivelementen leer ist,
Hinzufügen der ausgewählten Kante zu dem Satz von
Endkanten (460).
14. Das Verfahren nach Anspruch 1, weiter zum Definieren
zusätzlich zum Verfeinern der Eckpunktverteilung und des
Netzes von Elementen, weiter für ein Anfangsnetz,
vorhergehend durch mindestens die Schritte a), c) und e)
erhalten, die folgenden Schritte umfassend:
f) Zuordnen zu jedem Eckpunkt des Anfangsnetzes, einen
Eckpunktindikator gleich dem nachfolgenden des
Maximums zwischen den Indikatorwerten von zwei
Eckpunkten V1 und V2, falls die zwei Eckpunkte eine
Endkante in einem dem Anfangsnetz vorangehenden
vorhergehenden Netz definieren, und falls der
Eckpunkt in dem vorhergehenden Netz als ein
Mittelpunkt der Endkante erhalten wurde, die eine
zugeordnete Generatorkante für den Eckpunkt
definiert, und andernfalls den Eckpunktindikator
gleich Null;
g) Produzieren mindestens eine Zieleckpunktes, der in
dem Netz (1200) zu definieren ist, und für jeden
der Zieleckpunkte:
g1) Erzeugen eines Satzes von Aktivknoten (1240,
1520), wobei jeder Aktivknoten einen Eckpunkt
umfasst, und einen zugeordneten
Eckpunktindikator und eine zugeordnete
Generatorkante;
g2) Ordnen der Knoten des Satzes von Aktivknoten
in abwärts gerichteter Ordnung der
Eckpunktindikatorwerte, und für Knoten mit
gleichem Eckpunktindikatorwert, in
aufsteigender Reihenfolge gemäß der Längen der
zugeordneten Generatorkanten (1260);
g3) Vergröbern eines Satzes von Aktiveckpunkten,
zugeordnet zu dem Satz von Aktivknoten, in
Übereinstimmung mit der Reihenfolge der
zugeordneten Aktivknoten (1600, 1650), wobei
die Eckpunkte der Aktivknoten direkt mit den
Eckpunkten der zugeordneten Generatorkanten
verbunden sind, und lokales Aktualisieren der
Zieleckpunkte; und
h) Wiederholen der Schritte g) für aktualisierte
Zieleckpunkte, bis ein nutzerdefiniertes
Haltkriterium erreicht ist.
15. Das Verfahren nach Anspruch 2, weiter zum Definieren
zusätzlich zum Verfeinern und Verbessern der
Eckpunkteverteilung und des Netzes von Elementen, die
weiteren Schritte für ein Anfangsnetz, vorhergehend
erhalten durch mindestens die Schritte a), b), c) und
e) , umfassend:
f) Zuordnen zu jedem Eckpunkt des Anfangsnetzes, einen
Eckpunktindikator gleich dem nachfolgenden des
Maximums zwischen den Indikatorwerten von zwei
Eckpunkten V1 und V2, falls die zwei Eckpunkte eine
Endkante in einem dem Anfangsnetz vorangehenden
vorhergehenden Netz definieren, und falls der
Eckpunkt in dem vorhergehenden Netz als ein
Mittelpunkt der Endkante erhalten wurde, die eine
zugeordnete Generatorkante für den Eckpunkt
definiert, und andernfalls den Eckpunktindikator
gleich Null;
g) Produzieren mindestens eine Zieleckpunktes, der in
dem Netz (1200) zu definieren ist, und für jeden
der Zieleckpunkte:
g1) Erzeugen eines Satzes von Aktivknoten (1240,
1520), wobei jeder Aktivknoten einen Eckpunkt
umfasst, und einen zugeordneten
Eckpunktindikator und eine zugeordnete
Generatorkante;
g2) Ordnen der Knoten des Satzes von Aktivknoten
in abwärts gerichteter Ordnung der
Eckpunktindikatorwerte, und für Knoten mit
gleichem Eckpunktindikatorwert, in
aufsteigender Reihenfolge gemäß der Längen der
zugeordneten Generatorkanten (1260);
g3) Vergröbern eines Satzes von Aktiveckpunkten,
zugeordnet zu dem Satz von Aktivknoten, in
Übereinstimmung mit der Reihenfolge der
zugeordneten Aktivknoten (1600, 1650), wobei
die Eckpunkte der Aktivknoten direkt mit den
Eckpunkten der zugeordneten Generatorkanten
verbunden sind, und lokales Aktualisieren der
Zieleckpunkte; und
h) Wiederholen der Schritte g) für aktualisierte
Zieleckpunkte, bis ein nutzerdefiniertes
Haltkriterium erreicht ist.
16. Das Verfahren nach Anspruch 11, weiter zum Definieren
zusätzlich zum Verfeinern und Verbessern der
Eckpunktverteilung und des Netzes von Elementen, die
weiteren Schritte, für ein Anfangsnetz, vorhergehend
erhalten durch mindestens die Schritte a), b), c), d)
und e), umfassend:
f) Zuordnen zu jedem Eckpunkt des Anfangsnetzes, einen
Eckpunktindikator gleich dem nachfolgenden des
Maximums zwischen den Indikatorwerten von zwei
Eckpunkten V1 und V2, falls die zwei Eckpunkte eine
Endkante in einem dem Anfangsnetz vorangehenden
vorhergehenden Netz definieren, und falls der
Eckpunkt in dem vorhergehenden Netz als ein
Mittelpunkt der Endkante erhalten wurde, die eine
zugeordnete Generatorkante für den Eckpunkt
definiert, und andernfalls den Eckpunktindikator
gleich Null;
g) Produzieren mindestens eine Zieleckpunktes, der in
dem Netz (1200) zu definieren ist, und für jeden
der Zieleckpunkte:
g1) Erzeugen eines Satzes von Aktivknoten (1240,
1520), wobei jeder Aktivknoten einen Eckpunkt
umfasst, und einen zugeordneten
Eckpunktindikator und eine zugeordnete
Generatorkante;
g2) Ordnen der Knoten des Satzes von Aktivknoten
in abwärts gerichteter Ordnung der
Eckpunktindikatorwerte, und für Knoten mit
gleichem Eckpunktindikatorwert, in
aufsteigender Reihenfolge gemäß der Längen der
zugeordneten Generatorkanten (1260);
g3) paralleles Vergröbern einer Vielzahl der
Aktiveckpunkte innerhalb des Satzes von
Aktiveckpunkten, für Aktiveckpunkte mit
vollständig disjunkten Sätzen von
Nachbarelementen, gemäß der Reichenfolge der
zugeordneten Aktivknoten (1600, 1650), wobei
die Eckpunkte der Aktivknoten direkt mit den
Eckpunkten der zugeordneten Generatorkanten
verbunden sind, und lokales aktualisieren der
Zieleckpunkte;
h) Wiederholen der Schritte g) für aktualisierte
Zieleckpunkte, bis ein nutzerdefiniertes
Haltkriterium erreicht ist.
17. Ein Verfahren zum Vergröbern eines Anfangsnetzes von
Elementen für ein zu analysierendes Objekt, wobei jedes
Element des Anfangsnetzes eine Vielzahl von Eckpunkten
und Kanten aufweist, ein Körpers des Objektes
Begrenzungen und Schnittstellen umfasst, und wobei die
Elemente des Anfangsnetzes Begrenzungselemente umfassen,
die als solche Netzelemente definiert sind, die
mindestens eine der Begrenzungen schneiden, wobei das
Anfangsnetz vorhergehend durch zumindest die folgenden
Schritte erlangt wurde: i) Erzeugen eines Netzes von
Elementen für das Objekt (200), Identifizieren eines
Satzes von Zielelementen unter den Elementen des Netzes
(210) unter Verwendung von vorgegebenen Zielelement-
Identifizierungskriterien, und Identifizieren eines
Untersatzes des Satzes von Zielelementen unter
Verwendung von vorgegebenen Zielelementuntersatz-
Identifizierungskriterien; ii) für jedes Element indem
Untersatz von Zielelementen (240), Suchen eines Satzes
von Endkanten (40, 460) unter Verwendung eines Längste-
Kante-Suchverfahrens, und Einfügen mindestens eines
ausgewählten Punktes, zugeordnet mindestens einer der
Endkanten, in das Netz, um ein verfeinertes Netz (240)
zu erzeugen, wobei jede der Endkanten definiert ist als
eine gemeinsame längste Kante jedes Netzelements, das
die gemeinsame Kante teilt; und iii) Wiederholen des
Schrittes ii) für nachfolgende Untersätze (270) von
aktualisierten Sätzen der Zielelemente, bis ein
vorgegebenes Haltkriterium erreicht ist, unter
Verwendung einer computerisierten Vorrichtung, umfassend
die Schritte:
a) Zuordnen zu jedem Eckpunkt des Anfangsnetzes, einen
Eckpunktindikator gleich dem nachfolgenden des
Maximums zwischen den Indikatorwerten von zwei
Eckpunkten V1 und V2, falls die zwei Eckpunkte eine
Endkante in einem dem Anfangsnetz vorangehenden
vorhergehenden Netz definieren, und falls der
Eckpunkt in dem vorhergehenden Netz als ein
Mittelpunkt der Endkante erhalten wurde, die eine
zugeordnete Generatorkante für den Eckpunkt
definiert, und andernfalls den Eckpunktindikator
gleich Null;
b) Produzieren mindestens eine Zieleckpunktes, der in
dem Netz (1200) zu definieren ist, und für jeden
der Zieleckpunkte:
b1) Erzeugen eines Satzes von Aktivknoten (1240,
1520), wobei jeder Aktivknoten einen Eckpunkt
umfasst, und einen zugeordneten
Eckpunktindikator und eine zugeordnete
Generatorkante;
b2) Ordnen der Knoten des Satzes von Aktivknoten
in abwärts gerichteter Ordnung der
Eckpunktindikatorwerte, und für Knoten mit
gleichem Eckpunktindikatorwert, in
aufsteigender Reihenfolge gemäß der Längen der
zugeordneten Generatorkanten (1260);
b3) Vergröbern eines Satzes von Aktiveckpunkten,
zugeordnet dem Satz von Aktivknoten, in
Übereinstimmung mit der Reihenfolge der
zugeordneten Aktivknoten (1600, 1650), wobei
die Eckpunkte der Aktivknoten direkt mit den
Eckpunkten der zugeordneten Generatorkanten
verbunden sind, und lokales Aktualisieren der
Zieleckpunkte; und
c) Wiederholen der Schritte b) für aktualisierte
Zieleckpunkte, bis ein nutzerdefiniertes
Haltkriterium erreicht ist.
18. Das Verfahren nach Anspruch 17, zur Verwendung, wenn die
computerisierte Vorrichtung mindestens einen
Parallelprozessor umfasst, wobei der Schritt b3) die
weiteren Schritte umfasst:
b3.1) paralleles Definieren einer Vielzahl der
Aktiveckpunkte innerhalb des Satzes von
Aktiveckpunkten, für aktive Eckpunkte mit
vollständig disjunkten Sätzen von
Nachbarelementen.
19. Das Verfahren nach Anspruch 17, wobei der Schritt b1)
die weiteren Schritte umfasst:
b1.1) Initialisieren des Satzes von Aktivknoten mit
einem Triplett (VX, NX, GX), wobei VX der Eckpunkt
ist, NX der zugeordnete Eckpunktindikator und GX
die zugeordnete Generatorkante (1400) ist;
b1.2) Initialisieren eines Satzes von
Verarbeitungsknoten mit dem Triplet (VX, NX, GX)
(1400);
b1.3) Wählen eines Knotens (VY, NY, GY) aus dem Satz von
Verarbeitungsknoten (1420), und Auswählen eines
Satzes von Nachbarknoten, wobei jeder Knoten (VZ,
NZ, GZ) vom Eckpunkt VZ, vom zugeordnetem
Eckpunktindikator NZ, und zugeordneter
Generatorkante GZ, alle zu dem Satz von
Nachbarknoten hinzugefügt werden, wenn mindestens
eine Bedingung aus der Gruppe der folgenden
Bedingungen (1460, 1480, 1500) erfüllt ist:
die Kante von Eckpunkten VZ, VY existiert in dem
Netz und NZ > NY; und
die Kante von Eckpunkten VZ, VY existiert in dem
Netz und NZ = NY, und GZ < GY;
b1.4) Hinzufügen jedes ausgewählten Nachbarknotens zu
dem Satz von Verarbeitungsknoten und Hinzufügen
jedes ausgewählten Nachbarknotens zu dem Satz von
Aktivknoten (1520);
b1.5) Wiederholen der Schritte b1.3) und b1.4) bis der
Satz von Verarbeitungsknoten leer ist und der Satz
von Aktivknoten vervollständigt ist (1540).
20. Das Verfahren nach Anspruch 18, wobei der Schritt b1)
die weiteren Schritte umfasst:
b1.1) Initialisieren des Satzes von Aktivknoten mit
einem Triplett (VX, NX, GX), wobei VX der Eckpunkt
ist, NX der zugeordnete Eckpunktindikator und GX
die zugeordnete Generatorkante (1400) ist;
b1.2) Initialisieren eines Satzes von
Verarbeitungsknoten mit dem Triplett (VX, NX, GX)
(1400)
b1.3) Wählen eines Knotens (VY, NY, GY) aus dem Satz von
Verarbeitungsknoten (1420), und Auswählen eines
Satzes von Nachbarknoten, wobei jeder Knoten (VZ,
NZ, GZ) vom Eckpunkt VZ, vom zugeordnetem
Eckpunktindikator NZ, und zugeordneter
Generatorkante GZ, alle zu dem Satz von
Nachbarknoten hinzugefügt werden, wenn mindestens
eine Bedingung aus der Gruppe der folgenden
Bedingungen (1460, 1480, 1500) erfüllt ist:
die Kante von Eckpunkten VZ, VY existiert in dem
Netz und NZ > NY; und
die Kante von Eckpunkten VZ, VY existiert in dem
Netz und NZ = NY, und GZ < GY;
b1.4) Hinzufügen jedes ausgewählten Nachbarknotens zu
dem Satz von Verarbeitungsknoten und Hinzufügen
jedes ausgewählten Nachbarknotens zu dem Satz von
Aktivknoten (1520);
b1.5) Wiederholen der Schritte b1.3) und b1.4) bis der
Satz von Verarbeitungsknoten leer ist und der Satz
von Aktivknoten vervollständigt ist (1540).
21. Das Verfahren nach Anspruch 17, wobei der Schritt b3),
für jeden Aktiveckpunkt in dem Satz von Aktiveckpunkten
weiter die Schritte umfasst:
b3.1) Eliminieren aus dem Netz: den Aktiveckpunkt, jede
Kante, die den Aktiveckpunkt enthält, und jedes
der Netzelemente, die den Aktiveckpunkt (1750)
enthält; und
b3.2) Addieren zu dem Netz: eine neue Kante gleich der
Generatorkante des Eckpunkts, und neuer Elemente
umfassend jedes Element, das die Kante (1750)
teilt.
22. Das Verfahren nach Anspruch 18, wobei der Schritt b3)
für jeden Aktiveckpunkt in dem Satz von Aktiveckpunkten
weiter die Schritte umfasst:
b3.1) Eliminieren aus dem Netz: den Aktiveckpunkt, jede
Kante, die den Aktiveckpunkt enthält, und jedes
der Netzelemente, die den Aktiveckpunkt (1750)
enthält; und
b3.2) Addieren zu dem Netz: eine neue Kante gleich der
Generatorkante des Eckpunkts, und neuer Elemente
umfassend jedes Element, das die Kante (1750)
teilt.
23. Ein Verfahren zum Darstellen einer Datenstruktur zum
Verfeinern von sowohl einer Eckpunktverteilung als auch
eines Netzes von Elementen eines zu analysierenden
Objektes, wobei jedes Element des Netzes eine Vielzahl
von Eckpunkten und Kanten aufweist, ein Körper des
Objektes Begrenzungen und Schnittstellen aufweist, und
die Elemente des Netzes Begrenzungselemente umfassen,
die als solche Netzelemente definiert sind, die
mindestens eine der Begrenzungen schneiden, wobei das
Netz verfeinert wird durch mindestens die folgenden
Schritte: i) Erzeugen eines Netzes von Elementen für das
Objekt (200), Identifizieren eines Satzes von
Zielelementen unter den Elementen des Netzes (210) unter
Verwendung von vorgegebenen Zielelement-
Identifizierungskriterien, und Identifizieren eines
Untersatzes des Satzes von Zielelementen unter
Verwendung von vorgegebenen Zielelementuntersatz-
Identifizierungskriterien; ii) für jedes Element in dem
Untersatz von Zielelementen (240), Suchen eines Satzes
von Endkanten (40, 460) unter Verwendung eines Längste-
Kante-Suchverfahrens, und Einfügen mindestens eines
ausgewählten Punktes, zugeordnet mindestens einer der
Endkanten, in das Netz, um ein verfeinertes Netz (240)
zu erzeugen, wobei jede der Endkanten definiert ist als
eine gemeinsame längste Kante jedes Netzelements, das
die gemeinsame Kante teilt; und iii) Wiederholen des
Schritts ii) für nachfolgende Untersätze (270) von
aktualisierten Sätzen der Zielelemente, bis ein
vorgegebenes Haltkriterium erreicht ist; wobei die
Datenstruktur ein Längste-Kanten-Verhältnis
repräsentiert, das zwischen Nachbarelementen in dem Netz
von Elementen besteht, nutzbar zum Suchen von Sätzen von
Endkanten in dem Netz, wobei jede Endkante als eine
gemeinsame längste Kante von einem jeden Netzelement
definiert ist, die die Endkante teilt, wobei die
Datenstruktur weiter Kanten-, Element- und
Eckpunktdarstellungen enthält, und wobei jedes Element
des Netzes eine Vielzahl von Eckpunkten und Kanten
aufweist, unter Verwendung einer computerisierten
Vorrichtung, wobei:
a) die Kantendarstellung für jede repräsentierte
Kante, die eine Kante des Netzes (800) ist,
umfasst:
a1) Pointer der zwei Eckpunkte der Kante in der
Eckpunktdarstellung;
a2) einen Satz von Pointern zu Nachbarelementen in
der Elementdarstellung, wobei jedes
Nachbarelement die repräsentierte Kante als
eine dessen Kanten aufweist, und eine längste
Kante aufweist, die größer als die
repräsentierte Kante ist; und
b) wobei die Elementrepräsentation für jedes der
Elemente (820) umfasst:
b1) einen Pointer zu einer längsten Kante des
Elements in der Kantendarstellung.
24. Das Verfahren nach Anspruch 23, umfassend die weiteren
Schritte:
Initialisieren der Datenstruktur (910, 920, 940) für ein
Anfangsnetz durch Erzeugen der Kanten-, Eckpunkt- und
Elementdarstellungen;
Verwenden der Datenstruktur zum Suchen von Sätzen von
Endkanten in dem Netz, zugeordnet Zielelementen, die im
Netz (460) verfeinert sind; und
Aktualisieren der Datenstruktur nach einem Einfügen
jedes ausgewählten Punkts, ausgewählt als Mittelpunkt
einer der Endkanten im Netz (1000, 1020, 1040).
25. Das Verfahren nach Anspruch 23, weiter verwendet zum
Definieren der Eckpunktverteilung und dem Netz von
Elementen für das zu analysierende Objekt, wobei die
Datenstruktur weiter ein Vorrangsverhältnis zwischen
Nachbareckpunkten im Netz darstellt, wobei die
Datenstruktur weiter eine Generatorkantendarstellung
umfasst, und das Netz vorhergehend unter Verwendung der
computerisierten Vorrichtung verfeinert wurde, wobei
weiter:
c) die Eckpunktdarstellung für jeden Eckpunkt des
Netzes (840) umfasst:
c1) einen Integerindikator, wobei der Indikator
gleich Null ist, wenn der Eckpunkt nicht als
Mittelpunkt einer Endkante in einem
vorhergehenden Netz erhalten wurde;
andernfalls ist der Indikator gleich dem
nachfolgenden des Maximalwertes zwischen den
Indikatorwerten von zwei Eckpunkten V1 und V2,
wobei die Eckpunkte V1 und V2 eine Endkante in
einem vorhergehenden Netz definieren, und
wobei die Endkante als die Generatorkante des
Eckpunktes definiert ist;
c2) einen Pointer zu der Generatorkante für den
Eckpunkt in der Generatorkantendarstellung;
und
d) wobei die Generatorkantendarstellung für jede
Generatorkante davon (800) umfasst:
d1) Pointer zu zwei Eckpunkten, die die
Generatorkante in der Eckpunktdarstellung
definieren.
26. Das Verfahren nach Anspruch 25, weiter die Schritte
umfassend:
Initialisieren der Datenstruktur für ein Anfangsnetz
durch Erzeugen der Kanten-, Eckpunkt-, Element- und
Generatorkantendarstellungen (910, 920, 940); und
Verwenden der Datenstruktur zum Durchführen einer
Netzvergröberung basierend auf einer
Endkantenvergröberung; Aktualisieren der Datenstruktur
nach einer Netzvergröberung (1000, 1020,1060, 1080).
27. Eine computerisierte Vorrichtung zum Verfeinern sowohl
einer Eckpunktverteilung als auch eines Netzes von
Elementen für ein zu analysierendes Objekt, wobei jedes
Element des Netzes eine Vielzahl von Eckpunkten und
Kanten aufweist, ein Körper des Objektes Begrenzungen
und Schnittstellen umfasst, und die Elemente des Netzes
Begrenzungselemente umfassen, die als solche
Netzelemente definiert sind, die mindestens eine der
Begrenzungen schneiden, umfassend Bearbeitungs-,
Eingabe-, Ausgabe- und
Speichervorrichtungsbereitstellungsmittel zum:
a) Erzeugen eines Netzes von Elementen für das Objekt
(200), identifizieren eines Satzes von
Zielelementen unter den Elementen des Netzes (210)
unter Verwendung von vorgegebenen Zielelement-
Identifizierungskriterien, und identifizieren eines
Untersatzes des Satzes von Zielelementen (220)
unter Verwendung von vorgegebenen
Zielelementuntersatz-Identifizierungskriterien;
c) für jedes Element in dem Untersatz von
Zielelementen (240), suchen eines Satzes von
Endkanten (460) unter Verwendung eines Längste-
Kante-Suchverfahrens, und Einfügen mindestens eines
ausgewählten Punktes, der mindestens einer der
Endkanten zugeordnet ist, in das Netz, um ein
verfeinertes Netz (240) zu erzeugen, wobei jede der
Endkanten als eine gemeinsame Längste-Kante von
jedem der Netzelemente definiert ist, die die
Endkante teilen;
e) Wiederholen des Schrittes c) für nachfolgende
Untersätze (270) von aktualisierten Sätzen der
Zielelemente, bis ein vorgegebenes Haltkriterium
erreicht ist.
28. Die computerisierte Vorrichtung nach Anspruch 27, weiter
zum Verbessern zusätzlich zum Verfeinern der
Eckpunktverteilung und des Netzes von Elementen, wobei
die Verarbeitung -, Eingabe-, Ausgabe- und
Speichervorrichtungen weiter Mittel umfassen, zwischen
den Schritten a) und c) zum:
b) Auswählen eines Satzes von Begrenzungspunkten der
Begrenzungselemente, die in dem Untersatz von
Zielelementen enthalten sind, unter Verwendung
eines Längste-Kante-Begrenzungsauswahlverfahrens,
Einfügen der ausgewählten Begrenzungspunkte in das
Netz, und Aktualisieren des Untersatzes der
Zielelementen des Netzes (650); und
und als Teil von Schritt c):
Auswählen des mindestens einen ausgewählten Punktes
(510) unter Verwendung eines Endkanten-Auswahlverfahrens
und Einfügen des mindestens einen ausgewählten Punktes
in das Netz (560), und
und als Teil von Schritt e):
Wiederholen des Schritts b) zusätzlich zum Schritt
c) für nachfolgende Untersätze (270) von aktualisierten
Sätzen von den Zielelementen, bis ein vorgegebenes
Haltkriterium erreicht ist.
29. Die computerisierte Vorrichtung von Anspruch 28; wobei
die Begrenzungselemente als Elemente des Netzes
definiert sind, die mindestens eins der folgenden
Kriterien erfüllen: Aufweisen mindestens eines Eckpunkts
über den Objektbegrenzungen; Schneiden der
Objektbegrenzung; und Schneiden der Objektschnittstelle;
wobei die Verarbeitungs-, Eingabe-, Ausgabe- und
Speichervorrichtungen weiter Mittel umfassen, als Teil
des Längste-Kanten-Begrenzungsauswahlverfahrens von
Schritt b), für jedes Begrenzungselement in dem
Untersatz von Zielelementen (610):
b1) Finden einer längsten Kante des Begrenzungselements
und eines Mittelpunktes MPT der längsten Kante
(600) des Begrenzungselements;
b2) Überspringen des Begrenzungsprozesses von Schritt
b4), falls der Mittelpunkt MPT ein Begrenzungspunkt
(610) ist;
b3) Überspringen des Begrenzungsvorgangs von Schritt
b4), falls die Maximallänge der Kanten des
Begrenzungselements größer als ein Bruchteil ALPHA1
der Minimallänge der inneren Kanten des
Begrenzungselements ist, wann immer die
Maximallänge existiert, wobei ALPHA1 ein Parameter
größer als Null (620, 630) ist;
b4) andernfalls, Identifizieren eines ausgewählten
Punktes (650) als einen von den Begrenzungspunkten,
die die Begrenzungspunktverteilung in der Nähe
eines zusätzlichen Begrenzungspunktes verbessern,
und Einfügen des ausgewählten Punktes in das Netz
(650), wobei der zusätzliche Begrenzungspunkt
ausgewählt ist aus der Gruppe bestehend aus dem
Mittelpunkt der größten Endkante des Elements (640)
und der Projektion des MPT über der Begrenzung.
30. Die computerisierte Vorrichtung von Anspruch 27, wobei
die Verarbeitungs-, Eingabe-, Ausgabe- und
Speichervorrichtungen weiter Mittel umfassen, als Teil
des Längste-Kante-Suchverfahrens von Schritt c), zum:
c1) Einrichten eines anfangs leeren Satzes von
Endkanten, eines anfangs leeren
Verarbeitungsunternetzes, und eines anfangs leeren
Satzes von Verarbeitungselementen, und Hinzufügen
des Elements zu dem Satz von Verarbeitungselementen
(240) als ein Verarbeitungselement davon;
c2) Wählen eines Verarbeitungselements von dem Satz von
Verarbeitungselementen, Hinzufügen des
Verarbeitungselements zu dem Verarbeitungsunternetz
(410), Erzeugen eines vergrößerten Satzes,
ausgewählt aus der Gruppe bestehend aus dem Satz
von Verarbeitungselementen (450), und dem Satz von
Endkanten (460), und Eliminieren des
Verarbeitungselements von dem Satz von
Verarbeitungselementen; und
c3) Wiederholen des Schrittes c2) für jedes Element in
dem Satz von Verarbeitungselementen, bis der Satz
von Verarbeitungselementen leer ist.
31. Die computerisierte Vorrichtung von Anspruch 28, wobei
die Verarbeitungs-, Eingabe-, Ausgabe- und
Speichervorrichtungen weiter Mittel umfassen, als Teil
des Längste-Kante-Suchverfahrens von Schritt c), zum:
c1) Einrichten eines anfangs leeren Satzes von
Endkanten, eines anfangs leeren
Verarbeitungsunternetzes, und eines anfangs leeren
Satzes von Verarbeitungselementen, und Hinzufügen
des Elements zu dem Satz von Verarbeitungselementen
(240) als ein Verarbeitungselement davon;
c2) Wählen eines Verarbeitungselements von dem Satz von
Verarbeitungselementen, Hinzufügen des
Verarbeitungselements zu dem Verarbeitungsunternetz
(410), Erzeugen eines vergrößerten Satzes,
ausgewählt aus der Gruppe bestehend aus dem Satz
von Verarbeitungselementen (450), und dem Satz von
Endkanten (460), und Eliminieren des
Verarbeitungselements von dem. Satz von
Verarbeitungselementen; und
c3) Wiederholen des Schrittes c2) für jedes Element in
dem Satz von Verarbeitungselementen, bis der Satz
von Verarbeitungselementen leer ist.
32. Die computerisierte Vorrichtung nach Anspruch 30, wobei
die Verarbeitungs-, Eingabe-, Ausgabe- und
Speichervorrichtungen weiter Mittel umfassen, als Teil
von Schritt c2), zum:
c2a) Finden einer ausgewählten Kante, die eine längste
Kante unter den Kanten des Verarbeitungselements
(410) ist;
c2b) Finden eines Satzes von Aktivelementen (420),
definiert als solche Elemente im Netz, die nicht in
dem Verarbeitungsunternetz vorhanden sind, die die
ausgewählte Kante als eine Kante aufweisen, und
deren jeweilige längste Kante größer als die
ausgewählte Kante (420) ist, und Hinzufügen jedes
Elements des Satzes von Aktivelementen zu dem Satz
von Verarbeitungselementen (450);
c2c) falls der Satz von Aktivelementen leer ist,
Hinzufügen der ausgewählten Kante zu dem Satz von
Endkanten (460).
33. Die computerisierte Vorrichtung von Anspruch 31, wobei
die Verarbeitungs-, Eingabe-, Ausgabe- und
Speichervorrichtungen weiter Mittel umfassen, als Teil
von Schritt c2), zum:
c2a) Finden einer ausgewählten Kante, die eine längste
Kante unter den Kantendes Verarbeitungselements
(410) ist;
c2b) Finden eines Satzes von Aktivelementen (420),
definiert als solche Elemente im Netz, die nicht in
dem Verarbeitungsunternetz vorhanden sind, die die
ausgewählte Kante als eine Kante aufweisen, und
deren jeweilige längste Kante größer als die
ausgewählte Kante (420) ist, und Hinzufügen jedes
Elements des Satzes von Aktivelementen zu dem Satz
von Verarbeitungselementen (450);
c2c) falls der Satz von Aktivelementen leer ist,
Hinzufügen der ausgewählten Kante zu dem Satz von
Endkanten (460).
34. Die computerisierte Vorrichtung von Anspruch 28, wobei
die Verarbeitungs-, Eingabe-, Ausgabe- und
Speichervorrichtungen weiter Mittel umfassen, als Teil
des Endkantenauswahlverfahrens von. Schritt c), zum:
c4) Identifizieren eines voraussichtlichen Punktes als
Mittelpunkt einer größten Kante unter den Kanten
von Elementen innerhalb des Satzes von Endkanten
(700)
c5) Auswählen des voraussichtlichen Punktes als einen
von den ausgewählten Punkten, die in das Netz
einzufügen sind, den ausgewählten Punkt in dem
Objektinneren, wodurch das verbesserte Netz
erstellt wird, falls der Abstand von dem
voraussichtlichen Punkt zu der Objektbegrenzung
größer als ein Bruchteil K der Länge der größten
Kante ist, wobei K ein Parameter größer als Null
(750, 770) ist;
c6) andernfalls Auswählen eines der ausgewählten
Punkte, die in das Netz als ein Begrenzungspunkt
einzufügen sind, der die Begrenzungspunktverteilung
(780) in der Nähe eines zusätzlichen
Begrenzungspunkts verbessert, wobei der zusätzliche
Begrenzungspunkt gleich dem voraussichtlichen Punkt
ist, wenn der voraussichtliche Punkt über der
Begrenzung (740) ist, und wobei der zusätzliche
Begrenzungspunkt andernfalls gleich der Projektion
des voraussichtlichen Punkts über der Begrenzung
(760) ist.
35. Die computerisierte Vorrichtung von Anspruch 27, wobei
die Verarbeitungs-, Eingabe-, Ausgabe- und
Speichervorrichtungen weiter Mittel umfassen, als Teil
von Schritt c), zum:
Auswählen von Mittenpunkten der zugeordneten Endkanten
als die ausgewählten Punkte; und
Einfügen der ausgewählten Punkte in das Netz durch
Durchführen einer Längste-Kante-Halbierung jedes
Elements in dem Netz, das die zugeordnete Endkante (570)
gemeinsam nutzt.
36. Die computerisierte Vorrichtung von Anspruch 27, wobei
die Verarbeitungsvorrichtung davon mindestens einen
Parallelprozessor umfasst, die Verarbeitungs-, Eingabe-,
Ausgabe- und Speichervorrichtungen weiter Mittel
umfassen, als Teil von Schritt c), zum:
für jedes Element in dem Untersatz von Zielelementen
(240), weiter Suchen nach einem zugeordneten Satz von
Endkantensätzen für das Netz, und
zwischen den Schritten c) und e):
d) Erzeugen eines verfeinerten Netzes durch sukzessive
parallele Verfeinerung eines Untersatzes des Satzes
von Begrenzungselementsätzen (1100, 1150), wobei
der Untersatz des Satzes von Endkantensätzen
vollständig disjunkte Begrenztzngselementesätze
aufweist, und Verfeinern jedes der
Begrenzungselementsätze durch:
d1) Partitionieren jedes Elements in dem
Begrenzungselementsatz durch einen Mittelpunkt
einer gemeinsamen längsten Kante, wobei die
gemeinsame längste Kante gleich der
zugeordneten Endkante (1150) ist; und
d2) lokales Aktualisieren der Netzdatenstruktur
(1150, 1020, 1060, 1080); und
als Teil von Schritt e):
Wiederholen des Schrittes d) zusätzlich zum Schritt c)
für nachfolgende Untersätze (270) von aktualisierten
Sätzen der Zielelemente, bis ein vorgegebenes
Haltkriterium erreicht ist.
37. Die computerisierte Vorrichtung von Anspruch 28, wobei
die Verarbeitungsvorrichtung davon mindestens einen
Parallelprozessor umfasst, die Verarbeitungs-, Eingabe-,
Ausgabe- und Speichervorrichtungen weiter Mittel
umfassen, als Teil des Längste-Kanten-Auswahlverfahrens
von Schritt c), zum Durchführen einer Parallelsuche
durch:
c1) Einrichten eines anfangs leeren Satzes von
Endkanten, eines anfangs leeren
Verarbeitungsunternetzes, und eines anfangs leeren
Satzes von Verarbeitungselementen, und Hinzufügen
des Elements zu dem Satz von Verarbeitungselementen
(240) als ein Verarbeitungselement davon;
c2) Auswählen und Zuordnen zu jedem freien des
mindestens einen Parallelprozessors, ein
Verarbeitungselements aus dem Satz von
Verarbeitungselementen, Hinzufügen des
Verarbeitungselements zu dem verarbeiteten
Unternetz (410), Erzeugen eines vergrößerten Satzes
ausgewählt aus der Gruppe bestehend aus dem Satz
von Verarbeitungselementen (450) und dem Satz von
Endkanten (460), und Eliminieren des
Verarbeitungselements von dem Satz von
Verarbeitungselementen; und
c3) Wiederholen des Schrittes c2) für jedes Element in
dem Satz von Verarbeitungselementen, bis der Satz
von Verarbeitungselementen leer ist; und
als Teil von Schritt e):
Wiederholen des Schritts c) für nachfolgende Untersätze
(270) von aktualisierten Sätzen der Zielelemente, bis
ein vorgegebenes Haltkriterium erreicht ist.
38. Die computerisierte Vorrichtung von Anspruch 36, wobei
die Verarbeitungs-, Eingabe-, Ausgabe- und
Speichervorrichtungen weiter Mittel umfassen, als Teil
des Längste-Kante-Auswahlverfahrens von Schritt c), zum
Durchführen einer Parallelsuche durch:
c1) Einrichten eines anfangs leeren Satzes von
Endkanten, eines anfangs leeren
Verarbeitungsunternetzes, und eines anfangs leeren
Satzes von Verarbeitungselementen, und Hinzufügen
des Elements zu dem Satz von Verarbeitungselementen
(240) als ein Verarbeitungselement davon;
c2) Auswählen und Zuordnen zu jedem freien des
mindestens einen Parallelprozessors, ein
Verarbeitungselements aus dem Satz von
Verarbeitungselementen, Hinzufügen des
Verarbeitungselements zu dem verarbeiteten
Unternetz (410), Erzeugen eines vergrößerten Satzes
ausgewählt aus der Gruppe bestehend aus dem Satz
von Verarbeitungselementen (450) und dem Satz von
Endkanten (460), und Eliminieren des
Verarbeitungselements von dem Satz von
Verarbeitungselementen; und
c3) Wiederholen des Schrittes c2) für jedes Element in
dem Satz von Verarbeitungselementen, bis der Satz
von Verarbeitungselementen leer ist.
39. Die computerisierte Vorrichtung von Anspruch 38, wobei
die Verarbeitungs-, Eingabe-, Ausgabe- und
Speichervorrichtungen weiter Mittel umfassen, als Teil
des Längste-Kante-Auswahlverfahrens von Schritt c2):
c2a) Finden einer ausgewählten Kante, die eine längste
Kante unter den Kanten des Verarbeitungselements
(410) ist;
c2b) Finden eines Satzes von Aktivelementen (420),
definiert als solche Elemente im Netz, die nicht in
dem Verarbeitungsunternetz vorhanden sind, die die
ausgewählte Kante als eine Kante aufweisen, und
deren jeweilige längste Kante größer als die
ausgewählte Kante (420) ist, und Hinzufügen jedes
Elements des Satzes von Aktivelementen zu dem Satz
von Verarbeitungselementen (450);
c2c) falls der Satz von Aktivelementen leer ist,
Hinzufügen der ausgewählten Kante zu dem Satz von
Endkanten (460).
40. Die computerisierte Vorrichtung von Anspruch 27, weiter
zum Vergröbern zusätzlich zum Verfeinern der
Eckpunktverteilung und des Netzes von Elementen, wobei
die Verarbeitungs-, Eingabe-, Ausgabe- und
Speichervorrichtungen weiter Mittel umfassen, für ein
Anfangsnetz, vorhergehend durch mindestens die Schritte
a), c) und e) erhalten, zum:
f) Zuordnen zu jedem Eckpunkt des Anfangsnetzes, einen
Eckpunktindikator gleich dem nachfolgenden des
Maximums zwischen den Indikatorwerten von zwei
Eckpunkten V1 und V2, falls die zwei Eckpunkte eine
Endkante in einem dem Anfangsnetz vorangehenden
vorhergehenden Netz definieren, und falls der
Eckpunkt in dem vorhergehenden Netz als ein
Mittelpunkt der Endkante erhalten wurde, die eine
zugeordnete Generatorkante für den Eckpunkt
definiert, und andernfalls den Eckpunktindikator
gleich Null;
g) Produzieren mindestens eine Zieleckpunktes, der in
dem Netz (1200) zu definieren, ist, und für jeden
der Zieleckpunkte:
g1) Erzeugen eines Satzes von Aktivknoten (1240,
1520), wobei jeder Aktivknoten einen Eckpunkt
umfasst, und einen zugeordneten
Eckpunktindikator und eine zugeordnete
Generatorkante;
g2) Ordnen der Knoten des Satzes von Aktivknoten
in abwärts gerichteter Ordnung der
Eckpunktindikatorwerte, und für Knoten mit
gleichem Eckpunktindikatorwert, in
aufsteigender Reihenfolge gemäß der Längen der
zugeordneten Generatorkanten (1260);
g3) Vergröbern eines Satzes von Aktiveckpunkten,
zugeordnet zu dem Satz von Aktivknoten, in
Übereinstimmung mit der Reihenfolge der
zugeordneten Aktivknoten (1600, 1650), wobei
die Eckpunkte der Aktivknoten direkt mit den
Eckpunkten der zugeordneten Generatorkanten
verbunden sind, und lokales Aktualisieren der
Zieleckpunkte; und
h) Wiederholen der Schritte g) für aktualisierte
Zieleckpunkte, bis ein nutzerdefiniertes
Haltkriterium erreicht ist.
41. Die computerisierte Vorrichtung von Anspruch 28, weiter
zum Vergröbern zusätzlich zum Verfeinern und Verbessern
der Eckpunktverteilung des Netzes von Elementen, wobei
die Verarbeitungs-, Eingabe-, Ausgabe- und
Speichervorrichtungen weiter Mittel umfassen, für ein
Anfangsnetz, vorhergehend durch mindestens die Schritte
a) , b), c) und e) erhalten, zum:
f) Zuordnen zu jedem Eckpunkt des Anfangsnetzes, einen
Eckpunktindikator gleich dem nachfolgenden des
Maximums zwischen den Indikatorwerten von zwei
Eckpunkten V1 und V2, falls die zwei Eckpunkte eine
Endkante in einem dem Anfangsnetz vorangehenden
vorhergehenden Netz definieren, und falls der
Eckpunkt in dem vorhergehenden Netz als ein
Mittelpunkt der Endkante erhalten wurde, die eine
zugeordnete Generatorkante für den Eckpunkt
definiert, und andernfalls den Eckpunktindikator
gleich Null;
g) Produzieren mindestens eine Zieleckpunktes, der in
dem Netz (1200) zu definieren ist, und für jeden
der Zieleckpunkte:
g1) Erzeugen eines Satzes von Aktivknoten (1240,
1520), wobei jeder Aktivknoten einen Eckpunkt
umfasst, und einen zugeordneten
Eckpunktindikator und eine zugeordnete
Generatorkante;
g2) Ordnen der Knoten des Satzes von Aktivknoten
in abwärts gerichteter Ordnung der
Eckpunktindikatorwerte, und für Knoten mit
gleichem Eckpunktindikatorwert, in
aufsteigender Reihenfolge gemäß der Längen der
zugeordneten Generatorkanten (1260);
g3) Vergröbern eines Satzes von Aktiveckpunkten,
zugeordnet zu dem Satz von Aktivknoten, in
Übereinstimmung mit der Reihenfolge der
zugeordneten Aktivknoten (1600, 1650), wobei
die Eckpunkte der Aktivknoten direkt mit den
Eckpunkten der zugeordneten Generatorkanten
verbunden sind, und lokales Aktualisieren der
Zieleckpunkte; und
h) Wiederholen der Schritte g) für aktualisierte
Zieleckpunkte, bis ein nutzerdefiniertes
Haltkriterium erreicht ist.
42. Die computerisierte Vorrichtung von Anspruch 37, weiter
für ein Vergröbern zusätzlich zum Verfeinern und
Verbessern der Eckpunktverteilung und des Netzes von
Elementen, wobei die Verarbeitungs-, Eingabe-, Ausgabe-
und Speichervorrichtungen weiter Mittel umfassen, für
ein Anfangsnetz, vorhergehend erhalten durch mindestens
die Schritte a), b), c), d) und e), zum:
f) Zuordnen zu jedem Eckpunkt des Anfangsnetzes, einen
Eckpunktindikator gleich dem nachfolgenden des
Maximums zwischen den Indikatorwerten von zwei
Eckpunkten V1 und V2, falls die zwei Eckpunkte eine
Endkante in einem dem Anfangsnetz vorangehenden
vorhergehenden Netz definieren, und falls der
Eckpunkt in dem vorhergehenden Netz als ein
Mittelpunkt der Endkante erhalten wurde, die eine
zugeordnete Generatorkante für den Eckpunkt
definiert, und andernfalls den Eckpunktindikator
gleich Null;
g) Produzieren mindestens eine Zieleckpunktes, der in
dem Netz (1200) zu definieren ist, und für jeden
der Zieleckpunkte:
g1) Erzeugen eines Satzes von Aktivknoten (1240,
1520), wobei jeder Aktivknoten einen Eckpunkt
umfasst, und einen zugeordneten
Eckpunktindikator und eine zugeordnete
Generatorkante;
g2) Ordnen der Knoten des Satzes von Aktivknoten
in abwärts gerichteter Ordnung der
Eckpunktindikatorwerte, und für Knoten mit
gleichem Eckpunktindikatorwert, in
aufsteigender Reihenfolge gemäß der Längen der
zugeordneten Generatorkanten (1260);
g3) parallelen Definieren einer Vielzahl von
aktiven Eckpunkten innerhalb des Satzes von
Aktiveckpunkten, für Aktiveckpunkte mit
vollständig disjunkten Sätzen von
Nachbarelementen, in Übereinstimmung mit der
Reihenfolge der zugeordneten Aktivknoten
(1600, 1650), wobei die Eckpunkte der
Aktivknoten direkt mit den Eckpunkten der
zugeordneten Generatorkanten verbunden sind,
und lokales Aktualisieren der Zieleckpunkte;
und
h) Wiederholen der Schritte g) für aktualisierte
Zieleckpunkte, bis ein nutzerdefiniertes
Haltkriterium erreicht ist.
43. Eine computerisierte Vorrichtung zum Vergröbern eines
Anfangsnetzes von Elementen für ein zu analysierendes
Objekt, wobei jedes Element des Anfangsnetzes eine
Vielzahl von Eckpunkten und Kanten aufweist, ein Körper
des Objektes Begrenzungen und Schnittstellen umfasst,
und die Elemente des Anfangsnetzes Begrenzungselemente
umfassen, die als solche Netzelemente definiert sind,
die mindestens eine der Begrenzungen schneiden, wobei
das Anfangsnetz vorhergehend durch mindestens die
Schritte erlangt wurde: i) Erzeugen eines Netzes von
Elementen für das Objekt (200), Identifizieren eines
Satzes von Zielelementen unter den Elementen des Netzes
(210) unter Verwendung von vorgegebenen Zielelement-
Identifizierungskriterien, und Identifizieren eines
Untersatzes des Satzes von Zielelementen unter
Verwendung von vorgegebenen Zielelementuntersatz-
Identifizierungskriterien; ii) für jedes Element in dem
Untersatz von Zielelementen (240), Suchen eines Satzes
von Endkanten (40, 460) unter Verwendung eines Längste-
Kante-Suchverfahrens, und Einfügen mindestens eines
ausgewählten Punktes, zugeordnet mindestens einer der
Endkanten, in das Netz, um ein verfeinertes Netz (240)
zu erzeugen, wobei jede der Endkanten definiert ist als
eine gemeinsame längste Kante jedes Netzelements, das
die gemeinsame Kante teilt; und iii) Wiederholen des
Schrittes ii) für nachfolgende Untersätze (270) von
zugeordneten Sätzen von Zielelementen, bis ein
vorgegebenes Haltkriterium erreicht ist; umfassend
Verarbeitungs-, Eingabe-, Ausgabe- und Speicherelemente,
die Mittel bereitstellen zum:
a) Zuordnen zu jedem Eckpunkt des Anfangsnetzes, einen
Eckpunktindikator gleich dem nachfolgenden des
Maximums zwischen den Indikatorwerten von zwei
Eckpunkten V1 und V2, falls die zwei Eckpunkte eine
Endkante in einem dem Anfangsnetz vorangehenden
vorhergehenden Netz definieren, und falls der
Eckpunkt in dem vorhergehenden Netz als ein
Mittelpunkt der Endkante erhalten wurde, die eine
zugeordnete Generatorkante für den Eckpunkt
definiert, und andernfalls den Eckpunktindikator
gleich Null;
b) Produzieren mindestens eine Zieleckpunktes, der in
dem Netz (1200) zu definieren ist, und für jeden
der Zieleckpunkte:
b1) Erzeugen eines Satzes von Aktivknoten (1240,
1520), wobei jeder Aktivknoten einen Eckpunkt
umfasst, und einen zugeordneten
Eckpunktindikator und eine zugeordnete
Generatorkante;
b2) Ordnen der Knoten des Satzes von Aktivknoten
in abwärts gerichteter Ordnung der
Eckpunktindikatorwerte, und für Knoten mit
gleichem Eckpunktindikatorwert, in
aufsteigender Reihenfolge gemäß der Längen der
zugeordneten Generatorkanten (1260);
b3) Vergröbern eines Satzes von Aktiveckpunkten,
zugeordnet dem Satz von Aktivknoten, in
Übereinstimmung mit der Reihenfolge der
zugeordneten Aktivknoten (1600, 1650), wobei
die Eckpunkte der Aktivknoten direkt mit den
Eckpunkten der zugeordneten Generatorkanten
verbunden sind, und lokales Aktualisieren der
Zieleckpunkte; und
c) Wiederholen der Schritte b) für aktualisierte
Zieleckpunkte, bis ein nutzerdefiniertes
Haltkriterium erreicht ist.
44. Die computerisierte Vorrichtung von Anspruch 43, wobei
die Verarbeitungsvorrichtung davon mindestens einen
Parallelprozessor umfasst, die Verarbeitungs-, Eingabe-,
Ausgabe- und Speichervorrichtungen weiter Mittel
umfassen, als ein Teil des Schrittes b3), zum:
b3.1) paralleles Definieren einer Vielzahl der
Aktiveckpunkte innerhalb des Satzes von
Aktiveckpunkten, für aktive Eckpunkte mit
vollständig disjunkten Sätzen von
Nachbarelementen.
45. Die computerisierte Vorrichtung von Anspruch 43, wobei
die Verarbeitungs-, Eingabe-, Ausgabe- und
Speichervorrichtungen weiter Mittel umfassen, als Teil
von Schritt b1), zum:
b1.1) Initialisieren des Satzes von Aktivknoten mit
einem Triplett (VX, NX, GX), wobei VX der Eckpunkt
ist, NX der zugeordnete Eckpunktindikator und GX
die zugeordnete Generatorkante (1400) ist;
b1.2) Initialisieren eines Satzes von
Verarbeitungsknoten mit dem Triplett (VX, NX, GX)
(1400);
b1.3) Wählen eines Knotens (VY, NY, GY) aus dem Satz von
Verarbeitungsknoten (1420), und Auswählen eines
Satzes von Nachbarknoten, wobei jeder Knoten (VZ,
NZ, GZ) vom Eckpunkt VZ, vom zugeordnetem
Eckpunktindikator NZ, und zugeordneter
Generatorkante GZ, alle zu dem Satz von
Nachbarknoten hinzugefügt werden, wenn mindestens
eine Bedingung aus der Gruppe der folgenden
Bedingungen (1460, 1480, 1500) erfüllt ist:
die Kante von Eckpunkten VZ, VY existiert in dem
Netz und NZ > NY; und
die Kante von Eckpunkten VZ, VY existiert in dem
Netz und NZ = NY, und GZ < GY;
b1.4) Hinzufügen jedes ausgewählten Nachbarknotens zu
dem Satz von Verarbeitungsknoten und Hinzufügen
jedes ausgewählten Nachbarknotens zu dem Satz von
Aktivknoten (1520);
b1.5) Wiederholen der Schritte b1.3) und b1.4) bis der
Satz von Verarbeitungsknoten leer ist und der Satz
von Aktivknoten vervollständigt ist (1540).
46. Die computerisierte Vorrichtung von Anspruch 44, wobei
die Verarbeitungs-, Eingabe-, Ausgabe- und
Speichervorrichtungen weiter Mittel umfassen, als Teil
von Schritt b1), zum:
b1.1) Initialisieren des Satzes von Aktivknoten mit
einem Triplett (VX, NX, GX), wobei VX der Eckpunkt
ist, NX der zugeordnete Eckpunktindikator und GX
die zugeordnete Generatorkante (1400) ist;
b1.2) Initialisieren eines Satzes von
Verarbeitungsknoten mit dem Triplett (VX, NX, GX)
(1400);
b1.3) Wählen eines Knotens (VY, NY, GY) aus dem Satz von
Verarbeitungsknoten (1420), und Auswählen eines
Satzes von Nachbarknoten, wobei jeder Knoten (VZ,
NZ, GZ) vorn Eckpunkt VZ, vom zugeordnetem
Eckpunktindikator NZ, und zugeordneter
Generatorkante GZ, alle zu dem Satz von
Nachbarknoten hinzugefügt werden, wenn mindestens
eine Bedingung aus der Gruppe der folgenden
Bedingungen (1460, 1480, 1501) erfüllt ist:
die Kante von Eckpunkten VZ, VY existiert in dem
Netz und NZ > NY; und
die Kante von Eckpunkten VZ, VY existiert in dem
Netz und NZ = NY, und GZ < GY;
b1.4) Hinzufügen jedes ausgewählten Nachbarknotens zu
dem Satz von Verarbeitungsknoten und Hinzufügen
jedes ausgewählten Nachbarknotens zu dem Satz von
Aktivknoten (1520);
b1.5) Wiederholen der Schritte b1.3) und b1.4) bis der
Satz von Verarbeitungsknoten leer ist und der Satz
von Aktivknoten vervollständigt ist (1540).
47. Die computerisierte Vorrichtung von Anspruch 43, wobei
die Verarbeitungs-, Eingabe-, Ausgabe- und
Speichervorrichtungen weiter Mittel umfassen, als Teil
von Schritt b3), für jeden Aktiveckpunkt des Satzes von
Aktiveckpunkten:
b3.1) Eliminieren aus dem Netz: den Aktiveckpunkt, jede
Kante, die den Aktiveckpunkt enthält, und jedes
der Netzelemente, die den Aktiveckpunkt (1750)
enthält; und
b3.2) Addieren zu dem Netz: eine neue Kante gleich der
Generatorkante des Eckpunkts, und neuer Elemente
umfassend jedes Element, das die Kante (1750)
teilt.
48. Die computerisierte Vorrichtung von Anspruch 43, wobei
die Verarbeitungs-, Eingabe-, Ausgabe- und
Speichervorrichtungen weiter Mittel umfassen, als Teil
von Schritt b3), für jeden Aktiveckpunkt des Satzes von
Aktiveckpunkten, zum:
b3.1) Eliminieren aus dem Netz: den Aktiveckpunkt, jede
Kante, die den Aktiveckpunkt enthält, und jedes
der Netzelemente, die den Aktiveckpunkt (1750)
enthält; und
b3.2) Addieren zu dem Netz: eine neue Kante gleich der
Generatorkante des Eckpunkts, und neuer Elemente
umfassend jedes Element, das die Kante (1750)
teilt.
49. Eine computerisierte Vorrichtung zum Speichern und
Verarbeiten einer Datenstruktur, zum Verfeinern sowohl
einer Eckpunktverteilung als auch eines Netzes von
Elementen für ein zu analysierendes Objekt, wobei jedes
Element des Netzes eine Vielzahl von Eckpunkten und
Kanten aufweist, ein Körper des Objektes Begrenzungen
und Schnittstellen aufweist, und die Elemente des Netzes
Begrenzungselemente umfassen, die als solche
Netzelemente definiert sind, die mindestens eine der
Begrenzungen schneiden, wobei das Netz verfeinert wird
durch mindestens die folgenden Schritte: i) Erzeugen
eines Netzes von Elementen für das Objekt (200),
Identifizieren eines Satzes von Zielelementen unter den
Elementen des Netzes (210) unter Verwendung von
vorgegebenen Zielelement-Identifizierungskriterien, und
Identifizieren eines Untersatzes des Satzes von
Zielelementen unter Verwendung von vorgegebenen
Zielelementuntersatz-Identifizierungskriterien; ii) für
jedes Element in dem Untersatz von Zielelementen (240),
Suchen eines Satzes von Endkanten (40, 460) unter
Verwendung eines Längste-Kante-Suchverfahrens, und
Einfügen mindestens eines ausgewählten Punktes,
zugeordnet mindestens einer der Endkanten, in das Netz,
um ein verfeinertes Netz (240) zu erzeugen, wobei jede
der Endkanten definiert ist als eine gemeinsame längste
Kante jedes Netzelements, das die gemeinsame Kante
teilt; und iii) Wiederholen des Schritts ii) für
nachfolgende Untersätze (270) von aktualisierten Sätzen
der Zielelemente, bis ein vorgegebenes Haltkriterium
erreicht ist; wobei die Datenstruktur ein Längste-
Kanten-Verhältnis repräsentiert, das zwischen
Nachbarelementen in dem Netz von Elementen besteht,
nutzbar zum Suchen von Sätzen von Endkanten in dem Netz,
wobei jede Endkante als eine gemeinsame längste Kante
von einem jeden Netzelement definiert ist, die die
Endkante teilt, wobei die Datenstruktur weiter Kanten-,
Element- und Eckpunktdarstellungen enthält, und wobei
jedes Element des Netzes eine Vielzahl von Eckpunkten
und Kanten aufweist, wobei:
a) die Kantendarstellung für jede repräsentierte
Kante, die eine Kante des Netzes (800) ist,
umfasst:
a1) Pointer der zwei Eckpunkte der Kante in der
Eckpunktdarstellung;
a2) einen Satz von Pointern zu Nachbarelementen in
der Elementdarstellung, wobei jedes
Nachbarelement die repräsentierte Kante als
eine dessen Kanten aufweist, und eine längste
Kante aufweist, die größer als die
repräsentierte Kante ist; und
b) wobei die Elementrepräsentation für jedes der
Elemente (820) umfasst:
b1) einen Pointer zu einer längsten Kante des
Elements in der Kantendarstellung.
50. Die computerisierte Vorrichtung von Anspruch 49, weiter
Mittel umfassend zum:
Initialisieren der Datenstruktur (910, 920, 940) für ein
Anfangsnetz durch Erzeugen der Kanten-, Eckpunkt- und
Elementdarstellungen;
Verwenden der Datenstruktur zum Suchen von Sätzen von
Endkanten in dem Netz, zugeordnet Zielelementen, die im
Netz (460) verfeinert sind; und
Aktualisieren der Datenstruktur nach einem Einfügen
jedes ausgewählten Punkts, ausgewählt als Mittelpunkt
einer der Endkanten im Netz (1000, 1020, 1040).
51. Die computerisierte Vorrichtung von Anspruch 49, weiter
verwendet zum Definieren der Eckpunktverteilung und dem
Netz von Elementen für das zu analysierende Objekt,
wobei die Datenstruktur weiter ein Vorrangsverhältnis
zwischen Nachbareckpunkten im Netz darstellt, wobei die
Datenstruktur weiter eine Generatorkantendarstellung
umfasst, und das Netz vorhergehend unter Verwendung der
computerisierten Vorrichtung verfeinert wurde, wobei
weiter:
c) die Eckpunktdarstellung für jeden Eckpunkt des
Netzes (840) umfasst:
c1) einen Integerindikator, wobei der Indikator
gleich Null ist, wenn der Eckpunkt nicht als
Mittelpunkt einer Endkante in einem
vorhergehenden Netz erhalten wurde;
andernfalls ist der Indikator gleich dem
nachfolgenden des Maximalwertes zwischen den
Indikatorwerten von zwei Eckpunkten V1 und V2,
wobei die Eckpunkte V1 und V2 eine Endkante in
einem vorhergehenden Netz definieren, und
wobei die Endkante als die Generatorkante des
Eckpunktes definiert ist;
c2) einen Pointer zu der Generatorkante für den
Eckpunkt in der Generatorkantendarstellung;
und
d) wobei die Generatorkantendarstellung für jede
Generatorkante davon (800) umfasst:
d1) Pointer zu zwei Eckpunkten, die die
Generatorkante in der Eckpunktdarstellung
definieren.
52. Die computerisierte Vorrichtung nach Anspruch 51, weiter
Mittel umfassend zum:
Initialisieren der Datenstruktur für ein Anfangsnetz
durch Erzeugen der Kanten-, Eckpunkt-, Element- und
Generatorkantendarstellungen (910, 920, 940); und
Verwenden der Datenstruktur zum Durchführen einer
Netzvergröberung basierend auf einer
Endkantenvergröberung; Aktualisieren der Datenstruktur
nach einer Netzvergröberung (1000, 1020, 1060, 1080).
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US6143997P | 1997-10-08 | 1997-10-08 | |
| US09/162,737 US6266062B1 (en) | 1997-10-08 | 1998-09-29 | Longest-edge refinement and derefinement system and method for automatic mesh generation |
| PCT/EP1998/006258 WO1999018517A2 (en) | 1997-10-08 | 1998-10-01 | Longest-edge refinement and derefinement system and method for automatic mesh generation |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69801113D1 DE69801113D1 (de) | 2001-08-16 |
| DE69801113T2 true DE69801113T2 (de) | 2002-03-14 |
Family
ID=26741073
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69801113T Expired - Fee Related DE69801113T2 (de) | 1997-10-08 | 1998-10-01 | Längste-kanten verfeinerungs- und vergröberungssystem und -verfahren zur automatischen maschen-erzeugung |
Country Status (6)
| Country | Link |
|---|---|
| US (2) | US6266062B1 (de) |
| EP (1) | EP1021798B1 (de) |
| AU (1) | AU747230B2 (de) |
| CA (1) | CA2304492A1 (de) |
| DE (1) | DE69801113T2 (de) |
| WO (1) | WO1999018517A2 (de) |
Families Citing this family (37)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6266062B1 (en) * | 1997-10-08 | 2001-07-24 | Maria-Cecilia Rivara | Longest-edge refinement and derefinement system and method for automatic mesh generation |
| US6377865B1 (en) * | 1998-02-11 | 2002-04-23 | Raindrop Geomagic, Inc. | Methods of generating three-dimensional digital models of objects by wrapping point cloud data points |
| US6665849B2 (en) | 1999-06-09 | 2003-12-16 | Interuniversitair Microelektronica Centrum Vzw | Method and apparatus for simulating physical fields |
| US6453275B1 (en) * | 1998-06-19 | 2002-09-17 | Interuniversitair Micro-Elektronica Centrum (Imec Vzw) | Method for locally refining a mesh |
| JP2001074568A (ja) * | 1999-09-03 | 2001-03-23 | Fujitsu Ltd | モデル解析方法及びモデル解析装置並びに記録媒体 |
| JP3387869B2 (ja) * | 1999-10-26 | 2003-03-17 | 日本電気株式会社 | プロセスシミュレーションのメッシュ発生方法 |
| US6606584B1 (en) * | 1999-10-29 | 2003-08-12 | Intel Corporation | Defining a neighborhood of vertices in a 3D surface mesh |
| CA2395809A1 (en) * | 1999-12-27 | 2001-07-05 | Alcoa Nederland B.V. | Mesh generator for and method of generating meshes in an extrusion process |
| JP2001210716A (ja) * | 2000-01-25 | 2001-08-03 | Nec Ic Microcomput Syst Ltd | レイアウト設計方法 |
| WO2002023486A2 (en) * | 2000-05-09 | 2002-03-21 | Mental Images, G.M.B.H. & Co., Kg. | Generating coarse-level meshes from fine-level meshes |
| FR2810770B1 (fr) * | 2000-06-23 | 2003-01-03 | France Telecom | Raffinement d'un maillage triangulaire representatif d'un objet en trois dimensions |
| US6505326B1 (en) * | 2000-09-29 | 2003-01-07 | General Electric Company | Analyzing thermal characteristics of geometries |
| US6720962B1 (en) * | 2000-12-04 | 2004-04-13 | Joseph Alter Inc. | Hair generation and other natural phenomena with surface derived control volumes in computer graphics and animation |
| JP3979162B2 (ja) * | 2002-04-22 | 2007-09-19 | ソニー株式会社 | 画像処理装置およびその方法 |
| US7131105B2 (en) * | 2003-09-19 | 2006-10-31 | Coventor, Inc. | System and method for automatic mesh generation from a system-level MEMS design |
| US7446777B2 (en) * | 2003-09-26 | 2008-11-04 | Rensselaer Polytechnic Institute | System and method of computing and displaying property-encoded surface translator descriptors |
| US8155403B2 (en) * | 2004-05-05 | 2012-04-10 | University Of Iowa Research Foundation | Methods and devices for airway tree labeling and/or matching |
| JP4714444B2 (ja) * | 2004-08-31 | 2011-06-29 | 国立大学法人北海道大学 | 四面体メッシュ生成方法およびプログラム |
| US10279196B2 (en) | 2006-09-28 | 2019-05-07 | Accuray Incorporated | Radiation treatment planning using four-dimensional imaging data |
| US8022949B2 (en) * | 2006-12-04 | 2011-09-20 | Electronics And Telecommunications Research Institute | System and method for generating curvature adapted isosurface based on delaunay triangulation |
| US7623679B2 (en) * | 2006-12-13 | 2009-11-24 | Accuray Incorporated | Temporal smoothing of a deformation model |
| JP4999522B2 (ja) * | 2007-04-06 | 2012-08-15 | 株式会社日立製作所 | 解析メッシュ生成装置 |
| WO2009035737A2 (en) * | 2007-06-13 | 2009-03-19 | United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Adaptive refinement tools for tetrahedral unstructured grids |
| US8274512B2 (en) * | 2008-06-04 | 2012-09-25 | Sandia Corporation | System and method for polytopic mesh refinement |
| US8386211B2 (en) * | 2008-08-15 | 2013-02-26 | International Business Machines Corporation | Monitoring virtual worlds to detect events and determine their type |
| WO2010065769A2 (en) * | 2008-12-03 | 2010-06-10 | Chevron U.S.A. Inc. | System and method of grid generation for discrete fracture modeling |
| US9068448B2 (en) * | 2008-12-03 | 2015-06-30 | Chevron U.S.A. Inc. | System and method for predicting fluid flow characteristics within fractured subsurface reservoirs |
| US8605972B2 (en) | 2012-03-02 | 2013-12-10 | Sony Corporation | Automatic image alignment |
| WO2015002644A1 (en) * | 2013-07-02 | 2015-01-08 | Landmark Graphics Corporation | 2.75d meshing algorithm |
| EP2905744A1 (de) * | 2014-02-05 | 2015-08-12 | Fujitsu Limited | Netzqualitätsverbesserung in computergestützter Konstruktion |
| CN105631067A (zh) * | 2014-10-31 | 2016-06-01 | 北京临近空间飞行器系统工程研究所 | 一种气动流场网格无向图的低计算复杂度构造方法 |
| CN105550384B (zh) * | 2014-10-31 | 2019-05-07 | 北京临近空间飞行器系统工程研究所 | 气动流场网格Metis自动分区的一种后处理方法 |
| DE102020130293A1 (de) | 2019-12-10 | 2021-06-10 | Nvidia Corporation | Polar stroking für vektorgrafiken |
| US11164372B2 (en) * | 2019-12-10 | 2021-11-02 | Nvidia Corporation | Polar stroking for vector graphics |
| US11257253B2 (en) * | 2019-12-10 | 2022-02-22 | Nvidia Corporation | Method and system for unified encoding of path segments, caps, and joins for path stroking |
| US11275942B2 (en) * | 2020-07-14 | 2022-03-15 | Vicarious Fpc, Inc. | Method and system for generating training data |
| CN114972687B (zh) * | 2022-07-21 | 2022-11-15 | 中汽研(天津)汽车工程研究院有限公司 | 基于消除三角形网格对的网格调整方法 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4912664A (en) * | 1988-02-01 | 1990-03-27 | Mentor Graphics Corporation | Method and apparatus for generating a mesh for finite element analysis |
| US5214752A (en) * | 1991-01-22 | 1993-05-25 | International Business Machines Corporation | Point placement method for use in a three-dimensional automatic mesh generation system |
| US5440674A (en) * | 1991-07-31 | 1995-08-08 | Park; Joon Y. | Mesh generation with quasi-equilateral triangulation for finite element analyses |
| US5798764A (en) * | 1994-05-27 | 1998-08-25 | Nec Corporation | Method for determining the intersections of Delaunay partitioned tetrahedra with the boundary of a body to be analyzed |
| US5963209A (en) * | 1996-01-11 | 1999-10-05 | Microsoft Corporation | Encoding and progressive transmission of progressive meshes |
| US5886702A (en) * | 1996-10-16 | 1999-03-23 | Real-Time Geometry Corporation | System and method for computer modeling of 3D objects or surfaces by mesh constructions having optimal quality characteristics and dynamic resolution capabilities |
| US6266062B1 (en) * | 1997-10-08 | 2001-07-24 | Maria-Cecilia Rivara | Longest-edge refinement and derefinement system and method for automatic mesh generation |
-
1998
- 1998-09-29 US US09/162,737 patent/US6266062B1/en not_active Expired - Fee Related
- 1998-10-01 CA CA002304492A patent/CA2304492A1/en not_active Abandoned
- 1998-10-01 AU AU10288/99A patent/AU747230B2/en not_active Ceased
- 1998-10-01 WO PCT/EP1998/006258 patent/WO1999018517A2/en not_active Ceased
- 1998-10-01 DE DE69801113T patent/DE69801113T2/de not_active Expired - Fee Related
- 1998-10-01 EP EP98952684A patent/EP1021798B1/de not_active Expired - Lifetime
-
2003
- 2003-12-01 US US10/707,248 patent/US20040117163A1/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| DE69801113D1 (de) | 2001-08-16 |
| AU1028899A (en) | 1999-04-27 |
| EP1021798A2 (de) | 2000-07-26 |
| AU747230B2 (en) | 2002-05-09 |
| US20040117163A1 (en) | 2004-06-17 |
| WO1999018517A2 (en) | 1999-04-15 |
| EP1021798B1 (de) | 2001-07-11 |
| US6266062B1 (en) | 2001-07-24 |
| WO1999018517A3 (en) | 1999-06-17 |
| CA2304492A1 (en) | 1999-04-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69801113T2 (de) | Längste-kanten verfeinerungs- und vergröberungssystem und -verfahren zur automatischen maschen-erzeugung | |
| DE69224499T2 (de) | Dreidimensionale graphische Verarbeitung | |
| DE69027402T2 (de) | Verfahren und Vorrichtung zur Steuerung von Robotern und ähnlichem zum Gebrauch hierarchisch organisierter "Bubble-Daten", die entlang einer Mittelachse angeordnet sind | |
| DE69303468T2 (de) | Speicherbasierte verfahren und geraet fuer rechnergraphik | |
| DE69725487T2 (de) | Gitternetze mit veränderbarer Auflösung | |
| DE69023222T2 (de) | Verfahren und gerät zur flächenmodellierung. | |
| EP0829822B1 (de) | Verfahren zur Anzeige von geometrischen Objektoberflächen | |
| DE60026197T2 (de) | Detailgerichtete hierarchische Distanzfelder in der Objektmodellierung | |
| DE69428482T2 (de) | Verfahren und Vorrichtung zur Bildverarbeitung | |
| EP0549944A2 (de) | Mehrfachauflösendes graphisches System für interaktive Visualisationsanwendungen | |
| DE602004011749T2 (de) | Umschlagsdeformation mittels unterteilten Oberflächen | |
| DE60217748T2 (de) | Verfahren und Gerät zur Anzeige eines Bildraumes | |
| DE69915837T2 (de) | Parametrische Flächenauswertung im Eigenraum der Unterteilungsmatrix eines irregulären Flächenstücks | |
| DE19807053A1 (de) | Strahltransformationsverfahren für eine schnelle Volumenaufbereitung für eine perspektivische Betrachtung | |
| JPH0816629A (ja) | 解析用メッシュ作成方法及び装置 | |
| EP1437685A2 (de) | Verfahren zum Segmentieren einer dreidimensionalen Struktur | |
| CA2396419C (en) | System and method for multi-resolution fairing of non-manifold models | |
| DE19817583B4 (de) | Verfahren und System zur Datenverarbeitung für dreidimensionale Objekte | |
| DE102012203122B4 (de) | Verfahren und System zur Ermittlung eines Begrenzungsflächennetzes | |
| DE102012203117B4 (de) | Verfahren und System zur Ermittlung eines Begrenzungsflächennetzes | |
| DE19818991B4 (de) | Verfahren und System zum Auswählen und Anzeigen von in einem Betrachtungsvolumen enthaltenen Objekten | |
| EP0960390B1 (de) | Verfahren und anordnung zur kodierung eines digitalisierten bildes | |
| EP0960388B1 (de) | Verfahren und anordnung zur codierung eines digitalisierten bildes | |
| CA2567436C (en) | System and method for multi-resolution fairing of non-manifold models | |
| DE69233043T2 (de) | Erzeugung von Festkörpermodellen mit dem Spannverfahren unter Anwendung von Würfelteilung |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |