Skip to content

TPSA: Thermoelastic effects - #7396

Open
svenn-t wants to merge 1 commit into
OPM:masterfrom
svenn-t:tpsa_temp
Open

TPSA: Thermoelastic effects#7396
svenn-t wants to merge 1 commit into
OPM:masterfrom
svenn-t:tpsa_temp

Conversation

@svenn-t

@svenn-t svenn-t commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

This PR adds the possibility to run TPSA with THERMAL activated, i.e. simulating thermoelastic effects. The thermal effects on TPSA is an additional temperature-dependent source term. Mechanical effects on thermal simulations are given through pore volume changes (similar to pressure effects), with an additional compressibility term. The coupling parameter (the new biotTemp function) is calculated from existing deck inputs, THERMEXR or THELCOEF. Temperature-dependent output variables are given. Binaries produced for blackoil, one-phase (water), and gas-water simulators, which are also added to flow binary. New regression test with TPSA_THERMAL deck, OPM/opm-tests#1598.

Note that the implementation is only with the fully-implicit thermal simulator (EnergyModules::FullyImplicitThermal). It's possible that it can easily be extended to the sequential simulator (TEMP option), but have not tested this yet.

@svenn-t svenn-t added the manual:new-feature This is a new feature and should be described in the manual label Sep 10, 2026
@akva2
akva2 requested a balanced review from Copilot September 10, 2026 09:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Thermoelastic coupling currently skips valid negative coefficients and rejects elastic-property combinations supported by existing TPSA decks.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Adds fully implicit thermoelastic TPSA support across one-phase, gas-water, and black-oil thermal simulations.

Changes:

  • Adds temperature-dependent TPSA coupling and pore-volume effects.
  • Adds thermal TPSA executables and dynamic dispatch.
  • Registers a new thermal TPSA regression case.
File summaries
File Description
regressionTests.cmake Registers the thermal TPSA regression.
CMakeLists.txt Builds the new simulator variants.
opm/simulators/flow/MainDispatchDynamic.cpp Dispatches thermal TPSA cases.
opm/simulators/flow/FlowProblemTPSA.hpp Adds thermal mechanical forcing.
opm/simulators/flow/FlowProblem.hpp Exposes thermal Biot APIs.
opm/simulators/flow/FlowGenericProblem.hpp Declares thermoelastic properties.
opm/simulators/flow/FlowGenericProblem_impl.hpp Computes thermal Biot coefficients.
opm/models/tpsa/tpsamodel.hpp Stores and reports thermal forces.
opm/models/blackoil/blackoilproblem.hh Adds default thermoelastic interfaces.
opm/models/blackoil/blackoilintensivequantities.hh Applies thermal pore-volume changes.
flow/flow_onephase_energy_tpsa.hpp Declares one-phase entry points.
flow/flow_onephase_energy_tpsa.cpp Defines the one-phase simulator.
flow/flow_onephase_energy_tpsa_main.cpp Adds its executable entry point.
flow/flow_gaswater_energy_tpsa.hpp Declares gas-water entry points.
flow/flow_gaswater_energy_tpsa.cpp Defines the gas-water simulator.
flow/flow_gaswater_energy_tpsa_main.cpp Adds its executable entry point.
flow/flow_energy_tpsa.hpp Declares black-oil entry points.
flow/flow_energy_tpsa.cpp Defines the black-oil simulator.
flow/flow_energy_tpsa_main.cpp Adds its executable entry point.
Review details
  • Files reviewed: 19/19 changed files
  • Comments generated: 7
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread opm/models/blackoil/blackoilintensivequantities.hh Outdated
Comment thread opm/simulators/flow/FlowGenericProblem_impl.hpp
Comment thread opm/simulators/flow/FlowProblem.hpp
Comment thread flow/flow_energy_tpsa.hpp Outdated
Comment thread flow/flow_onephase_energy_tpsa.hpp Outdated
Comment thread flow/flow_onephase_energy_tpsa.hpp Outdated
Comment thread opm/simulators/flow/FlowGenericProblem_impl.hpp
Comment thread opm/simulators/flow/FlowGenericProblem_impl.hpp Outdated
Comment thread opm/simulators/flow/FlowGenericProblem_impl.hpp
Comment thread opm/simulators/flow/FlowProblem.hpp
- Additional TPSA source term with diff. temp.
- Mechanical effects on thermal simulations via new compressibility term (i.e. pore volume change)
- Temperature effects included in relevant outputs
- Note: only for fully implicit thermal simulators
- Binaries for blackoil, gas-water and one-phase (water only) + energy + TPSA simulators
- New simulators added to flow binary
- TPSA_THERMAL regression test
- Unit tests for conversions
@akva2

akva2 commented Sep 10, 2026

Copy link
Copy Markdown
Member

jenkins build this serial please

@akva2

akva2 commented Sep 10, 2026

Copy link
Copy Markdown
Member

jenkins build this opm-tests=1598 update_data please

jenkins4opm pushed a commit to jenkins4opm/opm-tests that referenced this pull request Sep 10, 2026
        PR OPM#1598

Reason: PR OPM/opm-simulators#7396
        PR OPM#1598

opm-common     = e0b1abf7a624ae1cec43b19b4b902352419063e1
opm-grid       = 798166c5de06f16cc4d9d0acd19d15cc681f6ffd
opm-simulators = 533a0b7cbd4e53ac159c0543876de52f55189873

### Changed Tests ###

  * tpsa_thermal
@akva2

akva2 commented Sep 10, 2026

Copy link
Copy Markdown
Member

jenkins build this opm-tests=1599 please

@akva2 akva2 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. I'll hold a little on the merge give others a chance to voice concerns.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

manual:new-feature This is a new feature and should be described in the manual

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants