From 03ad5df4e6f52190d420f4be406b6e0fab81ed38 Mon Sep 17 00:00:00 2001 From: Magne Sjaastad Date: Mon, 6 Jan 2014 14:52:24 +0100 Subject: [PATCH] Updated documentation related to faults --- Documentation/UsersGuide/Faults.md | 79 ++++++------------ Documentation/UsersGuide/UsersGuide.md | 1 + .../UsersGuide/images/FaultProperties.png | Bin 0 -> 324911 bytes .../images/draw_style_faults_24x24.png | Bin 0 -> 1647 bytes .../images/draw_style_surface_24x24.png | Bin 0 -> 551 bytes .../draw_style_surface_w_fault_mesh_24x24.png | Bin 0 -> 886 bytes 6 files changed, 25 insertions(+), 55 deletions(-) create mode 100644 Documentation/UsersGuide/images/FaultProperties.png create mode 100644 Documentation/UsersGuide/images/draw_style_faults_24x24.png create mode 100644 Documentation/UsersGuide/images/draw_style_surface_24x24.png create mode 100644 Documentation/UsersGuide/images/draw_style_surface_w_fault_mesh_24x24.png diff --git a/Documentation/UsersGuide/Faults.md b/Documentation/UsersGuide/Faults.md index 68ffa20e9d..a7f1fbae5f 100644 --- a/Documentation/UsersGuide/Faults.md +++ b/Documentation/UsersGuide/Faults.md @@ -3,71 +3,40 @@ ----- ## Faults -ResInsight can import faults from `*.DATA` files, and is available in the Faults folder in the project view. +ResInsight can import faults from `*.DATA` files, and is available in the ![](images/draw_style_faults_24x24.png) **Faults** item in the **Project Tree**. The imported faults are ordered in ascending order based on name. -As import of faults can be time consuming, reading of faults can be disabled from **Preferences -> Read fault data** +As import of faults can be time consuming, reading of faults can be disabled from **Preferences -> Read fault data** -### Fault imports +A fault is defined as a set of cell faces. When clicking on a fault, the fault name is displayed in **Result Info**. Results can be mapped onto a fault, and **Dynamic Face Selection** controls the cell result mapping onto faults. Faults are given a color on import, and this color can be controlled by activating the fault and select **Fault color**. -The command **File -> Import -> Import Well Paths From File** will read the well paths in the selected file, and create one entry for each trajectory under the ![](images/WellCollection.png) **Wells** item in the **Project Tree**. +When clicking on a NNC, the relevant data for this NNC is displayed in the **Result Info**. The static result **CombindedTRANS** can be mapped onto NNC geometry. -The supported ASCII format is quite flexible but the main requirements are: +ResInsight will detect all cell faces with no matching neighbor. All detected cell faces are compared to faults imported from disk, and if no fault face is defined for a cell face, the cell face is added to a fault called **Unnamed grid faults**. -1. Each data line must contain four numbers: X Y TVD MD separated with white-space. -2. A line starting with none-number-characters are ignored, unless : - 1. If the line contains a pair of : ', `, ´, ’ or ‘ the text between the quotation marks is used as a well name. - 2. If the line contains the case insensitive string "name " the rest of the line is used as a well name. -3. If a well name is found, a new well is created and the following data points ends up in it. +### Toolbar control +Visualization mode and mesh lines can be controlled from the toolbar. -###### Example 1: +- ![](images/draw_style_faults_24x24.png) Toggle button to control faults only visualization mode +- ![](images/draw_style_surface_24x24.png) Shows surface visualization +- ![](images/draw_style_surface_w_fault_mesh_24x24.png) Shows mesh lines on faults + - WELLNAME: ‘WELL1’ - 4507.0 5638.5 0.0 0.0 - 4507 5638.5 4628.6 1628.6 - 4297.4 5938.5 4632.4 1998.387 - -999 - WELLNAME: ‘WELL2’ - 5507.0 4638.5 0.0 0.0 - 5507 4638.5 3628.6 1628.6 - 5297.4 4938.5 3632.4 1998.387 - -999 +### Common Fault Options +By clicking the ![](images/draw_style_faults_24x24.png) **Faults** item in the **Project Tree**, the following options are displayed: -###### Example 2: - X Y TVD MD - Name Well_1 - 5507.0 4638.5 0.0 0.0 - 5507 4638.5 3628.6 1628.6 - 5297.4 4938.5 3632.4 1998.387 + ![](images/FaultProperties.png) + - Name Well_2 - 5507.0 4638.5 0.0 0.0 - 5507 4638.5 3628.6 1628.6 - 5297.4 4938.5 3632.4 1998.387 +- **Show defined faces**: Displays the defined fault cell faces +- **Show opposite faces**: Displays the opposite fault cell faces based on IJK neighbor data +- **Show NNCs**: Displays non neighborhood connections (see details below) +- **Dynamic Face Selection**: Controls mapping of cell results onto a fault, either from cell in front of fault, from cell behind fault or both. - -The trajectory data is not copied into the ResInsight project as such. The project file only stores the file path, and the next time you open the project, ResInsight will try to read the well data from the file again. - -### Importing from SSI-Hub (Internal Statoil web-service) - -The command **File -> Import -> Import Well Paths From SSI-hub** launches a wizard to guide you through the process of selecting the well trajectories you need. - -After completing the wizard, the wells imported are accessible as Items under the ![](images/WellCollection.png) **Wells** item in the **Project Tree**. - -The trajectory data is not copied into the ResInsight project as such, but is stored in files in a directory called _wellpaths in the same directory as your project file. - -### Well Trajectory visualization - -All the imported well trajectories are available below the ![](images/WellCollection.png) **Wells** item in the **Project Tree**. - -![](images/WellsInTree.png) - -The visible wells are always shown in all the 3D Views in the complete project, so the toggles and settings control the overall project visibility of the Well Trajectories. The **Property Editor** of the **Wells** item is shown below - -![](images/WellPathCollectionProperties.png) - -- **Global well path visibility** This option forces the well paths on or off, ignoring the individual settings unless it is set to Individual. -- **Clip Well Paths** This option hides the top of the Well Trajectories to avoid displaying the very long lines from the reservoir to the sea surface. -- **Well Path clipping depth distance** This number is the distance from the top of the reservoir to the clipping depth. +- **Show labels**: Displays one label per fault with fault name +- **Label color**: Defines the label color + +- **Show faults outside filters**: Default behavior is to hide faults outside filters. Turning this option on, will display faults outside filter region. +- **Show results on faults**: Map currently selected result onto fault. **Dynamic Face Selection** controls which cell results to map onto faults. ------ [ Contents ](UsersGuide.md#contents) diff --git a/Documentation/UsersGuide/UsersGuide.md b/Documentation/UsersGuide/UsersGuide.md index 1e8d041883..746d2e9097 100644 --- a/Documentation/UsersGuide/UsersGuide.md +++ b/Documentation/UsersGuide/UsersGuide.md @@ -20,6 +20,7 @@ ResInsight has been co-developed by Statoil ASA, Ceetron Solutions AS, and Ceetr - [ Multiple realizations and statistics ](CaseGroupsAndStatistics.md) - [ Octave Interface](OctaveInterface.md) - [ Well Trajectories ](WellPaths.md) +- [ Faults ](Faults.md) - [ Batch Commands ](BatchCommands.md) ### Appendix diff --git a/Documentation/UsersGuide/images/FaultProperties.png b/Documentation/UsersGuide/images/FaultProperties.png new file mode 100644 index 0000000000000000000000000000000000000000..5413f29cb9e1605ffaa14591482f123edefc87cd GIT binary patch literal 324911 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 +p*}aY5CNUU9VvNt z*htI8qJISn-N8i{tys6VX2tTity%q!!Qo#oS+eAok6k@?Zm!V%Kwlsc@WwdJF@+b* zbU_JYnx)edi}NBvO*}(Y995JgIesy_Llo1rAtr`6((&|!2-g{KaRAZ?#aX8|BkkKM zCyhKP*r^d0*^t&sA&O!uTaD}-ZsTM(e5ATwHeXXB=hBAt>*ih)Pdt6Y0!H7>ZFi-QP`-6b~2aKoq_b!0Urqc%r9CM9ZP zUPCD?Odya4q;P9Sy{Q)+n`?G5Sv!s;RfliSHf~t=$akOl_IIBC-Scyg9VKU{>XW

>UnnCM2|Hd37n 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 literal 0 HcmV?d00001