Kristian Bendiksen d6722f4ba8 #14510 Nested hybrid grid: prototype FIPNEST parent-child arrays through the INIT file
Adds a compact FIPNEST/FIPSLOT/REFINE encoding of the nested hybrid grid parent-child
relations that can travel inside the INIT file instead of the OLDIJK sidecar: FIPNEST is
the 1-based flat natural index of each cell's immediate parent (refined-away host slots
carry their own link so every chain terminates at a coarse cell), FIPSLOT packs the
within-parent i/j/k offsets, and REFINE is the existing per-cell level. FIPNEST alone is
provably insufficient: the refinement level is not the parent-chain depth (L2 and L3 both
refine the coarse grid directly in the DROGON dataset), and within-parent placement is
ambiguous from flat coordinates when a level has hole layers.

RigNestedHybridGridFipnestCodec derives the arrays from the sidecar input by mirroring the
reconstructor's level classification, and synthesizes an equivalent reconstruction input
back from them (identical up to per-level constant TMP shifts, which reconstruct() is
invariant to), so reusing the reconstructor unchanged guarantees that a grid imported
through FIPNEST equals the sidecar-based import. A successful sidecar reconstruction
auto-exports <gridbase>_FIPNEST.grdecl next to the grid file, scripts/nested_hybrid_grid/
insert_fipnest_into_init.py inserts the arrays into an INIT file using resfo, and
RimEclipseResultCase prefers the INIT-embedded arrays over the sidecars when both exist.

Verified by unit tests covering the codec round-trip, array invariants, cellwise grid
equality of the two import paths, the GRDECL writer, and a hermetic end-to-end pass that
stages the model, appends the INTE arrays to the INIT copy and imports without sidecars.
2026-08-12 19:54:22 +02:00
2024-10-04 13:25:20 +02:00
2024-10-31 15:39:52 +01:00
2013-04-19 08:58:57 +02:00

ResInsight

ResInsight is an open source, cross-platform 3D visualization and post-processing tool for reservoir models and simulations.

Key Features

  • Specialized Visualizations: Tailored for efficient interpretation of reservoir simulation data with visualizations of properties, faults, and wells
  • Performance-Oriented: Exploits multi-core CPUs and GPUs for highly responsive operation
  • Statistical Analysis: Handles large numbers of realizations with built-in statistical calculations
  • Python Integration: Enables powerful result manipulation and computations with two-way data exchange
  • GNU Octave Integration: Enables powerful result manipulation and computations with two-way data exchange
  • Extensible Framework: Supports additional data sources and visualization methods (solvers, seismic data, CSEM, geomechanics)
  • Eclipse Integration: Supports export to Eclipse input formats for simulation cycles and parameter studies

Supported Input Formats

  • Eclipse binary output (*.GRID, *.EGRID files with corresponding *.INIT, *.XNNN, and *.UNRST files)
  • Selected Eclipse input file sections
  • Grid information with cell property data sets

Technology Stack

ResInsight utilizes:

  • Equinor/resdata and OPM/opm-common libraries for Eclipse result file access
  • Qt for the application framework
  • Qwt for plotting functionality
  • vcpkg for dependency management

Platform Support

ResInsight is cross-platform with automated testing on:

  • Red Hat Enterprise Linux (RHEL)
  • Ubuntu
  • Windows 11

Documentation

Development

Source Code

git clone git://github.com/OPM/ResInsight.git

Minimum Requirements

  • gcc 13
  • clang 19
  • CMake 3.15
  • MSVC 2022 17.4

These requirements are defined by used features in c++23 like std::stacktrace and std::expected.

Dependencies

Most dependencies are managed using vcpkg as defined in vcpkg.json

Contributing

Contributions are welcome! Please:

  • Use the dev branch for contributions and pull requests
  • Note that the master branch is kept stable and updated only for releases
  • See Spell Checking Guide for information on automated spell checking

Building

See the Build Instructions for detailed setup information.

License

ResInsight is co-developed by Equinor ASA, Ceetron Solutions AS, and Ceetron AS. The software is copyrighted by Ceetron and Equinor and licensed under GPL 3+. See the COPYING file for details.

Languages
C++ 88.8%
ECL 4.7%
TypeScript 2.9%
Python 1.8%
CMake 0.6%
Other 1%