Remove dependency on PVT package#4057
Conversation
|
So are we no longer going to be able to run a 3-phase problem? |
@rrsettgast We were never able to run 3-phase models with the PVT package (see for example #3257). I did implement the 3-phase model with the "immiscible water flash" (testPVT_ThreePhaseCompositional.xml:38-56). |
| The model represented by ``<CompositionalMultiphaseFluid>`` node in the input. | ||
| Under the hood this is a wrapper around ``PVTPackage`` library, which is included as a submodule. | ||
| In order to use the model, GEOS must be built with ``-DENABLE_PVTPACKAGE=ON`` (default). | ||
| The model represented by ``<CompositionalTwoPhaseFluid>`` node in the input. |
There was a problem hiding this comment.
The file CompositionalMultiphaseFluid.rst should be renamed to CompositionalTwoPhaseFluid.rst for better clarity.
|
@dkachuma Does this PR represent zero capability loss, even if that capability wasn't good? |
@rrsettgast The two-phase model that I added covers the compositional model that was provided by the pvt package. So I'd say no loss of capability. |
@dkachuma When you say 3 phase is not supported...the doc shows description for live black oil... which is also immiscible |
Three-phase black oil works. But this is "natively" implemented in geos and doesn't depend on the PVT package. What I meant to say is that the supposed compositional 3-phase model via the pvt package wasn't actually implemented and therefore doesn't work. |
This PR removes the dependency of GEOS on the external
PVTPackagein favour of local, "native" implementations for compositional multiphase fluids.As part of this transition, the
CompositionalMultiphaseFluidconstitutive model (which acted as a wrapper around the PVT package) has been entirely removed and replaced by the nativeCompositionalTwoPhaseFluidmodel across all integration tests and input files.Additionally, this refactor simplifies the execution policies across all fluid models. Since native models inherently support device execution, individual
exec_policytype definitions have been removed from the fluid classes, and the solvers have been updated to directly utilizeparallelDevicePolicy<>.Key Changes
ENABLE_PVTPackageCMake option and stripped out all associated build logic.CompositionalMultiphaseFluidPVTPackage.hpp/cppand its wrapper code. (Note: The git submodule for PVTPackage is not yet removed from the repository in this PR.)CompositionalMultiphaseFluidwithCompositionalTwoPhaseFluidin all XML input files, integration tests, and schemas.equationsOfStatestring identifiers in input files (e.g.,PR->PengRobinson,SRK->SoaveRedlichKwong).schema.xsd) to reflect the removal ofCompositionalMultiphaseFluidand the PVT package.fluidFlowTests,wellsTests,constitutiveDriver) to use the new nativeCompositionalTwoPhaseFluidmodel.