Skip to content

feat: Enable thermal HydroFracture simulation - #4129

Open
frankfeifan wants to merge 50 commits into
developfrom
feature/frankfei/thmHydroFrac
Open

feat: Enable thermal HydroFracture simulation#4129
frankfeifan wants to merge 50 commits into
developfrom
feature/frankfei/thmHydroFrac

Conversation

@frankfeifan

@frankfeifan frankfeifan commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

This PR aims to enable thermal run for the HydroFracture solver and has made following changes:

  • Enable thermal runs for both poro-elastic and non-poroelastic rock only matrix cases.
  • Call applyInitialConditions() exactly once after the initial fracture elements are created in SurfaceGenerator to apply initial conditions on the initial crack, otherwise, the fracture initial condition cannot be applied as the node is only split after the common initial condition is applied.
  • Pay back certain portion of energy to the accumulation term based on massCreation when the new fracture element is born to emulate the treatment on massCreation in the mass conservation equation.
  • Seed the _n state of newly created elements (fluid density_n/internalEnergy_n) so an element's mass and energy balances agree at birth instead of one starting from zero.
  • Add new input decks for benchmark and integrated tests.

This PR is based on #4125 for the new treatment on allocating dRdAperture in the matrix.

Comparison for the non-poroelastic rock-only matrix (noThermalStress means defaultDrainedLinearTEC=0)
benchmark_comparison

Comparison for the poroelastic matrix (noThermalStress means defaultDrainedLinearTEC=0)
benchmark3_comparison

jafranc and others added 30 commits February 2, 2026 13:59
This reverts commit b877903.
…ciepe

# Conflicts:
#	src/coreComponents/linearAlgebra/utilities/LinearSolverParameters.hpp
  - The mechanics solver replaced the existing flow sparsity pattern, discarding flow and custom FIM couplings.
  - Pressure–bubble couplings checked for the nonexistent wrapper bubbleElementsList instead of the registered bubbleCells key.

Fixed both by unioning the flow and mechanics patterns before adding FIM couplings, and by using the correct wrapper key
@frankfeifan frankfeifan self-assigned this Aug 27, 2026
@frankfeifan frankfeifan added the ci: run integrated tests Allows to run the integrated tests in GEOS CI label Aug 27, 2026
@frankfeifan frankfeifan added the ci: run code coverage enables running of the code coverage CI jobs label Aug 27, 2026
@frankfeifan frankfeifan added the ci: run device builds Allows to run the device (CUDA/HIP) builds label Aug 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changes XML input ci: run code coverage enables running of the code coverage CI jobs ci: run device builds Allows to run the device (CUDA/HIP) builds ci: run integrated tests Allows to run the integrated tests in GEOS CI flag: ready for review flag: requires rebaseline Requires rebaseline branch in integratedTests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants