mirror of
https://github.com/OPM/ResInsight.git
synced 2026-10-24 22:27:55 -05:00
The patches for libecl, ert and qwt were applied manually and are no longer referenced by the build system. Also remove the corresponding entry from the repository map documentation.
4.5 KiB
4.5 KiB
Repository Map
This document provides an overview of the ResInsight repository structure and key file locations.
Top-Level Directory Structure
ResInsight/
├── ApplicationExeCode/ # Main executable entry points
│ └── RiaMain.cpp # Application entry point
├── ApplicationLibCode/ # Domain-specific functionality
│ ├── Commands/ # Command framework implementations
│ ├── ResultStatisticsCache/
│ └── GeoMech/ # Geomechanics modules
├── Fwk/ # Framework libraries
│ ├── VizFwk/ # Visualization framework (Qt/OpenGL)
│ │ ├── LibCore
│ │ ├── LibGeometry
│ │ ├── LibRender
│ │ ├── LibViewing
│ │ └── LibGuiQt
│ └── AppFwk/ # Application framework
│ ├── PDM system # Project Data Model for serialization
│ ├── Command framework # Undo/redo operations
│ └── UI components # Qt-based user interface
├── GrpcInterface/ # gRPC integration
│ └── Python/ # Python API
│ └── rips/ # Python package
├── ThirdParty/ # Third-party dependencies (git submodules)
│ └── vcpkg/ # vcpkg package manager
├── TestModels/ # Test data and models
├── cmake/ # CMake modules and utilities
├── docs/ # Documentation
│ ├── agents/ # Agent-specific documentation
│ └── class-diagrams/ # PlantUML class diagrams
├── scripts/ # Build and utility scripts
├── tooling/ # Development tools
├── CMakeLists.txt # Main CMake configuration
├── CMakePresets.json # CMake build presets
├── ResInsightVersion.cmake # Version information
└── vcpkg.json # vcpkg dependencies
Key Files
Build Configuration
CMakeLists.txt- Main CMake configurationCMakePresets.json- Predefined build configurationsCMakeUserPresets-example-linux.json- Example user presets for LinuxCMakeUserPresets-example-windows.json- Example user presets for Windowsvcpkg.json- vcpkg dependency manifestvcpkg-configuration.json- vcpkg configuration
Version and Documentation
ResInsightVersion.cmake- Version definitions (2025.04.4-dev)README.md- Project overview and getting startedCOPYING- License informationdocs/agents/- Agent documentationcore.md- Core agent guidelinesbuild.md- Build system documentationcoding-style.md- Coding style guidelinesrepo-map.md- This file
Code Formatting
.clang-format- clang-format configuration for C++ code.codespellrc- codespell configuration.codespell-ignore- codespell ignore list.misspell-fixer.ignore- misspell-fixer ignore list
Source Code Organization
Visualization Framework (Fwk/VizFwk/)
Core 3D rendering using Qt/OpenGL with libraries for:
- Geometry processing
- Rendering pipeline
- View management
- Qt GUI integration
Application Framework (Fwk/AppFwk/)
- PDM System: Project Data Model for:
- Object serialization
- UI generation
- Field validation
- Command Framework: Undo/redo operations
- UI Components: Qt-based widgets and dialogs
Application Code (ApplicationLibCode/)
Domain-specific functionality including:
- Eclipse file format integration
- ODB (ABAQUS) support
- Well path and completion management
- Grid and geometry processing
- Result statistics and caching
Python Integration (GrpcInterface/Python/)
- gRPC server implementation
- Python API (rips package)
- Generated Python classes from PDM objects
- Test suite for Python API
Data File Formats
ResInsight supports various reservoir simulation file formats:
- Eclipse binary:
*.GRID,*.EGRID,*.INIT,*.XNNN,*.UNRST - ABAQUS ODB files (when
RESINSIGHT_ODB_API_DIRconfigured) - OpenVDS seismic data
- Well and completion data formats
Build Outputs
Build artifacts are placed in:
- Linux:
build/directory (or preset-specific directory) - Windows:
build/RelWithDebInfo/,build/Debug/, etc. - Python generated classes:
build/Python/rips/generated/generated_classes.py
Testing
- Unit tests: Various test executables
- Integration tests: CTest-based test suites
- Python tests:
GrpcInterface/Python/rips/tests/ - Test data:
TestModels/directory