Mesh

Salt Body Mesh
  • Geological seismic imaging and numerical simulations.
  • Levelset extraction.
  • Mesh optimization.
  • Examples.

Seismic image

Seismic image

Data collection.

Inversion process.

Interpretation:

  • Seismic velocities
  • Density
  • Rock type
  • Structural model

  • Mechanical properties
  • Flow properties
  • Processed/interpreted 3D volume

    Structural model

    Creating a structural model requires:

  • Interpretation of horizons.
  • Identification of different rock types.
  • Interpretation of salt bodies.
  • Modeling of seismic velocities.
  • Challenges:

  • Horizon/salt interpretation is done on a per-slice basis by hand.
  • Salt interpretation is coupled to the seismic velocity model.
  • Reservoir mesh

    Reservoir mesh

    The input data is naturally defined on a regular (sugarcube) grid.

    There are two general approaches:

  • Take the input regular grid, regrid it with simplexes and work with the simplexes to extract a levelset.
  • Work directly with the data on a rectangular grid.
  • Surface triangulations

    Surface triangulations

    Automated extractions of:

  • Salt bodies.
  • Shales.
  • Horizons.
  • Advantages:

  • Rapid creation of structural models for reservoir/geomechanical simulations.
  • Improvements in Vp and Vs interpretation workflows.
  • Surface triangulations

    Surface triangulations

    The rectangular grid on which the data exists can be split (non-uniquely) into triangles (2D) or tetrahedrons (3D) and then perform the surface extraction.

    Advantages – fast and simple:

  • Levelset surface is, by definition piecewise linear
  • Basic geometric operations are trivial on a cell level
  • Disadvantages:

  • Grid-dependent ambiguity in the levelset.
  • The triangulated levelset should be created explicitly and kept for subsequent operations οƒ  memory intensive.
  • Extensive and complex book-keeping is required to support search operations.
  • Basic geometric operations:

  • Computing normals, projecting points onto the surface, testing if a point is on the surface are trivial on the cell level.
  • At the entire grid level, each of the above requires a search operation.
  • Levelset in cube

    Levelset in cube

    Given 2^𝑁 values in a N-cube we have the usual N-linear interpolation in the N-cube:

    Math Formula

    The entire surface is implicitly defined on each cube as follows:

    Math Formula

    It is conforming across cubes.

    Unique representation of the surface.

    More accurate topological representation.

    Levelset in cube

    Levelset in cube

    Using the bi/tri-linear representation.

  • Removes the ambiguity in the underlying surface.
  • Reduces memory requirements.
  • Dramatically simplifies search operations.
  • The (π‘₯,𝑦,𝑧)β†’(𝑖,𝑗,π‘˜) map is trivial.
  • Naturally lends to parallelism.
  • Basic geometric operations:

  • Computing a normal at a point is trivial.
  • Projecting a point onto the levelset is a complex process.
  • Complex algorithm is required to create an initial tessellation.
  • Levelset in cube

    Levelset in cube

    Given the definition of the function in a cube, one uses Lagrange multipliers to project in the entire 𝑅^3.

    If the projection is outside the cube, use Lagrange multipliers to project on each face (that has a levelset) in the entire 𝑅^2.

    If outside of the respective face, check the edges.

    Minimize the distance of all candidate points within the cube or on its faces.

    Levelset in cube

    Levelset in cube

    Compute all points on the edges of the hex that are part of the levelset.

    Connect points into one or more polygons.

    Triangulate the polygon(s).

    Collect triangles from all cells into a single surfaces.

    Example 1
    Complex polygon
    Example 2
    Complex polygon
    Example 3
    Complex polygon
    Example 4
    Complex polygon
    Example 5
    Complex polygon
    Example 6
    Complex polygon
    Example 7
    Complex polygon
    Example 8
    Complex polygon
    Example 1
    Degenerate mesh case
    Example 2
    Degenerate mesh case
    Example 3
    Degenerate mesh case
    Example 4
    Degenerate mesh case

    Initial tessellation contains several triangles per original cube.

    Quality is typically very bad: small triangles, small angles, etc.

    A mesh optimization step is mandatory.

    Initial tessellation
    Initial mesh
    Optimized mesh
    Optimized mesh

    Drawing

    Optimized mesh

    We use a combination of operations on the entire mesh: collapse, swap, refine and smooth.

    Collapse: the purpose is to eliminate:

  • (very) small elements.
  • Elements with bad angles.
  • Elements with bad dihedral angles.
  • Swap:

  • Improve element angles.
  • Improve dihedral angles.
  • Smooth:

  • Improve element angles.
  • Refine:

  • Improve approximation quality.
  • Allow additional Collapse/Swap/Smooth operations to become possible.
  • Problems

    Mesh Issues

    Approximation parameters:

  • Surface distance (can be anisotropic).
  • Deviation of surface normals.
  • Mesh quality parameters:

  • Minimal triangle angle.
  • Edge length.
  • Dihedral angles.
  • Each operation (Collapse, Swap, Smooth, Refine) evaluates if the new configuration is β€œbetter” then the old one.

    Criteria for what is β€œbetter” are different for each operation.

    Greedy optimization does not work!

    The definition of β€œbetter” local mesh quality is still an active area of research.

    Average scheme #1.
    Average scheme #1
    Average scheme #2.
    Average scheme #2
    Example 1
    Production run test case 1

    Vertical surface distance: 1 m.

    Horizontal surface distance: 20 m.

    Min. Angle: 3 deg.

    Max Edge Length Restriction: 500 m.

    Example 2
    Production run test case 2

    Vertical surface distance: 1 m.

    Horizontal surface distance: 20 m.

    Min. Angle: 15 deg.

    Max Edge Length Restriction: 500 m.

    Example 3
    Production run test case 3

    Vertical surface distance: 5 m.

    Horizontal surface distance: 50 m.

    Min. Angle: 15 deg.

    Max Edge Length Restriction: 500 m.

    Example 1
    Salt Body Mesh Extraction
    Example 2
    Salt Body Mesh Extraction
    Example 1
    Reservoir Mesh Extraction
    Example 2
    Reservoir Mesh Extraction
    Example 3
    Reservoir Mesh Extraction horizontal

    Mesh

    Surface Mesh
    • Levelset extraction based on tri-linear approximation offers a number of advantages.
    • An implicit levelset definition can be successfully utilized in mesh optimization schemes.
    • An automated workflow has been designed to successfully produce CAD-quality meshes, based on 3D seismic imaging data.
    • Tests on medical scans is in progress.