Commit Graph
290 Commits
Author SHA1 Message Date
Svenn Tveit 106d8d51c9 TPSA implementation with coupling to Flow.
- TPSA-Flow coupling done at the nonlinear solver step level:
- -- Lagged coupling -> TPSA lags behind one time step
- -- Fixed-stress -> Iterate until Flow and TPSA converge
- Generic TPSA solver using Newton with associated linearizer.
- Linear elasticity equations implemented
- Specialized version of ISTL linear solver for TPSA
- Output to restart files and VTK
2026-03-26 15:23:47 +01:00
plgbrts 40e8c39fd5 incorporate brine+energy simulator in flow 2026-03-12 15:49:08 +01:00
Tor Harald Sandve 26d5a3497f Speedup the temperature module
- Use its own fluidstate and Evaluation class to avoid having to add an extra derivative to the main equations
- Sotre the scaling factor to avoid calling the parameter all the time
2026-02-18 11:31:27 +01:00
Tor Harald Sandve 288e97dc39 Make a seqential solver for temperature
Use with TEMP
2025-11-21 12:55:26 +01:00
Tor Harald Sandve 8e63489f75 Add energy module type and use it.
This also add an no_temp implementation that can be used by the standard blackoil model
to avoid storing temperature in the fluid state.
2025-10-24 16:05:32 +02:00
Atgeirr Flø Rasmussen 08d8fa91b6 Make blackoil_nohyst available in flow, not just standalone. 2025-10-02 16:02:07 +02:00
Atgeirr Flø Rasmussen a6555a623d Add extra flow variant without hysteresis. 2025-10-02 16:02:04 +02:00
David Landa Marban 1fd280c68d Removing trailing spaces and adding eol at eof 2025-10-02 10:22:55 +02:00
Tor Harald Sandve a8ed6bfece Merge pull request #6504 from daavid00/biobugs
Add missing invB in BioeffectsFluxes
2025-09-29 13:10:22 +02:00
David Landa Marban 614f7ff131 Use new linearizer for simulators with EnableBrine 2025-09-29 10:47:47 +02:00
David Landa Marban 21876b637e Add missing invB in BioeffectsFluxes 2025-09-29 10:28:37 +02:00
David Landa Marban d3101a9c80 BIOFILM effects for gas-water systems 2025-09-18 11:15:48 +02:00
Svenn Tveit 32dd09c78f Add Python gas-water simulator and refactor to template base class
Extend the Python blackoil simulator to support two-phase gas-water
simulations by extracting common functionality into a template base
class and implementing proper module separation.

- Extract PyBaseSimulator<TypeTag> template base class containing all
  common simulator functionality (20+ methods including advance, run,
  step, property access, and MPI handling)
- Add PyGasWaterSimulator for two-phase gas-water simulations using
  FlowGasWaterProblem TypeTag with oil phase disabled
- Split Python modules to avoid ODR violations:
  - BlackOil.so for PyBlackOilSimulator (FlowProblemTPFA)
  - GasWater.so for PyGasWaterSimulator (FlowGasWaterProblem)
- Implement proper template instantiation control with explicit
  instantiations per module

- Eliminate ~400 lines of code duplication between simulators
- Clean inheritance hierarchy: derived classes contain only constructors
- Type-safe specialization through OPM's TypeTag property system
- Separate docstring generation for each simulator type
- Independent build targets with shared infrastructure

- Update CMakeLists.txt to support multiple pybind11 modules
- Add docstrings_gw_simulators.json for gas-water simulator documentation
- Remove centralized Pybind11Exporter.cpp in favor of distributed exports
- Implement proper build dependencies and custom targets

This establishes a scalable foundation for extending OPM's Python
bindings to support additional simulator types (thermal, polymer,
solvent) while maintaining type safety and avoiding symbol conflicts.

Files changed: 21 files, 915 insertions, 428 deletions
2025-09-17 10:06:44 +02:00
Atgeirr Flø Rasmussen 655d6fdf56 Made no-elementcontext code only used for flow_blackoil.
This fixes compilation of all simulator variants again.
2025-09-02 17:12:22 +02:00
David Landa Marban 1541e84f7d Adressing akva2 comments 2025-04-02 22:19:01 +02:00
David Landa Marban ccc452f4d4 Updating MICP 2025-04-02 22:19:01 +02:00
Bård Skaflestad a0f907b59b Install Type Tag for TPFA Flow Problems
Makes this accessible for out-of-tree uses.
2025-01-30 11:35:19 +01:00
Tor Harald Sandve 2095dd7df3 Use new linearizer for blackoil + thermal 2025-01-07 09:34:26 +01:00
Elyes Ahmed 265c7b8520 cleanup and removing wrong instructions 2024-09-26 10:27:13 +02:00
Elyes Ahmed 6c2e957df0 add changes to fix the order
enabling reordering as default
2024-09-25 10:26:02 +02:00
Arne Morten Kvarving 07f5fdd35b add float variant for flow blackoil 2024-08-30 15:09:25 +02:00
Bård Skaflestad 2fcefbd743 Merge pull request #5226 from akva2/avoid_alu_poly
changed: put SupportsFaceTag in separate header
2024-03-11 12:35:26 +01:00
Arne Morten Kvarving 6f5d53b20b move ebos/eclgenericproblem.[hh|cc] to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving 57905c1069 move ebos/ecltransmissibility[_impl].[hh|cc] to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving 04ed17ebd0 move ebos/eclcpgridvanguard.hh to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving 2d604e12a7 move ebos/eclequilinitializer.hh to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving f6475f8c1e move ebos/eclgenericthresholdpressure[_impl].[hh|cc] to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving 3a3881e8d9 move ebos/eclgenerictracermodel[_impl].[hh|cc] to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving 8d667301cc move ebos/eclgenericwriter[_impl].[hh|cc] to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving e7094558ef move ebos/eclpolyhedralgridvanguard.hh to opm/simulators/flow 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving 388c6c72f7 Flow: drop ebos from simulator object filenames 2024-03-08 12:39:48 +01:00
Arne Morten Kvarving 5618a2b0d2 changed: put SupportsFaceTag in separate header
this way we don't have to pull in alugrid and polyhedralgrid
in simulator objects that does not use them
2024-03-07 12:21:21 +01:00
Kai Bao 5f2c9192d0 Merge pull request #5177 from akva2/move_collect_iorank
ebos/collecttoiorank: move to opm/simulators/flow
2024-03-06 11:44:46 +01:00
Arne Morten Kvarving d5748b6c55 Drop ebos in function names 2024-03-06 10:13:01 +01:00
Arne Morten Kvarving 233d4c90ac ebos/collecttoiorank: move to opm/simulators/flow 2024-03-06 09:30:21 +01:00
Arne Morten Kvarving 0039c1f25f move ebos/eclalugridvanguard.hh to opm/simulators/flow 2024-02-23 15:27:53 +01:00
Arne Morten Kvarving f8e78e7731 rename TTag::EclFlowSolventFoamProblem to TTag::FlowSolventFoamProblem 2024-02-23 09:28:19 +01:00
Arne Morten Kvarving fa3bed7e96 rename TTag::EclFlowSolventProblem to TTag::FlowSolventProblem 2024-02-23 09:28:19 +01:00
Arne Morten Kvarving 372c584c06 rename TTag::EclFlowPolymerProblem to TTag::FlowPolymerProblem 2024-02-23 09:28:19 +01:00
Arne Morten Kvarving 41341a9753 rename TTag::EclFlowProblemWaterOnlyEnergy to TTag::FlowWaterOnlyEnergyProblem 2024-02-23 09:28:19 +01:00
Arne Morten Kvarving fc90700010 rename TTag::EclFlowProblemWaterOnly to TTag::FlowWaterOnlyProblem 2024-02-23 09:28:19 +01:00
Arne Morten Kvarving ac462ed09a rename TTag::EclFlowOilWaterPolymerInjectivityProblem to TTag::FlowOilWaterPolymerInjectivityProblem 2024-02-23 09:28:19 +01:00
Arne Morten Kvarving 7d1e237ad3 rename TTag::EclFlowOilWaterPolymerProblem to TTag::FlowOilWaterPolymerProblem 2024-02-23 09:28:19 +01:00
Arne Morten Kvarving cc8dd22b9a rename TTag::EclFlowOilWaterProblem to TTag::FlowOilWaterProblem 2024-02-23 09:28:19 +01:00
Arne Morten Kvarving 7b6021050d rename TTag::EclFlowOilWaterBrineProblem to TTag::FlowOilWaterBrineProblem 2024-02-23 09:28:19 +01:00
Arne Morten Kvarving a862fc0f31 rename TTag::EclFlowMICPProblem to TTag::FlowMICPProblem 2024-02-23 09:28:19 +01:00
Arne Morten Kvarving a7fd02f510 rename TTag::EclFlowGasWaterSolventProblem to TTag::FlowGasWaterSolventProblem 2024-02-23 09:28:19 +01:00
Arne Morten Kvarving fe13dfddfa rename TTag::EclFlowGasWaterSaltprecVapwatProblem to TTag::FlowGasWaterSaltprecVapwatProblem 2024-02-23 09:28:19 +01:00
Arne Morten Kvarving 27a5033db8 rename TTag::EclFlowGasWaterSaltprecEnergyProblem to TTag::FlowGasWaterSaltprecEnergyProblem 2024-02-23 09:28:19 +01:00
Arne Morten Kvarving e0474238e1 rename TTag::EclFlowGasWaterEnergyProblem to TTag::FlowGasWaterEnergyProblem 2024-02-23 09:28:19 +01:00