Recent Releases of Fimbul.jl

Fimbul.jl - v0.3.2

Fimbul v0.3.2

Diff since v0.3.1

Release Notes v0.3.2

New Features

  • Layered Reservoir Domains:
    • Added layered_reservoir_domain() for streamlined setup of layered geothermal reservoir domains with per-layer material properties.
    • Automatically expands scalar or per-layer properties (permeability, porosity, thermal conductivity, etc.) to all cells.

Improvements

  • Geometry Representation:
    • Switched from Vector{Tuple} to Matrix (2×N / 3×N) representation for all geometry and meshing operations, improving consistency and performance.
  • Case Setup:
    • Refactored geothermal_doublet(), ags(), and egs() to use the new layered_reservoir_domain() and matrix-based geometry.
    • Updated EGS case to pass well direction to compute_peaceman_index and setup_well for more accurate well modelling.
  • Code Organization: Moved case utilities into a utils/ subfolder.
  • Citation: Added CITATION.cff with reference to GET 2025 conference paper.

Bug Fixes

  • Updated EGS case based on well modelling bugfix in JutulDarcy.

Testing

  • Added tests for layered_reservoir_domain setup.
  • Updated meshing and case tests for the new matrix-based geometry functionality.

Merged pull requests:

  • Layered reservoir (#33) (@strene)
  • Geometry updates (#35) (@strene)
  • Bump version (#36) (@strene)

Renewable Energy - Geothermal Energy - Julia
Published by github-actions[bot] 16 days ago

Fimbul.jl - v0.3.1

Fimbul v0.3.1

Diff since v0.3.0

Release Notes Fimbul v0.3.1

New Features

  • BTES and Closed-Loop Systems:
    • Added support for U1 (U-tube) and coaxial borehole thermal energy storage (BTES) systems.
    • Implemented analytical solutions for BTES and coaxial systems for validation.
    • Added convenience functions for deriving closed-loop geometry from well data domains.

Improvements

  • Meshing: Added option to control terminal output during meshing.
  • Validation: Added validation functionality for closed-loop systems.

Bug Fixes

  • Corrected units in axis labels.
  • Fixed minor bugs in BTES setup and coaxial implementation.

Merged pull requests:

  • BTES (#31) (@strene)
  • Bump version (#32) (@strene)

Renewable Energy - Geothermal Energy - Julia
Published by github-actions[bot] 2 months ago

Fimbul.jl - v0.3.0

Fimbul v0.3.0

Diff since v0.2.1

Fimbul.jl v0.3.0 Release Notes

Breaking changes:

  • Case setup functions: All setup functions now returns meta-data and other useful case info to case.input_data instead of as separate outputs.
    -Schedule setup: Function make_schedule() now require that the first and last dates are identical for cases set up with dates.

Major New Features

Advanced Geothermal Systems (AGS)

  • New ags() function: Complete AGS case setup with closed-loop circulation systems

Enhanced Well Systems

  • New well utilities: setup_btes_well() and setup_vertical_btes_well() for specialized BTES configurations, moved over from JutulDarcy.

Expanded Testing Framework

  • Comprehensive schedule testing: Robust validation of time-dependent scheduling with multiple cycles

Enhanced Documentation & Examples

  • AGS demo: Complete workflow demonstrating closed-loop geothermal systems
  • Improved example comments: Enhanced technical explanations and educational content
  • Better function documentation: More comprehensive parameter descriptions and usage examples

New/enhanced functions

  • ags() - Advanced Geothermal System setup
  • setup_btes_well() - BTES well configuration
  • setup_vertical_btes_well() - Vertical BTES well setup
  • Improved make_schedule() with better date handling

Documentation: sintefmath.github.io/Fimbul.jl
Source Code: github.com/sintefmath/Fimbul.jl

Developed by SINTEF Digital

Merged pull requests:

  • Refactor to new JutulDarcy release (#28) (@strene)

Renewable Energy - Geothermal Energy - Julia
Published by github-actions[bot] 4 months ago

Fimbul.jl - v0.2.1

Fimbul v0.2.1

Diff since v0.2.0

Enhanced Geothermal Systems (EGS) Support

New Features:

  • EGS Case Setup: Added egs() function for creating Enhanced Geothermal System simulations with fracture networks

EGS Demo Example:

  • Complete EGS simulation workflow with 10-year thermal depletion analysis
  • Individual fracture performance tracking and visualization

For detailed documentation and examples, visit the Fimbul.jl documentation.

Merged pull requests:

  • Enhanced geothermal system (#27) (@strene)

Renewable Energy - Geothermal Energy - Julia
Published by github-actions[bot] 5 months ago

Fimbul.jl - v0.2.0

Fimbul v0.2.0

Diff since v0.1.0

Fimbul.jl v0.2.0 – Release Notes

Breaking Changes

  • make_utes_schedule
    The function now expects charge and discharge periods to be specified as date ranges:
    • Charging: [start_charge, end_charge]
    • Discharging: [start_discharge, end_discharge]
      This replaces the previous format using month names. Internally, the function delegates to a new utility, make_schedule, for processing.

New Features

  • ates
    A new function for setting up simulation cases for Aquifer Thermal Energy Storage (ATES) systems.

  • make_schedule
    A utility for defining simulation schedules composed of multiple periods, each with distinct driving forces.

Merged pull requests:

  • Getting started fix (#23) (@strene)
  • Aquifer thermal energy storage (#25) (@strene)
  • Version 0.2.0 (#26) (@strene)

Renewable Energy - Geothermal Energy - Julia
Published by github-actions[bot] 6 months ago

Fimbul.jl - v0.1.0

Fimbul v0.1.0

Fimbul.jl v0.1.0 Release Notes

Fimbul.jl — A Julia-based toolbox for geothermal energy simulation built on JutulDarcy.jl. Written entirely in Julia, Fimbul provides specialized tools for setting up, simulating, and analyzing various geothermal energy scenarios.

Industry-relevant examples and workflows

  • Geothermal energy production (doublet.jl): 200-year geothermal energy production simulation from well doublet
  • BTES storage (btes.jl): Seasonal Borehole Thermal Energy Storage (BTES) with 48 wells across six parallel sectors
  • HT-ATES digital twin (egg_htates.jl): Advanced calibration workflows for aquifer thermal energy storage
  • Analytical verification (analytical_1d.jl): Heat equation solver validation with convergence studies

Built on Solid Foundations

  • High-performance: Built on Jutul.jl/JutulDarcy.jl for fully differentiable, high-performance reservoir simulation
  • Advanced physics: Temperature-dependent fluid properties and specialized models supporting closed-loop and perforated wells
  • Robust numerics: Handles realistic geomodels and complex wellbore trajectories with state-of-the art linear and nonlinear solvers
  • Julia native: Fast, modern, and fully differentiable workflows

Documentation: https://sintefmath.github.io/Fimbul.jl/dev/
Source Code: https://github.com/sintefmath/Fimbul.jl
License: MIT

Developed by the Applied Computational Science group at SINTEF Digital

Renewable Energy - Geothermal Energy - Julia
Published by github-actions[bot] 7 months ago