Post-/Pre-processing

The plugins include:

  • A reader that parse GEOS output log file;

  • 3D mesh cleanning plugins;

  • Processing plugins to compute additional geomechanical properties;

  • Visualization plugins to plot Mohr’s circles and cross plots using Paraview Python View.

PVAttributeMapping

AttributeMapping is a paraview plugin that transfers global attributes from a source mesh to a final mesh with same point/cell coordinates.

Input and output meshes can be vtkDataSet or vtkMultiBlockDataSet.

Warning

For one application of the plugin, the attributes to transfer should all be located on the same piece (all on points or all on cells).

Note

For cell, the coordinates of the points in the cell are compared. If one of the two meshes is a surface and the other a volume, all the points of the surface must be points of the volume.

To use it:

  • Load the module in Paraview: Tools>Manage Plugins…>Load new>PVAttributeMapping.

  • Select the mesh to transfer the global attributes (meshTo).

  • Select Filters > 4- Geos Utils > Attribute Mapping.

  • Select the source mesh with global attributes to transfer (meshFrom).

  • Select the on witch element (onPoints/onCells) the attributes to transfer are.

  • Select the global attributes to transfer from the source mesh to the final mesh.

  • Apply.

PVCreateConstantAttributePerRegion

PVCreateConstantAttributePerRegion is a Paraview plugin that allows to create an attribute with constant values per components for each chosen indexes of a reference/region attribute. If other region indexes exist, values are set to nan for float type, -1 for int type or 0 for uint type.

Input mesh is either vtkMultiBlockDataSet or vtkDataSet and the region attribute must have one component. The relation index/values is given by a dictionary. Its keys are the indexes and its items are the list of values for each component.

Warning

The input mesh should contain an attribute corresponding to the regions.

To use it:

  • Load the module in Paraview: Tools>Manage Plugins…>Load new>PVCreateConstantAttributePerRegion.

  • Select the mesh in which you want to create the attributes.

  • Select the filter Create Constant Attribute Per Region in filter|0- Geos Pre-processing.

  • Choose the region attribute, the relation index/values, the new attribute name, the type of the value, the number of components and their names.

  • Apply.

PVFillPartialArrays

Fill partial arrays of input mesh.

Input and output are vtkMultiBlockDataSet.

To use it:

  • Load the module in Paraview: Tools>Manage Plugins…>Load new>PVFillPartialArrays.

  • Select the input mesh.

  • Select the partial arrays to fill.

  • Set the filling value (defaults to nan).

  • Apply.

PVSplitMesh

Split each cell of input mesh to smaller cells.

Output mesh is of same type as input mesh. If input mesh is a composite mesh, the plugin split cells of each part independently.

To use it:

  • Load the module in Paraview: Tools>Manage Plugins…>Load new>PVSplitMesh.

  • Select the input mesh.

  • Apply the filter.

PVMergeBlocksEnhanced module

Merge Blocks Keeping Partial Attributes is a Paraview plugin filter that allows to merge blocks from a multiblock dataset while keeping partial attributes.

Input is a vtkMultiBlockDataSet and output is a vtkUnstructuredGrid.

Note

This plugin is intended to be used for GEOS VTK outputs. You may encounter issues if two datasets of the input multiblock dataset have duplicated cell IDs.

To use it:

  • Load the module in Paraview: Tools > Manage Plugins… > Load new > PVMergeBlocksEnhanced

  • Select the multiblock dataset mesh you want to merge

  • Select Filters > 4- Geos Utils > Merge Blocks Keeping Partial Attributes

  • Apply

Note

Partial attributes are filled with default values depending on their types. - 0 for uint data. - -1 for int data. - nan for float data.

PVClipToMainFrame

Clip the input mesh to the main frame applying the correct LandmarkTransform

To use it:

  • Load the module in Paraview: Tools>Manage Plugins…>Load new>PVClipToMainFrame.

  • Apply.

Geos output pre-processing

PVGeosBlockExtractAndMerge plugin

PVGeosBlockExtractAndMerge is a Paraview plugin processing the input mesh at the current time in two steps:
  1. Extraction of domains (volume, fault and well) from a GEOS output multiBlockDataSet mesh

  2. Actions on each region of a GEOS output domain (volume, fault, wells) to:
    • Merge Ranks

    • Identify “Fluids” and “Rock” phases

    • Rename “Rock” attributes depending on the phase they refer to for more clarity

    • Convert volume meshes to surface if needed

    • Copy “geomechanics” attributes from the initial timestep to the current one if they exist

This filter results in 3 output pipelines with the vtkMultiBlockDataSet:
  • “Volume” contains the volume domain

  • “Fault” contains the fault domain if it exist

  • “Well” contains the well domain if it exist

Input and output meshes are vtkMultiBlockDataSet.

Important

To use it:

  • Load the module in Paraview: Tools>Manage Plugins…>Load new>PVGeosBlockExtractAndMerge.

  • Select the Geos output .pvd file loaded in Paraview.

  • Search and Apply PVGeosBlockExtractAndMerge Filter.

Geomechanics workflows

PVGeomechanicsWorkflow plugin

PVGeomechanicsWorkflow is a Paraview plugin that executes multiple plugins:
  1. PVGeosBlockExtractAndMerge

  2. PVGeomechanicsCalculator

  3. PVSurfaceGeomechanics (if the input mesh contains faults)

PVGeosBlockExtractAndMerge is a Paraview plugin processing the input mesh at the current time in two steps:
  1. Extraction of domains (volume, fault and well) from a GEOS output multiBlockDataSet mesh

  2. Actions on each region of a GEOS output domain (volume, fault, wells) to:
    • Merge Ranks

    • Identify “Fluids” and “Rock” phases

    • Rename “Rock” attributes depending on the phase they refer to for more clarity

    • Convert volume meshes to surface if needed

    • Copy “geomechanics” attributes from the initial timestep to the current one if they exist

PVGeomechanicsCalculator is a paraview plugin that allows to compute basic and advanced geomechanics properties from existing ones in the mesh. This is donne on each block of the volume mesh.

The basic geomechanics properties computed on the mesh are:
  • The elastic moduli not present on the mesh

  • Biot coefficient

  • Compressibility, oedometric compressibility and real compressibility coefficient

  • Specific gravity

  • Real effective stress ratio

  • Total initial stress, total current stress and total stress ratio

  • Elastic stain

  • Real reservoir stress path and reservoir stress path in oedometric condition

The advanced geomechanics properties computed on the mesh are:
  • Fracture index and threshold

  • Critical pore pressure and pressure index

PVSurfaceGeomechanics is a Paraview plugin that allows to compute additional geomechanical attributes from the input surfaces, such as shear capacity utilization (SCU). This is donne on each block of the fault mesh.

This filter results in 3 output pipelines with the vtkMultiBlockDataSet:
  • “Volume” contains the volume domain

  • “Fault” contains the fault domain if it exist

  • “Well” contains the well domain if it exist

Input and output meshes are vtkMultiBlockDataSet.

To use it:

  • Load the module in Paraview: Tools>Manage Plugins…>Load new>PVGeomechanicsWorkflow.

  • Select the Geos output .pvd file loaded in Paraview.

  • Select Filters > 3- Geos Geomechanics > Geos Geomechanics Workflow.

  • Change the physical constants if needed

  • Select computeAdvancedProperties to compute the advanced properties on volume mesh

  • Apply PVGeomechanicsWorkflow

PVGeomechanicsCalculator plugin

PVGeomechanicsCalculator is a paraview plugin that allows to compute additional geomechanics properties from existing ones in the mesh.

To compute the geomechanics outputs, the mesh must have the following properties:
  • The Young modulus and the Poisson’s ratio named “youngModulus” and “poissonRatio” or bulk and shear moduli named “bulkModulus” and “shearModulus”

  • The initial Young modulus and Poisson’s ratio named “youngModulusInitial” and “poissonRatioInitial” or the initial bulk modulus named “bulkModulusInitial”

  • The porosity named “porosity”

  • The initial porosity named “porosityInitial”

  • The delta of pressure named “deltaPressure”

  • The density named “density”

  • The effective stress named “stressEffective”

  • The initial effective stress named “stressEffectiveInitial”

  • The pressure named “pressure”

The basic geomechanics properties computed on the mesh are:
  • The elastic moduli not present on the mesh

  • Biot coefficient

  • Compressibility, oedometric compressibility and real compressibility coefficient

  • Specific gravity

  • Real effective stress ratio

  • Total initial stress, total current stress and total stress ratio

  • Elastic stain

  • Real reservoir stress path and reservoir stress path in oedometric condition

The advanced geomechanics properties computed on the mesh are:
  • Fracture index and threshold

  • Critical pore pressure and pressure index

PVGeomechanicsCalculator paraview plugin input mesh can be a vtkUnstructuredGrid or a vtkMultiBlockDataSet of vtkUnstructuredGrid. If the input mesh is a vtkMultiBlockDataSet, the geomechanics properties will be computed on each vtkUnstructuredGrid. The output mesh has the same type than the input one.

To use it:

  • Load the module in Paraview: Tools > Manage Plugins… > Load new > PVGeomechanicsCalculator

  • Select the mesh you want to compute geomechanics properties on

  • Search Filters > Filter Category.GEOS_GEOMECHANICS > GEOS Geomechanics Calculator

  • Change the physical constants if needed

  • Select computeAdvancedProperties to compute the advanced properties

  • Apply

PVMohrCirclePlot plugin

PVMohrCirclePlot is a ParaView plugin that allows to compute and plot Mohr’s circles of selected cells and times from effective stress attribute.

Input is a vtkMultiBlockDataSet or vtkUnstructuredGrid.

This filter results in opening a new Python View window and displaying Mohr’s circle plot.

To use it:

This plugin requires the presence of a stressEffective attribute in the mesh. Moreover, several timesteps should also be detected.

Warning

The whole ParaView pipeline will be executed for all timesteps present in the initial PVD file. Please be aware that the number of pipeline filters and timesteps should be as limited as possible. Otherwise, please consider going to get a cup of coffee.

  • Load the module in ParaView: Tools > Manage Plugins…. > Load new > PVMohrCirclePlot

If you start from a raw GEOS output, execute the following steps before moving on. - First, consider removing some unnecessary timesteps manually from the PVD file in order to reduce the calculation time and resources used in the following steps. - Load the data into ParaView, then apply the PVGeosExtractMergeBlock* plugin on it. - Select the filter output that you want to consider for the Mohr’s circle plot.

  • Extract a few number of cells with the ExtractSelection ParaView Filter, then use the MergeBlocks ParaView Filter.

  • Select the resulting mesh in the pipeline.

  • Select Filters > 3- Geos Geomechanics > Plot Mohr’s Circle.

  • Select the cell Ids and time steps you want

  • (Optional) Set rock cohesion and/or friction angle.

  • Apply.

Note

After a first application, select again cells and time steps to display, then
  • Apply again

  • Click on Refresh Data (you may have to click twice to refresh the Python view correctly).