DE112013007399T5 - Globale Gittererstellung in Aufschiebungsbereichen durch ein optimiertes Entzerrungsverfahren - Google Patents

Globale Gittererstellung in Aufschiebungsbereichen durch ein optimiertes Entzerrungsverfahren Download PDF

Info

Publication number
DE112013007399T5
DE112013007399T5 DE112013007399.4T DE112013007399T DE112013007399T5 DE 112013007399 T5 DE112013007399 T5 DE 112013007399T5 DE 112013007399 T DE112013007399 T DE 112013007399T DE 112013007399 T5 DE112013007399 T5 DE 112013007399T5
Authority
DE
Germany
Prior art keywords
fault
block
blocks
discard
data structure
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.)
Withdrawn
Application number
DE112013007399.4T
Other languages
English (en)
Inventor
Zitao Xu
Genbao Shi
Jeffrey Marc Yarus
Chikang David Chien
Richard L. Chambers
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Landmark Graphics Corp
Original Assignee
Landmark Graphics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Landmark Graphics Corp filed Critical Landmark Graphics Corp
Publication of DE112013007399T5 publication Critical patent/DE112013007399T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01VGEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
    • G01V20/00Geomodelling in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Geophysics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

Ein Verfahren zum Erzeugen eines globalen Gitters kann Folgendes beinhalten: Speichern von wenigstens einer Datenstruktur, die eine Vielzahl von Verwerfungsblöcken darstellt, die einer oder mehreren Verwerfungen in einer geografischen Formation zugeordnet sind; Auswählen von zwei Verwerfungsblöcken, die einer Verwerfung der einen oder mehreren Verwerfungen zugeordnet sind; Ändern der Position von einem ersten der zwei Verwerfungsblöcke in der wenigstens einen Datenstruktur, was eine Verschiebung des ersten Verwerfungsblocks zu dem anderen Verwerfungsblock der zwei Verwerfungsblöcke darstellt, um den Schwerpunkt einer Verwerfungsbegrenzung des ersten Verwerfungsblocks an dem Schwerpunkt einer Verwerfungsbegrenzung des anderen Verwerfungsblocks anzuordnen; Ausrichten des ersten Verwerfungsblocks an dem anderen Verwerfungsblock gemäß einer zugelassenen Konfliktstufe zwischen Verwerfungsblöcken; und Aktualisieren der wenigstens einen Datenstruktur zum Angeben eines Verschmelzens der zwei ausgewählten Verwerfungsblöcke.

Description

  • 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 310314) 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:
    Figure DE112013007399T5_0002
  • 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 10061012 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.

Claims (20)

  1. Verfahren, umfassend: Speichern von wenigstens einer Datenstruktur, die eine Vielzahl von Verwerfungsblöcken darstellt, die einer oder mehrere Verwerfungen in einer geografischen Formation zugeordnet sind, auf einer Speichervorrichtung; Auswählen von zwei Verwerfungsblöcke der Vielzahl von Verwerfungsblöcke, die einer Verwerfung der einen oder mehreren Verwerfungen zugeordnet sind; Ändern der Position von einem ersten der zwei Verwerfungsblöcke in der wenigstens einen Datenstruktur mithilfe von wenigstens einer Verarbeitungseinheit, was eine Verschiebung des ersten Verwerfungsblocks zu dem anderen Verwerfungsblock der zwei Verwerfungsblöcke darstellt, um den Schwerpunkt einer Verwerfungsbegrenzung des ersten Verwerfungsblocks an dem Schwerpunkt einer Verwerfungsbegrenzung des anderen Verwerfungsblocks anzuordnen; nach dem Durchführen der Verschiebung Ausrichten des ersten Verwerfungsblocks an dem anderen Verwerfungsblock gemäß einer zugelassenen Konfliktstufe zwischen Verwerfungsblöcken; und Aktualisieren der wenigstens einen Datenstruktur, um ein Verschmelzen der zwei ausgewählten Verwerfungsblöcke zu einem Entzerrungsblock nach der Ausrichtung anzugeben.
  2. Verfahren nach Anspruch 1, ferner umfassend: Bestimmen der Verwerfungsbegrenzung des ersten Verwerfungsblocks durch Bestimmen von Positionen von Zellen des ersten Verwerfungsblocks auf einer Seite der Verwerfung.
  3. Verfahren nach Anspruch 1, wobei das Ausrichten des ersten Verwerfungsblocks an dem anderen Verwerfungsblock gemäß einer zugelassenen Konfliktstufe zwischen Verwerfungsblöcke Folgendes umfasst: Teilen eines jeden der zwei Verwerfungsblöcke in wenigstens drei Bereiche einschließlich eines massiven Bereichs, eines Schwammbereichs und eines leeren Bereichs; und Berechnen eines Konflikts zwischen den zwei Verwerfungsblöcken gemäß einer Überlagerung der drei Bereiche der zwei Verwerfungsblöcke in einer aktuellen Position der Verwerfungsblöcke während der Ausrichtung.
  4. Verfahren nach Anspruch 3, wobei, wenn ein massiver Bereich des ersten Verwerfungsblocks einen massiven Bereich des anderen Verwerfungsblocks überlagert, der berechnete Konflikt größer ist als dann, wenn ein Schwammbereich des ersten Verwerfungsblocks einen massiven Bereich des anderen Verwerfungsblocks überlagert.
  5. Verfahren nach Anspruch 3, wobei das Ausrichten ferner Folgendes beinhaltet: Ändern der Position des ersten Blocks in der wenigstens einen Datenstruktur, was das Bewegen des ersten Blocks darstellt, in definierten Schritten um die überlagerten Schwerpunkte, bis auf Grundlage dessen, dass die Konfliktstufe null ist, kein Konflikt vorliegt.
  6. Verfahren nach Anspruch 5, wobei die Richtung der definierten Stufen in einem spiralförmigen Muster um die überlagerten Schwerpunkte verläuft.
  7. Verfahren nach Anspruch 1, ferner umfassend: Erzeugen einer Verwerfungsbankdatenstruktur für jede Verwerfung der einen oder mehreren Verwerfungen in der geometrischen Formation, wobei Verwerfungsblöcke, die an eine jeweilige Verwerfung angrenzen, der Verwerfungsbank hinzugefügt werden, die der jeweiligen Verwerfung zugeordnet ist.
  8. Verfahren nach Anspruch 7, wobei das Auswählen der zwei Verwerfungsblöcke der Vielzahl von Verwerfungsblöcken, die der Verwerfung zugeordnet ist, Folgendes umfasst: Abrufen der Verwerfungsbankdatenstruktur, die der Verwerfung zugeordnet ist; und Bestimmen, dass die Verwerfungsbank nur die zwei Verwerfungsblöcke beinhaltet.
  9. Verfahren nach Anspruch 7, wobei jede Verwerfungsbankdatenstruktur Daten beinhaltet, die die Art der Verwerfung, welche die Verwerfungsbank darstellt, und die Anzahl der Verwerfungsblöcke in der Verwerfungsbank angeben.
  10. Verfahren nach Anspruch 9, ferner umfassend: Bestimmen eines Paars Verwerfungsblöcke zum Entzerren auf Grundlage der Art von Verwerfung und der Anzahl von Verwerfungsblöcken in einer Verwerfungsbank.
  11. Computerlesbare Speichervorrichtung mit darauf gespeicherten Anweisungen, die bei Ausführung durch eine oder mehrere Verarbeitungseinheiten die eine oder die mehreren Verarbeitungseinheiten dazu konfigurieren Vorgänge auszuführen, umfassend: Speichern von wenigstens einer Datenstruktur, die eine Vielzahl von Verwerfungsblöcken darstellt, die einer oder mehrere Verwerfungen in einer geografischen Formation zugeordnet sind, auf einer Speichervorrichtung; Auswählen von zwei Verwerfungsblöcke der Vielzahl von Verwerfungsblöcke, die einer Verwerfung der einen oder mehreren Verwerfungen zugeordnet sind; Ändern der Position von einem ersten der zwei Verwerfungsblöcke in der wenigstens einen Datenstruktur mithilfe von wenigstens einer Verarbeitungseinheit, was eine Verschiebung des ersten Verwerfungsblocks zu dem anderen Verwerfungsblock der zwei Verwerfungsblöcke darstellt, um den Schwerpunkt einer Verwerfungsbegrenzung des ersten Verwerfungsblocks an dem Schwerpunkt einer Verwerfungsbegrenzung des anderen Verwerfungsblocks anzuordnen; nach dem Durchführen der Verschiebung Ausrichten des ersten Verwerfungsblocks an dem anderen Verwerfungsblock gemäß einer zugelassenen Konfliktstufe zwischen Verwerfungsblöcken; und Aktualisieren der wenigstens einen Datenstruktur, um ein Verschmelzen der zwei ausgewählten Verwerfungsblöcke zu einem Entzerrungsblock nach der Ausrichtung anzugeben.
  12. Computerlesbare Speichervorrichtung nach Anspruch 11, wobei die Vorgänge ferner umfassen: Bestimmen der Verwerfungsbegrenzung des ersten Verwerfungsblocks durch Bestimmen von Positionen von Zellen des ersten Verwerfungsblocks auf einer Seite der Verwerfung.
  13. Computerlesbare Speichervorrichtung nach Anspruch 11, wobei der Vorgang des Ausrichtens des ersten Verwerfungsblocks an dem anderen Verwerfungsblock gemäß einer zugelassenen Konfliktstufe zwischen Verwerfungsblöcken Folgendes umfasst: Teilen eines jeden der zwei Verwerfungsblöcke in wenigstens drei Bereiche einschließlich eines massiven Bereichs, eines Schwammbereichs und eines leeren Bereichs; und Berechnen eines Konflikts zwischen den zwei Verwerfungsblöcken gemäß einer Überlagerung der drei Bereiche der zwei Verwerfungsblöcke in einer aktuellen Position der Verwerfungsblöcke während der Ausrichtung.
  14. Computerlesbare Speichervorrichtung nach Anspruch 13, wobei, wenn ein massiver Bereich des ersten Verwerfungsblocks einen massiven Bereich des anderen Verwerfungsblocks überlagert, der berechnete Konflikt größer ist als dann, wenn ein Schwammbereich des ersten Verwerfungsblocks einen massiven Bereich des anderen Verwerfungsblocks überlagert.
  15. Computerlesbare Speichervorrichtung nach Anspruch 11, wobei der Vorgang des Ausrichtens ferner umfasst: Ändern der Position des ersten Blocks in der wenigstens einen Datenstruktur, was das Bewegen des ersten Blocks darstellt, in definierten Schritten um die überlagerten Schwerpunkte.
  16. System, umfassend: eine oder mehrere Verarbeitungseinheiten; eine Speichervorrichtung mit darauf gespeicherter Anweisung; und wobei, wenn die Anweisungen von der eine oder mehrere Verarbeitungseinheiten ausgeführt werden, die eine oder die mehreren Verarbeitungseinheiten dazu konfiguriert sind, Vorgänge auszuführen, umfassend: Speichern von wenigstens einer Datenstruktur, die eine Vielzahl von Verwerfungsblöcken darstellt, die einer oder mehrere Verwerfungen in einer geografischen Formation zugeordnet sind, auf der Speichervorrichtung; Auswählen von zwei Verwerfungsblöcken der Vielzahl von Verwerfungsblöcke, die einer Verwerfung der einen oder mehreren Verwerfungen zugeordnet sind; Ändern der Position von einem ersten der zwei Verwerfungsblöcke in der wenigstens einen Datenstruktur mithilfe von wenigstens einer Verarbeitungseinheit, was eine Verschiebung des ersten Verwerfungsblocks zu dem anderen Verwerfungsblock der zwei Verwerfungsblöcke darstellt, um den Schwerpunkt einer Verwerfungsbegrenzung des ersten Verwerfungsblocks an dem Schwerpunkt einer Verwerfungsbegrenzung des anderen Verwerfungsblocks anzuordnen; nach dem Durchführen der Verschiebung Ausrichten des ersten Verwerfungsblocks an dem anderen Verwerfungsblock gemäß einer zugelassenen Konfliktstufe zwischen Verwerfungsblöcken; und Aktualisieren der wenigstens einen Datenstruktur, um ein Verschmelzen der zwei ausgewählten Verwerfungsblöcke zu einem Entzerrungsblock nach der Ausrichtung anzugeben.
  17. System nach Anspruch 16, wobei die Verwerfungsbegrenzung des ersten Blocks Positionen von Zellen des ersten Verwerfungsblocks auf einer Seite der Verwerfung beinhaltet.
  18. System nach Anspruch 16, ferner umfassend eine Verwerfungsbankdatenstruktur, die die zwei Verwerfungsblöcke identifiziert, die auf der Speichervorrichtung gespeichert sind, und wobei die zwei Verwerfungsblöcke aus der Verwerfungsbankdatenstruktur ausgewählt sind.
  19. System nach Anspruch 16, wobei der Vorgang zum Ausrichten des ersten Verwerfungsblocks an dem anderen Verwerfungsblock gemäß einer zugelassenen Konfliktstufe zwischen Verwerfungsblöcken Folgendes umfasst: Teilen eines jeden der zwei Verwerfungsblöcke in wenigstens drei Bereiche einschließlich eines massiven Bereichs, eines Schwammbereichs und eines leeren Bereichs; und Berechnen eines Konflikts zwischen den zwei Verwerfungsblöcken gemäß einer Überlagerung der drei Bereiche der zwei Verwerfungsblöcke in einer aktuellen Position der Verwerfungsblöcke während der Ausrichtung.
  20. System nach Anspruch 19, wobei ein massiver Bereich des ersten Verwerfungsblocks, der einen massiven Bereich des anderen Verwerfungsblocks überlagert, einen höheren berechneten Konflikt aufweist als ein Schwammbereich des ersten Verwerfungsblocks, der einen massiven Bereich des anderen Verwerfungsblocks überlagert.
DE112013007399.4T 2013-09-03 2013-09-03 Globale Gittererstellung in Aufschiebungsbereichen durch ein optimiertes Entzerrungsverfahren Withdrawn DE112013007399T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/057830 WO2015034464A1 (en) 2013-09-03 2013-09-03 Global grid building in reverse faulted areas by an optimized unfaulting method

Publications (1)

Publication Number Publication Date
DE112013007399T5 true DE112013007399T5 (de) 2016-06-16

Family

ID=52628772

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013007399.4T Withdrawn DE112013007399T5 (de) 2013-09-03 2013-09-03 Globale Gittererstellung in Aufschiebungsbereichen durch ein optimiertes Entzerrungsverfahren

Country Status (10)

Country Link
US (1) US9645280B2 (de)
CN (1) CN105408941A (de)
AU (1) AU2013399651B2 (de)
CA (1) CA2919051C (de)
DE (1) DE112013007399T5 (de)
GB (1) GB2532622B (de)
MX (1) MX2016000416A (de)
SA (1) SA516370420B1 (de)
SG (1) SG11201600465RA (de)
WO (1) WO2015034464A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2919051C (en) 2013-09-03 2018-07-10 Landmark Graphics Corporation Global grid building in reverse faulted areas by an optimized unfaulting method
US10628552B2 (en) 2016-06-07 2020-04-21 Landmark Graphic Corporation Systems and methods for unfaulting point clouds
CN109003285B (zh) * 2018-07-30 2022-12-06 中国石油化工股份有限公司 自动识别地质等值线图中断层的方法
US11681838B2 (en) 2020-05-26 2023-06-20 Landmark Graphics Corporation Distributed Sequential Gaussian Simulation

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7480205B2 (en) * 2005-04-20 2009-01-20 Landmark Graphics Corporation 3D fast fault restoration
GB2451807B (en) * 2007-08-02 2012-01-18 Arkex Ltd Geophysical data processing systems
US9536022B1 (en) * 2009-06-01 2017-01-03 Paradigm Sciences Ltd. Systems and methods for modeling faults in the subsurface
FR2948215B1 (fr) * 2009-07-16 2011-06-24 Inst Francais Du Petrole Methode pour generer un maillage hexa-dominant d'un milieu souterrain faille
US20120022837A1 (en) 2010-05-18 2012-01-26 Schlumberger Technology Corporation Smoothing Of Stair-Stepped Geometry In Grids
US8843353B2 (en) * 2011-08-25 2014-09-23 Chevron U.S.A. Inc. Hybrid deterministic-geostatistical earth model
FR2987138A1 (fr) * 2012-02-22 2013-08-23 Schlumberger Technology Corp Titre non renseigne.
EP2631685A3 (de) 2012-02-22 2016-04-20 Service Pétroliers Schlumberger Bauen von überschobenen Gittern für Sedimentbecken mit strukturellen und stratigrafischen Schnittstellen
CA2919051C (en) 2013-09-03 2018-07-10 Landmark Graphics Corporation Global grid building in reverse faulted areas by an optimized unfaulting method

Also Published As

Publication number Publication date
AU2013399651B2 (en) 2017-08-10
SG11201600465RA (en) 2016-02-26
US9645280B2 (en) 2017-05-09
US20160116636A1 (en) 2016-04-28
GB201600261D0 (en) 2016-02-24
SA516370420B1 (ar) 2017-04-24
GB2532622B (en) 2020-07-01
GB2532622A (en) 2016-05-25
MX2016000416A (es) 2016-08-03
WO2015034464A1 (en) 2015-03-12
AU2013399651A1 (en) 2016-02-11
CA2919051C (en) 2018-07-10
CN105408941A (zh) 2016-03-16
CA2919051A1 (en) 2015-03-12

Similar Documents

Publication Publication Date Title
DE112015003406T5 (de) Datenherkunftssummierung
DE102019131291B4 (de) Gleichzeitige ausführung von dienstleistungen
DE112014003772T5 (de) Identifizieren und Extrahieren von Verwerfungsblöcken in einem oder mehreren Körpern, die eine geologische Struktur darstellen
DE112009004371T5 (de) Kollisionsbestimmungsvorrichtung und Kollisionsbestimmungsprogramm
DE112013003205T5 (de) Verfahren und Vorrichtung zum Verarbeiten von Datenbankdaten in einem verteilten Datenbanksystem
DE102012209711A1 (de) Systeme und Verfahren zum Verwenden grafischer Darstellungen für die Verwaltung von Abfrageergebnissen
DE4303071A1 (de) Verfahren und Vorrichtung zur Randbewertung in einer Nicht-Mannigfaltigkeits-Umgebung
DE112013007399T5 (de) Globale Gittererstellung in Aufschiebungsbereichen durch ein optimiertes Entzerrungsverfahren
DE112016007098T5 (de) Indexierung von voxeln für das 3d-drucken
DE69910266T2 (de) Maschenerzeuger und verfahren zur erzeugen von maschen in einem extrusionsverfahren
DE112018006377T5 (de) Verschmelzen spärlich besetzter kernels zur approximation eines vollen kernels eines neuronalen faltungsnetzes
DE112013007652T5 (de) Sequenz zum Beseitigen von Verwerfungen beim Aufbauen eines globalen Rasters für komplexe Verwerfungsnetztopologien
DE102019003928A1 (de) Positionsinformationsanzeigesystem
DE112019003861T5 (de) Formpacktechnik
DE112022003147T5 (de) Regionsbasiertes layoutleitungsführen
DE112013007359T5 (de) Lokales Aktualisieren eines geozellulären 3D-Modells
DE112010005294T5 (de) Bildanzeigevorrichtung
DE112013007368T5 (de) Geostatistische Vorgehensweise zur Simulation der 3D-Geometrie eines natürlichen Frakturnetzes, bedingt durch Beobachtungen in einem Bohrloch
EP2602591A1 (de) Verfahren zur vereinfachten Speicherung von Daten repräsentierend Formen
DE10023377C2 (de) Verfahren zur Erhöhung der Leistungsfähigkeit einer Computereinrichtung bei Finite-Elemente-Simulationen und eine solche Computereinrichtung
DE112012005046T5 (de) Koordinieren von Schreiboperationsabfolgen in einem Datenspeichersystem
DE112022000344T5 (de) Anwenden von änderungen in einem ziel-datenbanksystem
WO2023279125A1 (de) Verfahren zum erstellen von simulationszellen für kontinuumsmechanische simulationen eines objekts
DE112018000951T5 (de) System und Verfahren zum Simulieren der Bearbeitung eines Werkstücks
DE112013007213T5 (de) 3D-Stadienalgorithmus für diskrete Gittererzeugung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee