-
TECHNISCHES GEBIET
-
Dieses Patentdokument betrifft allgemein ein Entzerrungsverfahren und insbesondere, aber nicht einschränkend, globale Gittererstellung in Aufschiebungsbereichen durch ein optimiertes Entzerrungsverfahren.
-
HINTERGRUND
-
Geologische Verwerfungen treten auf, wenn ein Bruch stattgefunden hat, an dem die Blöcke der Erdkruste (z. B. Verwerfungsblöcke) auf beiden Seiten sich im Verhältnis zueinander parallel zum Bruch (z. B. der Verwerfungsebene) bewegt haben. Der Definition nach gilt der Verwerfungsblock oberhalb der Verwerfungsebene als der Hangendblock und der Verwerfungsblock unterhalb der Verwerfungsebene als der Liegendblock. Verschiedene Arten von Verwerfungen werden je nach Orientierung der Verwerfungsblöcke klassifiziert. Eine „Abschiebung” etwa tritt auf, wenn ein Hangendblock sich im Verhältnis zum Liegendblock nach unten bewegt und kann auftreten, wenn sich die Kruste ausdehnt. Alternativ tritt eine „Aufschiebung” auf, wenn sich der Hangendblock im Verhältnis zum Liegendblock nach oben bewegt, und tritt auf, wenn die Kruste zusammengedrückt wird. Es kann ein Modell erzeugt werden, das eine Aufschiebung darstellt, doch kann das Modell doppelte Zellkoordinaten entlang einer Aufschiebung aufweisen.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
In beispielhafter und nicht einschränkender Weise werden einige Ausführungsformen in den Figuren der begleitenden Zeichnungen dargestellt; es zeigen:
-
1 eine Kartenansicht einer geografischen Formation gemäß einem Ausführungsbeispiel.
-
2A und 2B beispielhafte geozellulare Gitter gemäß verschiedenen Ausführungsbeispielen.
-
3 ein Blockdiagramm, das eine Entzerrungsanwendung gemäß einem Ausführungsbeispiel darstellt.
-
4 ein Ablaufdiagramm eines Verfahrens zum Entzerren eines Paars Verwerfungsblöcke gemäß einem Ausführungsbeispiel.
-
5 eine Kartenansicht von Verwerfungsblöcken mit Begrenzungen gemäß einem Ausführungsbeispiel.
-
6 ein Diagramm von zwei Verwerfungsblöcken gemäß einem Ausführungsbeispiel.
-
7 eine Veranschaulichung des Ausrichtens zweier Verwerfungsblöcke gemäß einem Ausführungsbeispiel.
-
8 ein Diagramm von zwei Verwerfungsblöcken gemäß einem Ausführungsbeispiel.
-
9 eine Kartenansicht einer geografischen Formation mit mehreren Verwerfungen gemäß einem Ausführungsbeispiel.
-
10 ist ein Diagramm einer Verwerfungstopologie gemäß einem Ausführungsbeispiel.
-
11 ist ein Ablaufdiagramm eines Verfahrens zum Auswählen einer Reihenfolge von Verwerfungsblöcken gemäß einem Ausführungsbeispiel.
-
12 ist ein Blockdiagramm einer Maschine in der Beispielform eines Computersystems, in dem ein Satz Anweisungen ausgeführt werden kann, um die Maschine zu veranlassen, eine oder mehrere der hier erörterten Methodiken auszuführen.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Die folgende ausführliche Beschreibung des vorliegenden Gegenstands bezieht sich auf Gegenstände in den begleitenden Zeichnungen, die veranschaulichend spezifische Aspekte und Ausführungsformen (auch als Beispiele bezeichnet) zeigen, in denen der vorliegende Gegenstand ausgeübt werden kann. Diese Ausführungsformen werden ausführlich genug beschrieben, um es Fachleuten zu ermöglichen, den vorliegenden Gegenstand auszuüben. Die Bezugnahme auf „eine” oder „verschiedene” Ausführungsformen in dieser Offenbarung betrifft nicht unbedingt dieselbe Ausführungsform, und eine derartige Bezugnahme sieht mehr als eine Ausführungsform vor. Die nachfolgende ausführliche Beschreibung ist veranschaulichend und nicht als einschränkend aufzufassen. Der Umfang des vorliegenden Gegenstands ist in den beigefügten Ansprüchen definiert, zusammen mit dem vollen Umfang rechtlich zulässiger Äquivalente für diese Ansprüche.
-
Geologische Verwerfungen treten auf, wenn ein Bruch stattgefunden hat, an der die Blöcke der Erdkruste (z. B. Verwerfungsblöcke) auf beiden Seiten sich im Verhältnis zueinander parallel zum Bruch (z. B. der Verwerfungsebene) bewegt haben. Der Definition nach gilt der Verwerfungsblock oberhalb der Verwerfungsebene als der Hangendblock und der Verwertungsblock unterhalb der Verwerfungsebene als der Liegendblock. Verschiedene Arten von Verwerfungen werden je nach Orientierung der Verwerfungsblöcke klassifiziert. Eine „Abschiebung” etwa tritt auf, wenn ein Hangendblock sich im Verhältnis zum Liegendblock nach unten bewegt und kann auftreten, wenn sich die Kruste ausdehnt. Alternativ tritt eine „Aufschiebung” auf, wenn sich der Hangendblock im Verhältnis zum Liegendblock nach oben bewegt, und tritt auf, wenn die Kruste zusammengedrückt wird.
-
In verschiedenen Beispielen kann ein dreidimensionales (3D) Modell gespeichert werden, das eine geografische Formation darstellt. Beispielsweise kann das Modell eine geografische Formation darstellen, die eine oder mehrere Verwerfungen und Verwerfungsblöcke beinhaltet. Das Modell kann eine Anordnung von Zellen umfassen, die eine Annäherung der geografischen Formation ist. Beispielsweise kann eine Reihe von gestapelten Ebenen in Z(Höhen)-Richtung vorliegen, die jeweils ein Zellengitter in X-Y-Richtung umfassen. Jede Zelle des Gitters kann einen Index von [X, Y, Z] aufweisen. 1 zeigt eine visuelle Darstellung eines gespeicherten 3D-Modells (z. B. leere Bereiche und Verwerfungsblöcke).
-
Zusätzlich zu einer Koordinate kann jede Zelle im Modell geografische Daten aufweisen, die der Zelle zugeordnet sind. Die geografischen Daten können beispielsweise einen Verwerfungsblock im Zusammenhang mit der Zelle und eine Art der Verwerfung (z. B. Aufschiebung, Abschiebung, Querverwerfung usw.) identifizieren. Mit anderen Worten kann durch Abrufen der gespeicherten geografischen Daten für eine Zelle eine Anwendung oder ein Benutzer den Verwerfungsblock identifizieren, zu dem die Zelle gehört, und an welche Art von Verwerfung die Zelle angrenzt. Geografische Daten einiger Zellen können angeben, dass das Gitter an dieser Position leer ist und keinem Verwerfungsblock zugeordnet ist.
-
Die geografischen Daten und Zellen im 3D-Modell können durch verschiedene Datenstrukturen dargestellt werden. Beispielsweise kann eine Datenstruktur mit dreidimensionaler Anordnung verwendet werden, wobei jeder Eintrag in der Anordnung ein Datenobjekt speichert, das eine Zelle darstellt (d. h. ein Eintrag [5,5,5] in der Anordnung kann der Position [5,5,5] im Modell entsprechen). Das Datenobjekt kann verschiedene Datenfelder beinhalten, die die oben erörterten geografischen Daten identifizieren. Wenn also ein Programm darauf zugreifen muss, welchem Verwerfungsblock eine Zelle angehört, kann das Programm auf das Datenobjekt zugreifen, das in der Anordnung gespeichert ist, die die fragliche Zelle darstellt. Ebenso kann eine Durchsuchung der dreidimensionalen Anordnung durchgeführt werden, um alle Zellen abzurufen, die in einem Verwerfungsblock identifiziert wurden, und ihre Positionen bei Bedarf zu aktualisieren. Es können auch andere Datenstrukturen verwendet werden, ohne vom Umfang dieser Offenbarung abzuweichen (z. B. kann jeder Verwerfungsblock sein eignes Datenobjekt aufweisen, das die Begrenzung des Verwerfungsblocks in dem 3D-Modell definiert).
-
Außerdem kann eine Tabelle oder andere Datenstruktur gespeichert werden, die die verschiedenen Verwerfungsblöcke der geografischen Formation identifiziert. Die Verwerfungsblöcke können in alphanumerischer Folge identifiziert werden (z. B. 1, A1, ABC usw.). Der Identifikator kann verwendet werden, wenn eine Zelle einem Verwerfungsblock zugeordnet wird. Beispielsweise können die geografischen Daten, die einem Eintrag im 3D-Modell zugeordnet sind, den Identifikator des Verwerfungsblocks speichern. Die Daten zu den Verwerfungsblöcken können auch Verwerfungen angrenzend an den Verwerfungsblock identifizieren.
-
Ebenso kann eine Tabelle oder andere Datenstruktur gespeichert werden, die die verschiedenen Verwerfungen in der geografischen Formation identifiziert. Die Verwerfungen können durch eine alphanumerische Folge (z. B. 1, A1, ABC usw.) identifiziert werden, die Anzahl von Verwerfungsblöcken angrenzend an die Verwerfung und ihre zugehörigen Identifikatoren identifizieren und die Position der Verwerfung zwischen Zellen der Verwerfungsblöcke identifizieren (z. B. Zellen des 3D-Modells an den Seiten der Verwerfung für jede Z-Ebene).
-
Die oben erörterten Datenstrukturen und Programme, die auf die Strukturen zugreifen, können in einer oder mehreren Programmiersprachen (z. B. Java, C/C++ usw.) implementiert sein und in einer Datenbank oder Datenbanken (z. B. relational, nicht-relational, flache Datei usw.) oder strukturierten Dateien (z. B. XML usw.) gespeichert sein.
-
Das 3D-Modell kann mehr als eine repräsentative Domäne beinhalten. Eine Domäne kann die geometrische Domäne sein, die bei Modellierung eine annähernde visuelle Darstellung des geografischen Bereichs bereitstellt. Eine andere Domäne kann eine Zellindexdomäne sein, in der Veränderungen an den Verwerfungsblöcken durchgeführt werden können. Die Zellindexdomäne kann ein dreidimensionaler Bereich sein, in dem die Verwerfungsblöcke modelliert werden können. Es kann eine Änderung in der Zellindexdomäne, wie an späterer Stelle erörtert werden soll, aber nicht an der geometrischen Domäne vorgenommen werden. Beispielsweise kann sich die Größe der Zellindexdomäne von [10, 10, 5] zu [12, 10, 5] ändern, während die geometrische Domäne unverändert bleibt. In einigen Beispielen bezeichnen die Zellindexdomänendaten die Zelle, die Verwerfung und die Verwerfungsblockdatenstrukturen, die oben erörtert wurden.
-
In verschiedenen Beispielen können nach der Erstellung des 3D-Modells auf Grundlage einer geografischen Formation Zellen in Aufschiebungsbereichen doppelte X-Y-Koordinaten in der Zellindexdomäne aufweisen. In 1 ist eine Kartenansicht 100 eines Satzes geozellulärer Gitter mit einer Aufschiebung, einem Verwerfungsblock 102 und 104 dargestellt. Wie gezeigt, gibt es an dem Punkt, an dem die zwei Verwerfungsblöcke sich treffen, eine Überlagerung zwischen den X-Y-Koordinaten. Entsprechend können in einigen X-Y-Koordinaten doppelte Z-Koordinaten in der Indexdomäne vorliegen, wo sich die zwei Verwerfungsblöcke treffen (z. B. Bereich 106). Dies kann bei Erstellen eines globalen Gitters Probleme bereiten.
-
In verschiedenen Beispielen der hier beschriebenen Techniken wird ein „Entzerrungs”-Ansatz verwendet, um die geografischen Formationen zurück in einen entzerrten Zustand zu bringen. In einigen Beispielen wird der Entzerrungsprozess nur in der Zellindexdomäne und nicht in der geometrischen Domäne durchgeführt. Mit anderen Worten, in einem Beispiel ändert sich die Zellgeometrie nach der Entzerrung nicht, aber die Gitterindizes werden neu angeordnet.
-
In verschiedenen Beispielen sind Verwerfungsblöcke die zur Entzerrung verwendeten Grundeinheiten. Ein Entzerrungsvorgang verwendet ein Paar Verwerfungsblöcke – einen von jeder Seite einer Verwerfung – und „bewegt” sie für eine optimale Ausrichtung der zwei Blöcke, wodurch die senkrechten Verwerfungshöhen minimiert werden. Beispielsweise kann der Ausrichtungsprozess die Indizes der zwei Blöcke in Richtung der Pfeile 108 und 110 bewegen. Als ein Blockindex können die Zellen in dem 3D-Modell betrachtet werden, die einen Verwerfungsblock darstellen. Nach der Ausrichtung können die Zellindizes in jeder beliebigen Dimension monoton ohne Doppelung zunehmen. Mit anderen Worten, die geografischen Daten von Zellen im 3D-Modell können derart aktualisiert werden, dass sie die neuen Positionen der Verwerfungsblöcke reflektieren. Ferner kann, wie oben erörtert, auch die Größe des 3D-Modells erweitert werden.
-
2A und 2B sind beispielhafte geozellulare Gitter (z. B. Zellindizes) gemäß verschiedenen Ausführungsbeispielen. Zellindex 200 aus 2A und Zellindex 210 aus 2B stellen Verwerfungsblöcke 202 und 204 jeweils vor und nach einem Entzerrungsvorgang dar. Die Verwerfungsblöcke wurden zu Zwecken der Veranschaulichung eines Entzerrungsvorgangs vereinfacht, und nur die X- und Z-Achse sind gezeigt. Wie dargestellt, weisen Zellblöcke 206 und 208 vor der Entzerrung überlagernde X-Koordinaten auf, aber nicht nach der Entzerrung. In verschiedenen Beispielen bezeichnet Überlagerung relative Ebenen zwischen Verwerfungsblöcken (z. B. eine Ebene unmittelbar unter einer Zeile). Obwohl also ein Zellblock (z. B. Zellblock 212) im Verwerfungsblock 204 vorliegt, der eine gemeinsame X-Koordinate mit Zellblock 206 teilt, gilt dies in einigen Beispielen nicht als Überlagerung. Außerdem ist zu sehen, dass das Gitter 210 nach der Entzerrung in X-Richtung auf neun Zellen gestreckt wurde, während das Gitter in der Z-Richtung bei drei bleibt. An späterer Stelle folgt eine ausführlichere Beschreibung dazu, wie die Verwerfungsblöcke bewegt werden.
-
In verschiedenen Beispielen werden nach Abschluss der Entzerrung für ein Paar Verwerfungsblöcke die zwei Blöcke zu einem einzelnen Entzerrungsblock. Beispielsweise können die Datenstrukturen, die die Verwerfungsblöcke darstellen, aktualisiert werden, um Einträge für die zwei Verwerfungsblöcke zu entfernen, und es kann ein neuer Eintrag an ihrer Stelle verwendet werden, der den Entzerrungsblock darstellt. Ebenso können geografische Daten im 3D-Modell, die dem kombinierten Verwerfungsblock zugeordnet sind, aktualisiert werden, um einem Identifikator des kombinierten Verwerfungsblock zugeordnet zu werden. In einigen Beispielen sind die internen Daten identisch wie der Inhalt der ursprünglichen Verwerfungsblöcke strukturiert. Anschließend können die Prozesse mehrfach wiederholt werden, um alle Verwertungsblöcke in einem Verwerfungsnetz zu entzerren, bis ein globales Gitter ohne senkrechte Verwerfungshöhen (z. B. ohne Verwerfungen) vorliegt. In verschiedenen Beispielen handhabt der Entzerrungsprozess im Umgang mit komplizierten Verwerfungsnetzen jeweils ein Paar Verwerfungsblöcke auf einmal. Zum Entzerren aller Verwerfungen im Verwerfungsnetz kann ein rekursives Vorgehen verwendet werden.
-
3 ist ein Blockdiagramm 300, das eine Entzerrungsanwendung 302 gemäß einem Ausführungsbeispiel darstellt. Veranschaulicht wird eine Darstellung von verschiedenen Komponenten, die in einer Entzerrungsanwendung 302 enthalten sein können. Beispielsweise kann die Entzerrungsanwendung 302 geometrische Domänendaten 306, Zellindexdomänendaten 308, Entzerrungsmodul 310, Konfliktmodul 312 und Verwerfungsblockauswahlmodul 314 beinhalten. Ebenfalls dargestellt sind eingegebene geografische Formationsdaten 304 und ein ausgegebener entzerrter globaler Gitterindex 316.
-
In verschiedenen Beispielen kann die Entzerrungsanwendung 302 auf einer computerlesbaren Speichervorrichtung gespeichert sein. In einigen Beispielen ist die Speichervorrichtung ein nicht-flüchtiges Medium. Einige oder alle Komponenten der Entzerrungsanwendung 302 können als Anweisungen auf der Speichervorrichtung (z. B. Module 310–314) gespeichert sein. Die Anweisungen können auf wenigstens einer Verarbeitungseinheit eines Rechensystems ausgeführt werden. In einigen Beispielen ist die Ausführung der Anweisungen auf eine Vielzahl von Verarbeitungseinheiten verteilt. Die Verarbeitungseinheiten können Universalverarbeitungseinheiten oder spezialisierte Verarbeitungseinheiten wie etwa grafische Verarbeitungseinheiten sein. Die Verarbeitungseinheiten können in demselben Rechensystem angeordnet oder auf eine Vielzahl von Rechensystemen verteilt sein.
-
In einigen Beispielen kann eine Speichervorrichtung des Rechensystems geometrische Domänendaten 306 und Zellindexdomänendaten 308 speichern. Speicher kann auch auf eine Vielzahl von Speichervorrichtungen verteilt sein. In verschiedenen Beispielen sind geometrische Domänendaten 306 und Zellindexdomänendaten 308 in einer Datenbank (z. B. relational, nicht-relational, flache Datei usw.), Strukturdatei (z. B. XML) oder einem anderen Speicherformat gespeichert. Verschiedene Vorgänge der Entzerrungsanwendung 302 können geometrische Domänendaten 306 und Zellindexdomänendaten 308 auf der Speichervorrichtung verändern.
-
4 stellt ein Ablaufdiagramm 400 eines Verfahrens zum Entzerren eines Paars Verwerfungsblöcke gemäß einem Ausführungsbeispiel dar. Das Verfahren wird in Bezug auf eine einzelne Verwerfung beschrieben, doch wie an späterer Stelle erörtert, kann das Verfahren mehrfach für ein Netz aus Verwerfungen verwendet werden.
-
In einigen Beispielen liegt für jede Gitter-k-Ebene (z. B. horizontale Ebene in Z-Richtung) eine Blockbegrenzung von jeder Seite der Verwerfung (402) vor, um eine Verwerfungsbegrenzung zu bestimmen. In einigen Beispielen kann eine Verwerfungsbegrenzung für jede z-Schicht eines Verwerfungsblocks ein Weg durch Zellen des 3D-Modells sein, die der Verwerfung am nächsten sind. Beispielsweise kann die Verwerfungsbegrenzung 506 eine Zeile von Zellen des Verwerfungsblocks 502 beinhalten, die an Verwerfung 510 angrenzen. Ebenso kann die Verwerfungsbegrenzung 508 eine Linie von Zellen des Verwerfungsblocks 504 beinhalten, die an die andere Seite der Verwerfung angrenzen. In einigen Beispielen können die Linien der höchsten Zelle (z. B. mit dem höchsten Z-Wert) einer folgen, die an eine Verwerfung angrenzt. In verschiedenen Beispielen kann eine Datenstruktur, die die Verwerfungsbegrenzung darstellt, eine Reihe von [X, Y, Z]-Koordinaten beinhalten, die der Verwerfungsbegrenzung folgen.
-
In einigen Beispielen stellt das Paar Blockbegrenzungen (z. B. Verwerfungsbegrenzungen 506 und 508) für die k-Ebenen scheibe den Teil eines Verwerfungspolygon an der Scheibe dar. Als Verwerfungspolygon kann die Region zwischen zwei Verwerfungsblöcken gelten, die die Verwerfung zwischen zwei Verwerfungsblöcken über der obersten Schicht von einem der Verwerfungsblöcke umreißen.
-
In verschiedenen Beispielen wird für jede Verwerfungsbegrenzung der Schwerpunkt ermittelt (404). Beispielsweise zeigt 6 eine Draufsicht 600 von Verwerfungsblöcken 602 und 604 mit jeweiligen Verwerfungsbegrenzungen 606 und 608. Wie dargestellt, ist die Mitte der Begrenzung 606 als „Mitte-A” gekennzeichnet, und die Mitte der Begrenzung 608 als „Mitte-B”. Der Schwerpunkt kann mithilfe verschiedener bekannter Techniken ermittelt werden, ohne vom Umfang dieser Offenbarung abzuweichen.
-
In verschiedenen Beispielen wird eine rechteckige Region (z. B. Begrenzungskasten) an jede Begrenzung angepasst: (u-A, v-A)-Region und (u-B, v-B)-Region (406). Sodann kann eine Basisverschiebung durchgeführt werden, wobei Region A zu Region B bewegt wird, derart, dass sich Mitte-A und Mitte-B überlagern (408). In verschiedenen Beispielen bedeutet „Bewegen” das Aktualisieren der Zellen einer Vielzahl von Zellen in einem Verwerfungsblock. Wenn beispielsweise eine Zelle eines Verwerfungsblocks einen Index von [5, 6, 10] hatte, kann eine Bewegung bedeuten, dass der Index der Zelle nun [6, 7, 10] ist. Alle Zellen im Verwerfungsblock können sich relativ zu einer Bewegung einer einzelnen Zelle bewegen (wenn z. B. eine Zelle eines Verwerfungsblocks um eine Koordinate nach links bewegt wird, werden alle Zellen um eine Koordinate nach links bewegt).
-
In verschiedenen Beispielen werden die zwei Regionen nach der Basisverschiebung fein abgestimmt, um eine optimierte Position/Ausrichtung ermitteln. Die Ausrichtung kann alle Scheiben des Verwerfungsblocks zusammen bewegen. Beispielsweise kann Region-B spiralförmig aus der überlagerten Mitte der Begrenzung bewegt werden, um die Ausrichtung durchzuführen (410). In einigen Beispielen gewährleistet das spiralförmige Bewegen, dass, wenn übereinstimmende Faktoren von zwei Positionen gleich sind, derjenige mit der kleineren Verschiebung als abschließende Ausrichtung verwendet wird.
-
7 stellt ein Beispiel einer spiralförmigen Ausrichtung 700 dar. Die Bewegungsmenge in jeder Richtung der Spirale kann gemäß einer Benutzerpräferenz eingestellt werden (z. B. eine Zelle). Wie in 7 zu sehen, kann die Bewegung in einer Richtung senkrecht zu „u-B” beginnen und sich in Wendungen um 90 Grad in einer sich erweiternden Spirale fortsetzen. In verschiedenen Beispielen können andere Bewegungsmuster (z. B. eine gekrümmte Spirale benutzt werden, um die zwei Regionen auszurichten.
-
Um zu bestimmen, wann die Ausrichtung anhalten soll, kann eine Benutzerpräferenz für die Konfliktstufe (weiter unten ausführlicher beschrieben) eingestellt werden, die zwischen zwei Verwerfungsblöcken zugelassen wird. Die Entzerrungsanwendung 302 kann die Benutzerpräferenz abrufen und bestimmen, ob die Präferenz „kein Konflikt” eingestellt wurde (412). Wenn die Präferenz eingestellt wurde, kann eine Prüfung erfolgen, um zu bestimmen, ob der Konflikt der zwei Verwerfungsblöcke „0” ist (416). Wenn der Konflikt „0” ist, kann die Entzerrungsanwendung 302 die zwei Verwerfungsblöcke zu einem Entzerrungsblock (418) verschmelzen. Das Verschmelzen kann das Aktualisieren von Verwerfungsblockidentifikationsdaten von Zellen in den zwei Verwerfungsblöcken beinhalten, derart, dass sie gleich sind. Wenn der Konflikt nicht „0” ist, kann der Ablauf wieder zu Vorgang 410 zurückkehren, um mit der spiralförmigen Bewegung des Verwerfungsblocks fortzufahren, bis ein Konfliktwert von „0” erreicht wird.
-
In wenn die Präferenz „kein Konflikt” nicht eingestellt wurde, kann in verschiedenen Beispielen die Position, an der der Konflikt minimal ist, ermittelt werden (414), bevor die Verwerfungsblöcke verschmolzen werden. Eine Präferenz kann auch hinsichtlich der maximalen Strecke eingestellt werden, über die eine Region bewegt werden darf (z. B. spiralförmig bewegt), und in der ein minimaler Konflikt zu ermitteln ist. In einigen Beispielen kann ein Benutzer eine Präferenz als die maximal zulässige Konfliktstufe einstellen. Auf diese Weise kann ein iterativer Prozess verwendet werden, um zahlreiche Positionen der zwei Verwerfungsblöcke zu testen, bis eine Haltebedingung erreicht wird (z. B. kein Konflikt oder minimaler Konflikt). In verschiedenen Beispielen muss ein Verwerfungsblock möglicherweise über die derzeitigen Abmessungen des globalen Gitters hinaus bewegt werden, um die Benutzerpräferenz hinsichtlich der Konfliktfaktoren zu erfüllen. In diesen Fällen kann die Zellindexdomäne des globalen Gitters in der X-Y-Richtung erweitert werden, um eine solche Bewegung zu ermöglichen.
-
8 stellt eine beispielhafte Draufsicht 800 von zwei Verwerfungsblöcken 802, 804 dar, die in drei Unterbereiche unterteilt wurden: (1) massive Bereiche 804, 806; (2) Schwammbereiche 808, 810; und leere Bereiche. Um einen Konfliktwert zu bestimmen, kann jeder Verwerfungsblock zunächst in diese Unterbereiche unterteilt werden. Der Schwammbereich kann beispielsweise um die Begrenzung jedes Verwerfungsblocks herum definiert werden. Der Schwammbereich kann einen (z. B. mittels Benutzerpräferenz) definierten Abstand von der Außenseite der Begrenzung eines Verwerfungsblocks aufweisen. Der massive Bereich kann der Bereich innerhalb der Begrenzung sein, und der leere Bereich kann alles Übrige sein. Wenn Region-B bei der Optimierungsausrichtung verschoben wird, können sich beliebige der 3 Unterbereiche von jeder Seite überlagern. Dann kann ein Konfliktfaktor auf Grundlage dessen berechnet werden, welche Bereiche die einzelnen Bereiche überlagern.
-
In verschiedenen Beispielen kann der Konfliktbereich für jedes Pixel (z. B. Zelle) gemäß dem folgenden Pseudocode bestimmt werden:
-
In verschiedenen Beispielen können solid_factor (Massivfaktor) und sponge_factor (Schwammfaktor) vordefinierte Werte gemäß einer Benutzerpräferenz aufweisen. In einigen Beispielen ist solid_factor 10,0 und sponge_factor ist 1,0.
-
Wenn in verschiedenen Beispielen ein Konfliktfaktor mithilfe des vorstehenden Pseudocodes und einem Massivfaktorwerten von 10,0 und Schwammfaktor von 1.0 berechnet wird, erscheinen die folgenden Charakteristiken, wenn zwei Pixel auf Konflikt überprüft werden: (1) wenn beide massiv sind, liegt ein großer Konfliktfaktor vor; (2) wenn beide Schwamm sind, liegt ein gewisser Konfliktfaktor vor, ist jedoch weniger groß; (3) wenn eines (auf einer der Seiten) massiv und das andere Schwamm oder leer ist, wird dem Konfliktfaktor kein Wert hinzuaddiert; und (4) wenn beide leer sind, wird dem Konfliktfaktor kein Wert hinzuaddiert. Es können verschiedene andere Faktorwerte verwendet werden, um unterschiedliche Ziele zu erreichen.
-
In einigen Beispielen bedeutet die erste Charakteristik oben „voneinander fort drückend” mit einer größeren Kraft, wenn massive Teile von Seiten einander überlagern. Die Charakteristik bedeutet „beide Seiten näher zueinander ziehend” mit einiger Kraft – weniger groß – wenn massive Teile von beiden Seiten zu weit voneinander entfernt sind.
-
Außerdem ist zu erkennen, dass der Algorithmus versucht, nach Möglichkeit die dritte Charakteristik eintreten zu lassen (d. h. eine Seite ist Schwamm und eine Seite ist massiv). In einigen Beispielen, in denen angenommen wird, dass die Begrenzungen von beiden Seiten Hundezähnen gleichen, versucht das maximale Auftreten des dritten Kriteriums, beide Seiten gut aneinander auszurichten, mit keiner oder einer kleinen Überlagerung massiver Teile und einem minimalen Spalt dazwischen. Dies kann durch Auswählen des oben definierten minimalen Konfliktfaktors erreicht werden.
-
In einigen Beispielen gilt die vorstehende Konfliktdefinition für ein Pixel. Der Verarbeitungsalgorithmus kann die Summierung der Konfliktfaktoren für alle Pixel in einer Gitter-k-Ebene und dann erneut für alle Gitter k-Ebenen summiert verwenden, indem die Position der Verwerfungsblöcke ausgewählt wird (z. B. mithilfe der oben erörterten Ausrichtung), wenn ein minimaler summierter Konfliktfaktor vorliegt. Wie zuvor erörtert, kann ein Benutzer eine Konfliktstufenpräferenz von „keinerlei Konflikt” oder „minimalen Konflikt zulassen” einstellen. Bei der Auswahl von „keinerlei Konflikt” kann der Algorithmus eine Position ausschließen, wenn ein einzelnes Pixel das erste Kriterium erfüllt, oder er macht solid_factor unendlich groß.
-
In verschiedenen Beispielen wird der Entzerrungsprozess an zwei Verwerfungsblöcken auf einmal verwendet. Wenn mehr als eine Verwerfung in der Zellindexdomäne existiert, kann ein Algorithmus verwendet werden, um eine Reihenfolge von zu entzerrenden Verwerfungsblöcke zu berechnen. 1 stellt ein einfaches Beispiel mehrerer Verwerfungen dar; wenn nur zwei Verwerfungen auftreten. In der Kartenansicht 100 unterteilt die primäre Verwerfung den Verwerfungsblock 112 in den Hintergrund und die Blöcke 102/104 in den Vordergrund. Die sekundäre Verwerfung teil den vorderen Teil in Verwerfungsblöcke 102/104. Wird der Entzerrungsprozess angewandt, wird zunächst die sekundäre Verwerfung entzerrt, ein logisches Verschmelzen der Verwerfungsblöcke 102/104, womit der Entzerrungsprozess erneut mit Verwerfungsblock 112 angewandt wird. Schließlich wird ein einzelnes globales Gitter ohne Entzerrungsblöcke erzeugt. In verschiedenen Beispielen werden zunächst verzahnte Verwerfungsblöcke in einem komplexen Verwerfungsnetz entzahnt, und es wird eine Prüfung durchgeführt, um sicherzustellen, dass eine Lösung existiert, indem jederzeit ein geeignetes Paar Verwerfungsblöcke ermittelt wird.
-
Reale Verwerfungsnetze sind jedoch im Allgemeinen komplizierter als in 1. Beispielsweise zeigt 9 eine Kartenansicht eines Verwerfungsnetzes 900 und 10 zeigt eine entsprechende Topologie 1000. Wie dargestellt, unter Bezugnahme auf 10, sind Verwerfung 1002 und 1004 ein Paar Querverwerfungen, denen Verwerfungsblöcke 1006–1012 zugeordnet sind. Der entsprechende Kreuzungspunkt in 9 ist hervorgehoben als Region 902.
-
In verschiedenen Beispielen ist 11 ein Ablaufdiagramm eines Algorithmus, der verwendet werden kann, um Entzerrung in einem Verwerfungsnetz durchzuführen. Der Algorithmus kann verwendet werden, um zu bestimmen, welche Verwerfungsblöcke in einem komplexen Verwerfungsnetz als nächstes zum Entzerren ausgewählt werden sollten. Zuerst kann eine Verwerfungsbankdatenstruktur für jede Verwerfung in einem Verwerfungsnetz erzeugt werden. Für jede Verwerfungsbank werden Verwerfungsblöcke auf beiden Seiten angrenzend an die Verwerfung zu der Verwerfungsbankdatenstruktur hinzugefügt (1102). Die Verwerfungsbank kann eine gespeicherte Datenstruktur sein, etwa eine Anordnung, in der jeder Eintrag ein Verwerfungsblock ist. Jeder Verwerfungsblock in der Verwerfungsbank kann auch gespeicherte Daten aufweisen, wie etwa die Art von Verwerfung für jede Seite des Verwerfungsblocks und welche Verwerfungsblöcke an die Verwerfung angrenzen. Die Verwerfungsbanken und Verwerfungsblöcke können eine Identifikation aufweisen, die in der Datenstruktur gespeichert ist (z. B. weist Verwerfungsbank 1 Verwerfungsblöcke A, B, und C auf). Die Verwerfungsbank kann auch Daten aufweisen, die die Anzahl von Verwerfungsblöcken in der Verwerfungsbank angeben.
-
Nach dem Erstellen der Verwerfungsbanken und während nach wie vor wenigstens eine Verwerfungsbank existiert (1104), werden die Verwerfungsbanken geprüft, um festzustellen, ob eine Verwerfungsbank mit nur zwei Verwerfungsblöcken vorliegt (1108). Wenn ja, wird das Paar Verwerfungsblöcke aus der Verwerfungsbank genommen, und die Verwerfungsbank wird entfernt (1110). Dann fährt der Ablauf mit Vorgang 1118 fort, wobei die zwei Verwerfungsbanken entzerrt werden.
-
In einigen Beispielen, wenn keine Verwerfungsbank mit nur zwei Verwerfungsblöcken vorliegt, wird eine durchgeführt, um zu bestimmen, ob eine Verwerfungsbank mit einer Querverwerfung vorliegt (1112). Die Verwerfungsbanken können beispielsweise iteriert werden, um zu bestimmen, welche Arten von Verwerfungen noch in den Verwerfungsblöcken vorhanden sind, die in der Verwerfungsbank übrig sind. Wenn eine Querverwerfung gefunden wird, wird ein Paar Verwerfungsblöcke der Querverwerfung aus der Verwerfungsbank entnommen, und die Verwerfungsbank wird beibehalten (1114). Dann fährt der Ablauf mit Vorgang 1118 fort, wobei die zwei gewählten Verwerfungsbanken entzerrt werden.
-
Wenn in einem Beispiel keine Verwerfungsbank mit nur zwei Verwerfungsblöcken oder Verwerfungsbank mit einer Querverwerfung vorliegt, kann ein Paar aufeinanderfolgender Blöcke von einer Seite einer Verwerfungsbank gewählt werden (1116). Beispielsweise Blöcke B und C oder Verwerfungsbank 2, wie in einer Datenstruktur gespeichert. In verschiedenen Beispielen wird das Paar Verwerfungsblöcke, das durch die Vorgänge 1108, 1112, oder 1116 gewählt wurde, mithilfe des hier beschriebenen Prozesses entzerrt (1118), um Block-AB zu erzeugen.
-
In verschiedenen Beispielen werden die übrigen Verwerfungsbanken iteriert und aktualisiert, derart, dass, wenn kein Block-AB vorliegt, jeder Block-A durch Block AB ersetzt wird, und wenn kein Block-AB vorhanden ist, jeder Block-B durch Block-AB ersetzt wird (1120). Mit anderen Worten werden Blöcke A und B verschmolzen, derart, dass sie ein einzelner logischer Block sind, auch wenn ihre zugrunde liegende Geometrie sich in der geometrischen Domäne nicht geändert hat. Der Ablauf kehrt dann zu Vorgang 1104 zurück, um zu bestimmen, ob Verwerfungsbanken übrig sind. In einigen Beispielen, wenn der Algorithmus 1100 auf das Verwerfungsnetz aus 10 angewandt wird, lautet die Entzerrungsreihenfolge in Bezug auf Verwerfungsnummern 1014, 1016, 1002, 1004, 1018, 1020 und 1022.
-
In verschiedenen Beispielen können hier beschriebene Prozesse durch Komponenten ausgeführt werden, die in 3 dargestellt sind. Beispielsweise kann ein computerimplementierter Prozess mit dem Empfangen von geografischen Formationsdaten 304 mit den Verwerfungen, der Art von Verwerfungen, Verwerfungsblöcken, die an die Verwerfungen angrenzen, und dem Speichern der Daten auf einer Speichervorrichtung den zwei Domänen: (1) geometrische Domänendaten; und (2) Zellindexdomänendaten beginnen. Dann kann das Verwerfungsblockauswahlmodule die Zellindexdomänendaten aus der Speichervorrichtung abrufen und eine Reihenfolge zu entzerrender Verwerfungsblöcke erzeugen, wie oben erörtert.
-
In verschiedenen Beispielen kann das Entzerrungsmodul dann den Entzerrungsprozess an zwei der Verwerfungsblöcke beginnen. Dies kann die Basisverschiebung beinhalten, wobei der Schwerpunkt einer Verwerfungsbegrenzung von einem der zwei Blöcke an dem Schwerpunkt einer Verwerfungsbegrenzung des anderen Verwerfungsblocks der zwei Verwerfungsblöcke ausgerichtet wird. Die Basisverschiebung kann das Aktualisieren der Zellindexdomäne an der Speichervorrichtung für jede Zelle in dem verschobenen Verwerfungsblock mit einer neuen Position beinhalten. In verschiedenen Beispielen kann die Basisverschiebung das Erweitern der Größe der globalen Zellindexdomäne beinhalten.
-
In verschiedenen Beispielen kann das Konfliktmodul eine Feinabstimmungsausrichtung der Blöcke gemäß einer Konfliktstufenpräferenz durchführen. Beispielsweise kann einer der Verwerfungsblöcke in definierten Schritten um den Schwerpunkt einer Verwerfungsbegrenzung bewegt werden. Die definierten Schritte können ein Muster wie etwa eine Spirale sein. In einigen Beispielen findet die Ausrichtung in der X- und Y-Richtung statt, während Z unverändert bleibt. Nach jeder Ausrichtung kann das Konfliktmodul eine Konfliktstufe zwischen den zwei Verwerfungsblöcken berechnen, und wenn die Konfliktstufenpräferenz erfüllt ist (z. B. null ist, wenn die Konfliktstufe „kein Konflikt” lautet), endet die Ausrichtung. In einigen Beispielen dauert die Ausrichtung für eine vorgegebene Menge von Bewegungen oder eine vorgegebene Strecke an, und es wird die Position für die zwei Verwerfungsblöcke gewählt, die den geringsten Konflikt ergibt.
-
In verschiedenen Beispielen werden die zwei Verwerfungsblöcke nach Abschluss der Ausrichtung zu einem einzelnen Block verschmolzen. Dies kann das Aktualisieren der relevanten Verwerfungsbank und Daten in der Zellindexdomäne beinhalten. Nach der Entzerrung der einzelnen Paare von Verwerfungsblöcken in der vom Verwerfungsblockauswahlmodul bestimmten Reihenfolge kann ein einzelner entzerrter globaler Gitterindex erzeugt werden.
-
In verschiedenen Beispielen wurde zwar das Entzerrungsverfahren als ein Weg zum Lösen des Indexdoppelungsproblem aufgrund von Aufschiebung beschrieben, doch liegt ein Vorteil dieses Entzerrungsverfahren darin, dass es sowohl Auf- als auch Abschiebungen, selbst vertikale Verwerfungen, in gleicher Weise behandelt, indem es die Ausrichtung der Blockindizes optimiert. In einigen Beispielen bewirken Verwerfungsblöcke, die durch Abschiebung entstehen, keine Indexüberlagerung. Da die meisten Algorithmen keine spezielle Ausrichtung durchführen, können beim Erstellen des globalen Gitters unerwünschte „leere” Zellen in der Nähe beider Seiten von Abschiebungen entstehen. Die Anwendung des beschriebenen Verfahrens kann Verwerfungsblöcke an Abschiebungen enger zusammen drücken, weshalb keine oder nur minimale „leere” Zellen dazwischen liegen und sie gut ausgerichtet sind; Verwerfungsblöcke an Aufschiebungen auseinander ziehen, weshalb keine oder nur minimale Doppelung von Zelleindizes dazwischen vorliegt und sie gut ausgerichtet sind; und Verwerfungsblöcke an vertikalen Verwerfungen auf Grundlage von Begrenzungsgeometrie besser ausrichten.
-
Bestimmte Ausführungsformen werden hier als Logik oder eine Anzahl von Komponenten, Modulen oder Mechanismen beinhaltend beschrieben. Module können entweder Softwaremodule (z. B. Code, der (1) auf einem nicht-flüchtigen maschinenlesbaren Medium oder (2) in einem Übertragungssignal verkörpert ist) oder hardwareimplementierte Module bilden. Ein hardwareimplementiertes Modul ist eine greifbare Einheit, die bestimmte Vorgänge ausführen kann und in einer bestimmten Weise konfiguriert oder angeordnet sein kann. In Ausführungsbeispielen können ein oder mehrere Computersysteme (z. B. ein unabhängiges, Client- oder Server-Computersystem) oder eine oder mehrere Verarbeitungseinheiten durch Software (z. B. eine Anwendung oder einen Teil einer Anwendung) als ein hardwareimplementiertes Modul konfiguriert sein, das betriebsfähig ist, um bestimmte Vorgänge auszuführen, wie sie hier beschrieben sind.
-
In verschiedenen Ausführungsformen kann ein hardwareimplementiertes Modul mechanisch oder elektronisch implementiert sein. Beispielsweise kann ein hardwareimplementiertes Modul dedizierte Schaltungen oder Logik umfassen, die dauerhaft konfiguriert sind bzw. ist (z. B. als eine spezielle Verarbeitungseinheit wie etwa ein feldprogrammierbares Gate-Array (FPGA) oder eine anwendungsspezifische integrierte Schaltung (ASIC)), um bestimmte Vorgänge auszuführen. Ein hardwareimplementiertes Modul kann auch programmierbare Logik oder Schaltungen umfassen (z. B. wie in einer Universalverarbeitungseinheit oder anderen programmierbaren Verarbeitungseinheit eingeschlossen), die von Software vorübergehend konfiguriert wird bzw. werden, um bestimmte Vorgänge auszuführen. Es versteht sich, dass die Entscheidung, ein hardwareimplementiertes Modul mechanisch, in dedizierten und dauerhaft konfigurierten Schaltungen oder in vorübergehend konfigurierten Schaltungen (z. B. konfiguriert durch Software) zu implementieren, abhängig von Kosten- und Zeitfragen bestimmt werden kann.
-
12 ist ein Blockdiagramm einer Maschine in der Beispielform eines Computersystems 1200, in dem Anweisungen ausgeführt werden können, um die Maschine zu veranlassen, eine oder mehrere der hier erörterten Methodiken auszuführen. In alternativen Ausführungsformen arbeitet die Maschine eine unabhängige Vorrichtung sein oder mit anderen Maschinen verbunden (z. B. vernetzt) sein. In einer vernetzten Einrichtung kann die Maschine in der Kapazität einer Server- oder einer Client-Maschine in einer Server-Client-Netzumgebung oder als eine Peer-Maschine in einer Peer-to-Peer-(oder verteilten)Netzumgebung arbeiten. Die Maschine kann ein Personalcomputer (PC), ein Tablet-PC, eine Settopbox (STB), ein persönlicher digitaler Assistent (PDA), ein zellulares Telefon, eine Webanwendung, ein Netzrouter, Switch oder eine Brücke oder eine beliebige Maschine sein, die fähig ist, Anweisungen (sequenziell oder anderweitig) auszuführen, die Aktionen festlegen, die von der Maschine zu ergreifen sind. Ferner ist zwar nur eine einzelne Maschine dargestellt, doch ist der Begriff „Maschine” derart zu verstehen, dass er eine beliebige Zusammenstellung von Maschinen beinhaltet, die einzeln oder gemeinsam einen Satz (oder mehrere Sätze) von Anweisungen ausführen, um beliebige eine oder mehrere der hier erörterten Methodiken auszuführen.
-
Das Beispielcomputersystem 1200 beinhaltet eine Verarbeitungseinheit 1202 (z. B. eine Zentralverarbeitungseinheit (CPU), eine Grafikverarbeitungseinheit (GPU) oder beide), einen Hauptspeicher 1204 und einen statischen Speicher 1206, die miteinander über einen Bus 1208 kommunizieren. Das Computersystem 1200 kann ferner eine Videoanzeigeeinheit 1210 (z. B. eine Flüssigkristallanzeige (LCD) oder eine Kathodenstrahlröhre (CRT)) beinhalten. Das Computersystem 1200 beinhaltet auch eine alphanumerische Eingabevorrichtung 1212 (z. B. eine Tastatur), eine Benutzerschnittstellen(UI)-Navigationsvorrichtung 1214 (z. B. eine Maus), ein Laufwerk 1216, eine Signalerzeugungsvorrichtung 1218 (z. B. einen Lautsprecher) und eine Netzschnittstellenvorrichtung 1220.
-
Das Laufwerk 1216 beinhaltet ein maschinenlesbares Medium 1222 auf dem ein oder mehrere Sätze von Anweisungen und Datenstrukturen (z. B. Software) 1224 gespeichert sind, die eine oder mehrere der hier beschriebenen Methodiken oder Funktionen verkörpern oder davon verwendet werden. Die Anweisungen 1224 können während ihrer Ausführung durch das Computersystem 1200 auch vollständig oder wenigstens teilweise in dem Hauptspeicher 1204 und/oder in der Verarbeitungseinheit 1202 angesiedelt sein, wobei der Hauptspeicher 1204 und die Verarbeitungseinheit 1202 ebenfalls maschinenlesbare Medien bilden.
-
Obwohl das maschinenlesbare Medium 1222 in einem Ausführungsbeispiel als ein einzelnes Medium gezeigt ist, kann der Begriff „maschinenlesbares Medium” ein einzelnes Medium oder mehrere Medien (z. B. eine zentralisierte oder verteilte Datenbank und/oder zugehörige Zwischenspeicher und Server) beinhalten, die eine oder mehrere Anweisungen oder Datenstrukturen speichern. Der Begriff „maschinenlesbares Medium” ist auch derart zu verstehen, dass er ein beliebiges greifbares Medium beinhaltet, das Anweisungen zur Ausführung durch die Maschine, die die Maschine veranlassen, eine oder mehrere der Methodiken der vorliegenden Erfindung auszuführen, speichern, codieren oder tragen kann, oder Datenstrukturen speichern, codieren oder tragen kann, die von diesen Anweisungen verwendet werden oder diesen zugeordnet sind. Der Begriff „maschinenlesbares Medium” ist somit derart zu verstehen, dass er, ohne darauf beschränkt zu sein, Festkörperspeicher und optische und magnetische Medien beinhaltet. Zu spezifischen Beispielen maschinenlesbarer Medien gehören nicht-flüchtiger Speicher, beispielsweise Halbleiterspeichervorrichtungen, z. B. löschbarer programmierbarer Lesespeicher (Erasable Programmable Read-Only Memory, EPROM), elektrisch löschbarer programmierbarer Lesespeicher (Electrically Erasable Programmable Read-Only Memory, EEPROM) und Flash-Speichervorrichtungen; Magnetplatten wie interne Festplatten und auswechselbare Platten; magnetooptische Disks; und CD-ROM- und DVD-ROM-Disks.
-
Die Anweisungen 1224 können ferner mithilfe eines Übertragungsmediums über ein Kommunikationsnetz 1226 übertragen oder empfangen werden. Die Anweisungen 1224 können mithilfe der Netzschnittstellenvorrichtung 1220 und einem beliebigen einer Anzahl bekannter Transferprotokolle (z. B. HTTP) übertragen werden. Zu Beispielen von Kommunikationsnetzen gehören ein lokales Netz („LAN”), ein Weitverkehrsnetz („WAN”), das Internet, Mobiltelefonnetze, analoge Telefonnetze (POTS) und drahtlose Datennetze (z. B. WiFi- und WiMax-Netze). Der Begriff „Übertragungsmedium” ist derart zu verstehen, dass er ein beliebiges nicht greifbares Medium beinhaltet, das Anweisungen zur Ausführung durch die Maschine speichern, codieren oder tragen kann, und beinhaltet digitale oder analoge Kommunikationssignale oder andere nicht greifbare Medien, um die Kommunikation dieser Software zu ermöglichen.
-
Obwohl eine Ausführungsform unter Bezugnahme auf bestimmte Ausführungsbeispiele beschrieben wurde, liegt es auf der Hand, dass verschiedene Modifikationen und Änderungen an diesen Ausführungsformen vorgenommen werden können, ohne vom umfassenderen Geist und Umfang der Erfindung abzuweichen. Die Beschreibung und die Zeichnungen sind daher veranschaulichend und nicht einschränkend zu verstehen. Die begleitenden Zeichnungen, die einen Teil des vorliegenden Dokuments bilden, zeigen veranschaulichend, aber nicht einschränkend, spezifische Ausführungsformen, in denen der Gegenstand ausgeübt werden kann. Die dargestellten Ausführungsformen werden ausführlich genug beschrieben, um es Fachleuten zu ermöglichen, die hier offenbarten Lehren auszuüben. Andere Ausführungsformen können benutzt und davon abgeleitet werden, so dass strukturelle und logische Ersetzungen und Änderungen vorgenommen werden können, ohne vom Umfang dieser Offenbarung abzuweichen. Die ausführliche Beschreibung ist daher nicht als einschränkend zu verstehen, und der Umfang verschiedener Ausführungsformen wird nur durch die beigefügten Ansprüche zusammen mit allen Äquivalenten definiert, die diesen Ansprüchen zustehen.
-
Diese Ausführungsformen des Erfindungsgegenstands können hier der Einfachheit halber einzeln und/oder gemeinsam durch den Begriff „Erfindung” bezeichnet werden, ohne dass der Umfang dieser Anmeldung auf eine einzelne Erfindung oder ein erfinderisches Konzept beschränkt werden soll, falls mehr als eine(s) offenbart wird. Obwohl hier also bestimmte spezifische Ausführungsformen dargestellt und beschrieben wurden, versteht es sich, dass etwaige Anordnungen, die zum Erreichen des gleichen Zwecks ausgelegt sind, an die Stelle der spezifischen dargestellten Ausführungsformen treten können. Diese Offenbarung soll alle etwaigen Anpassungen oder Abwandlungen verschiedener Ausführungsformen abdecken. Kombinationen der vorstehenden Ausführungsformen und anderer Ausführungsformen, die hier nicht ausdrücklich beschrieben werden, werden nach der Lektüre der vorstehenden Beschreibung für Fachleute auf der Hand liegen.