docs: update tutorial example for thermoporoelastic consolidation - #4110
Merged
jhuang2601 merged 11 commits intoAug 11, 2026
Conversation
Allow to query statistics computation for solver (for reservoir reference pressure for wells), without needing an output statistics component. Statistics are no longer recomputed for each convergence step but only at iteration start.
- `RegionStatistics` classes for resulting data storages at different levels:
- sub-regions mpi-local kernel compute read-backs,
- (cell element) regions,
- solver discretisation `MeshLevel`,
- `StatsAggregator` classes to compute & reduce the statistics to rank 0,
- `StatsTask` `Group`, the user component to schedule flow statistics computation & output to log & CSV.
This wommit introduces: - An improved well schema layout and code refactor better suited for well modeling. The previous implementation primarily targeted Jacobian generation requirements for the coupled reservoir and well system. - The well estimator is used to select the active well constraint by solving the well system assuming fixed reservoir conditions and selecting the constraint with the highest or lowest well flowing pressure. the estimator is applied at beginning of Jacobian assembly of the coupled system frequency determined via input setting estimator is a data member of WellControl and a tailed version of PhysicsSolver for wells logic underpins future capability to replace the segmented well model with other formulations. This is a breaking change, detailed migration instructions and migration script are posted at #4081
some changes that were needed to succesfully compile and pass unit tests in our environment (AOCC Compiler, AOCL). 1. Variable shadowing solved, 2. testSinglePhaseMFDPolyhedral failed intermittently during mesh initialization, crash solved by disabled FPE trapping.
Solved a bug where a shut well following a non-converged open well reset the max well residual to zero, letting the simulation falsely converge. Affected compositional models only (well segment flow residuals).
Fix a bug breaking determinism in numerical Jacobian tests, where iterate-dependent constitutive state persisted across Newton attempts. Update CompositionalMultiphaseBase::resetStateToBeginningOfStep to explicitly discard warm-started state held by the fluid model by calling fluid.initializeState(). This guarantees that rolled-back steps start clean and do not inherit iterate-dependent state from failed Newton attempts.
npillardou
requested review from
MelReyCG,
OmarDuran,
bd713,
castelletto1,
corbett5,
dkachuma,
frankfeifan,
herve-gross,
jafranc,
jhuang2601,
joshua-white,
rrsettgast,
tjb-ltk,
victorapm and
wrtobin
as code owners
August 7, 2026 09:15
herve-gross
approved these changes
Aug 8, 2026
4 tasks
frankfeifan
approved these changes
Aug 11, 2026
frankfeifan
left a comment
Contributor
There was a problem hiding this comment.
Looks great. Thank you!
jhuang2601
approved these changes
Aug 11, 2026
jhuang2601
merged commit Aug 11, 2026
be786c8
into
fix/frankfei/thermoPorousSolidTotalStress
19 of 22 checks passed
victorapm
pushed a commit
that referenced
this pull request
Aug 17, 2026
…#3884) * fix effective stress for thermoporomechancis * avoid hiding overloaded function * added an integrated test * move temperature derivative to DiscretizationOps * remove thermal strain part from the avgPlasticStrain calculation * added sequential version * fixed the names and commas * docs: update tutorial example for thermoporoelastic consolidation (#4110) * update script for readthedocs CI error * fix the NameError issue for readthedoc build * rebaseline --------- Co-authored-by: Nicolas Pillardou <71120126+npillardou@users.noreply.github.com> Co-authored-by: Jian Huang <53012159+jhuang2601@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR updates the script to generate documentation figures by computing directly the analytical solutions without need of csv files.
This branch is based on Frank Feifan's branch which includes the thermal stress contribution directly in the effective stress calculation.
A stress figure has been added to see the difference between Frank Feifan's branch and develop :