Commit Graph
100 Commits
Author SHA1 Message Date
Arne Morten Kvarving 99e5dab134 BlackoilWellModelGeneric: avoid use of sstream 2023-01-02 15:24:16 +01:00
Arne Morten Kvarving 17d54c1416 setupZoltanParams: avoid use of sstream 2023-01-02 15:24:03 +01:00
Arne Morten Kvarving 4abf4e6d38 TimeStepControl: avoid use of sstream 2023-01-02 15:23:48 +01:00
Arne Morten Kvarving 527280ab28 AdaptiveTimeSteppingEbos: avoid use of sstream 2023-01-02 15:23:34 +01:00
Arne Morten Kvarving f00ebc8b1c setupPropertyTree: avoid use of sstream 2023-01-02 15:23:14 +01:00
Arne Morten Kvarving 48bdf6f14c add missing sstream includes 2023-01-02 15:21:42 +01:00
Arne Morten Kvarving e25d77f705 WellContributions: avoid use of sstream 2023-01-02 15:19:40 +01:00
Arne Morten Kvarving bcf64b4be8 PreconditionerFactory: avoid use of sstream 2023-01-02 15:19:26 +01:00
Arne Morten Kvarving ccce1cfe86 OwningTwoLevelPreconditioner: avoid use of sstream 2023-01-02 15:19:08 +01:00
Arne Morten Kvarving 6d033fcf56 MILU: avoid use of sstream 2023-01-02 15:18:50 +01:00
Arne Morten Kvarving 4a0bdc38e1 ISTLSolverEbos: avoid use of sstream 2023-01-02 15:18:34 +01:00
Arne Morten Kvarving 52d871f998 FlexibleSolver: avoid use of sstream 2023-01-02 15:18:10 +01:00
Arne Morten Kvarving b148b454c6 NonlinearSolverEbos: avoid use of sstream 2023-01-02 15:17:49 +01:00
Arne Morten Kvarving 1c2e186017 always include Evaluation.hpp
even if we are using the dynamic specialization
2022-12-23 13:34:35 +01:00
Arne Morten Kvarving be7f94b731 include Math.hpp where required 2022-12-23 13:34:35 +01:00
Arne Morten Kvarving 254f9c0388 DeferredLoggingHelpers: avoid using stringstream 2022-12-23 09:40:10 +01:00
Arne Morten Kvarving a020a993b5 WellInterface: use {fmt} to format error messages 2022-12-23 09:39:29 +01:00
Arne Morten Kvarving a25479e5c2 WellInterfaceGeneric: use {fmt} to format error messages 2022-12-23 09:39:29 +01:00
Arne Morten Kvarving 8d81588ea4 WellConvergence: avoid use of stringstream to format error messages 2022-12-23 09:39:29 +01:00
Arne Morten Kvarving 5c22d2f50c WellAssemble: avoid use of stringstream to format error messages 2022-12-23 09:39:29 +01:00
Arne Morten Kvarving a82b5aa474 StandardWell: pull fmt in impl file
it is not used in the interface.
no real change to the code as such, but it better reflects the use.
2022-12-23 09:39:29 +01:00
Arne Morten Kvarving 2dbfeb6038 StandardWell: use {fmt} to format error messages 2022-12-23 09:39:29 +01:00
Arne Morten Kvarving 59e5642678 StandardWellPrimaryVariables: use {fmt} to format error messages 2022-12-23 09:39:29 +01:00
Arne Morten Kvarving 4c3d933835 MultisegmentWell: use {fmt} to format error messages 2022-12-23 09:39:29 +01:00
Arne Morten Kvarving dd9e2ad66a MultisegmentWellSegments: use {fmt} to format error messages 2022-12-23 09:39:29 +01:00
Arne Morten Kvarving 3083525e8e MultisegmentWellEval: use {fmt} to format error messages 2022-12-22 08:35:27 +01:00
Arne Morten Kvarving 9e789fc144 MultisegmentWellEval: remove unused headers 2022-12-22 08:35:27 +01:00
Arne Morten Kvarving a631762d17 GasLiftSingleWell: pull fmt in impl file
it is not used in the interface.
no real change to the code as such, but it better reflects the use.
2022-12-22 08:35:27 +01:00
Arne Morten Kvarving a8d2bbeb4a GasLiftCommon: avoid pulling fmt in header 2022-12-22 08:35:27 +01:00
Arne Morten Kvarving e7f921825c BlackoilWellModel: use {fmt} to format error message 2022-12-22 08:35:27 +01:00
Arne Morten Kvarving 5a839e8f93 MultisegmentWellSegments: store properties as Scalar
instead of literal double
2022-12-19 16:03:54 +01:00
Arne Morten Kvarving c1e05fae18 MultisegmentWellSegments: make members private
and add various read-only accessors
2022-12-19 16:03:54 +01:00
Arne Morten Kvarving 12b15b5038 move updateUpwindingSegments to MultisegmentWellSegments 2022-12-19 16:03:54 +01:00
Arne Morten Kvarving 4b3a6f37d5 move calculation part of handleAccelerationPressureLoss to MultisegmentwellSegments 2022-12-19 16:03:54 +01:00
Arne Morten Kvarving 70702738cc move pressureDropValve to MultisegmentWellSegments 2022-12-19 16:03:54 +01:00
Arne Morten Kvarving fb0ec18aba move pressureDropAutoICD to MultisegmentWellSegments 2022-12-19 16:03:54 +01:00
Arne Morten Kvarving 133f2a92bb move pressureDropSpiralICD to MultisegmentWellSegments 2022-12-19 16:03:54 +01:00
Arne Morten Kvarving 4acfec9d1d move getFrictionPressureLoss to MultisegmentWellSegments 2022-12-19 16:03:54 +01:00
Arne Morten Kvarving ef7b2aca4e move computeSegmentFluidProperties to MultisegmentWellSegments 2022-12-19 16:03:54 +01:00
Arne Morten Kvarving 4a9cedf452 move getSegmentSurfaceVolume to MultisegmentWellSegments 2022-12-19 16:03:53 +01:00
Arne Morten Kvarving 9c19120855 move getHydroPressureLoss to MultisegmentWellSegments 2022-12-19 16:03:27 +01:00
Arne Morten Kvarving 40adc0ddbd move segment_depth_diffs_ to MultisegmentWellSegments 2022-12-19 16:03:27 +01:00
Arne Morten Kvarving 5755c94256 move segment_inlets_ to MultisegmentWellSegments 2022-12-19 16:03:27 +01:00
Arne Morten Kvarving 2766427df0 move segment_perforations_ and perforation_segment_depth_diffs_ to MultisegmentWellSegments 2022-12-19 16:03:26 +01:00
Arne Morten Kvarving aa684a10b8 added: MultisegmentWellSegments
this is a container class for per-segment properties in MultisegmentWell
2022-12-19 15:55:20 +01:00
Arne Morten Kvarving bc0610171d MultisegmentWellEval: use symbols from primary variables 2022-12-19 13:05:39 +01:00
Arne Morten Kvarving 654c252bb8 MultisegmentWellAssemble: simplify assembleControlEq
by passing primary variables
2022-12-19 13:05:39 +01:00
Arne Morten Kvarving 3b80b913da MultisegmentWellPrimaryVariables: make data members private
and add generic read-only accessor to evaluations
2022-12-19 13:05:39 +01:00
Arne Morten Kvarving e1cd54b267 MultisegmentWell: move updateUpwindingSegments to MultisegmentWellPrimaryVariables 2022-12-19 13:05:39 +01:00
Arne Morten Kvarving 37607c570a MultisegmentWell: move updateWellStateFromPrimaryVariables to MultisegmentWellPrimaryVariables 2022-12-19 13:05:39 +01:00
Arne Morten Kvarving dbdcb2d5ce MultisegmentWell: move getWQTotal to MultisegmentWellPrimaryVariables
also drop otherwise unused getSegmentWQTotal
2022-12-19 13:05:39 +01:00
Arne Morten Kvarving 6b47f9bf1a MultisegmentWell: move getQs to MultisegmentWellPrimaryVariables 2022-12-19 13:05:39 +01:00
Arne Morten Kvarving 62297b2a63 MultisegmentWell: move getSegmentRate to MultisegmentWellPrimaryVariables 2022-12-19 13:05:39 +01:00
Arne Morten Kvarving 99020fe33b MultisegmentWell: move getBhp to MultisegmentWellPrimaryVariables 2022-12-19 13:05:39 +01:00
Arne Morten Kvarving bb377c0a47 MultisegmentWell: move getSegmentPressure to MultisegmentWellPrimaryVariables 2022-12-19 13:05:39 +01:00
Arne Morten Kvarving f99ecd15ac MultisegmentWell: move getSegmentRateUpwinding to MultisegmentWellPrimaryVariables 2022-12-19 13:05:39 +01:00
Arne Morten Kvarving 8e9b004cfc MultisegmentWell: move surfaceVolumeFraction to MultisegmentWellPrimaryVariables 2022-12-19 13:05:39 +01:00
Arne Morten Kvarving 2e2a49b935 MultisegmentWell: move volumeFractionScaled to MultisegmentWellPrimaryVariables 2022-12-19 13:05:39 +01:00
Arne Morten Kvarving e539614fff MultisegmentWell: move volumeFraction to MultisegmentWellPrimaryVariables 2022-12-19 13:05:39 +01:00
Arne Morten Kvarving b112a793c5 MultisegmentWell: move updatePrimaryVariablesNewton to MultisegmentWellPrimaryVariables 2022-12-19 13:05:39 +01:00
Arne Morten Kvarving 6404d69201 MultisegmentWell: move processFractions to MultisegmentWellPrimaryVariables 2022-12-19 13:05:39 +01:00
Arne Morten Kvarving 5212e9c100 MultisegmentWell: move updatePrimaryVariables to MultisegmentWellPrimaryVariables 2022-12-19 13:05:39 +01:00
Arne Morten Kvarving e1fccd47dc added: MultisegmentWellPrimaryVariables
this is a container class for the primary variables in
multisegment well
2022-12-19 13:05:39 +01:00
Arne Morten Kvarving f4c2aa3a35 MultisegmentWell: primary variables no longer needs to be marked mutable 2022-12-16 15:07:46 +01:00
Arne Morten Kvarving f782673b2d MultisegmentWell: make updatePrimaryVariables non-const
this will obviously update state
2022-12-16 15:07:35 +01:00
Arne Morten Kvarving ef992080cf MultisegmentWell: make updatePrimaryVariablesNewton non-const
this will obviously update state
2022-12-16 15:07:12 +01:00
Arne Morten Kvarving ac91db281a MultisegmentWell: make processFractions non-const
this updates state
2022-12-16 15:06:36 +01:00
Arne Morten Kvarving 6b61af21b3 MultisegmentWell: make initPrimaryVariablesEvaluation non-const
this will obviously update state
2022-12-16 15:06:03 +01:00
Arne Morten Kvarving 10a671e88c MultisegmentWell: make updateWellState non-const
this will obviously update state
2022-12-16 15:05:06 +01:00
Arne Morten Kvarving ee8b4cac02 add missing include after upstream header removal 2022-12-13 15:38:10 +01:00
Arne Morten Kvarving f17a90170d use exception classes from opm-common 2022-12-13 12:56:13 +01:00
Arne Morten Kvarving dc7cddab64 adjust to upstream GasPvtApproach enum changes 2022-12-12 19:17:51 +01:00
Arne Morten Kvarving 9a9dfd2e1d adjust to upstream OilPvtApproach enum changes 2022-12-12 19:09:37 +01:00
Arne Morten Kvarving e390ce5149 adjust to upstream WaterPvtApproach enum changes 2022-12-12 19:00:19 +01:00
Arne Morten Kvarving e4233daf72 add missing include
after upstream header removals
2022-12-10 01:58:32 +01:00
Arne Morten Kvarving 134cb205e2 RelpermDiagnostics: add more forwards
adjust to upstream header-in-header removals
2022-12-09 22:17:09 +01:00
Arne Morten Kvarving b102103e26 changed: make MultisegmentWellEquations data members private
use a friend declaration for MultisegmentWellEquationAccess to
give the assembler access to the matrices/vectors.
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving 2d154b50bb added: MultisegmentWellEquations::residual()
this returns a const reference to the residual vector.
use this in MultisegmentWellEval
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving 4545761374 added: MultisegmentWellEquationAccess
this is a proxy class for accessing the equation system
in MultisegmentWellAssemble.
use the new class for vector/matrix access in MultisegmentWellAssemble.
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving 6011a42246 added: MultisegmentWellAssemble::assemblePerforationEq
extracted from MultisegmentWell::assembleWellEqWithoutIteration
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving b1d1e47e28 added: MultisegmentWellAssemble::assembleInflowTerm
extracted from MultisegmentWell::assembleWellEqWithoutIteration
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving d5bbccde65 added: MultisegmentWellAssemble::assembleOutflowTerm
extracted from MultisegmentWell::assembleWellEqWithoutIteration
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving 517dd49771 added: MultisegmentWellAssemble::assembleAccumulationTerm
extracted from MultisegmentWell::assembleWellEqWithoutIteration
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving 1952ca1e5c use MultisegmentWellAssemble::assemblePressureEq in assembleICDPressureEq 2022-12-05 11:07:09 +01:00
Arne Morten Kvarving 32dce644d3 added: MultisegmentWellAssemble::assembleTrivialEq
extracted from MultisegmentWellEval::assembleICDPressureEq
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving 05a4ca85a7 added: MultisegmentWellAssemble::assemblePressureEq
extracted from MultisegmentWellEval::assembleDefaultPressureEq
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving d64508f3b8 added: MultisegmentWellAssemble::assemblePressureLoss
extracted from MultisegmentWellEval::handleAccelerationPressureLoss
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving 4ebde4e003 added: MultisegmentWellAssemble
this handles assembly of the equation system for multisegment well.
start by moving assembleControlEq into the new class
2022-12-05 11:07:09 +01:00
Arne Morten Kvarving 97e1cdb662 added: MultisegmentWellEquations::extractCPRPressureMatrix()
this adds the cpr pressure matrix to a matrix.
this is the core of MultisegmentWell::addWellPressureEquations
use the new method in the implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving de8eedb9a6 added: MultisegmentWellEquations::extract(SparseMatrixAdapter)
this adds the well matrices to a sparse matrix adapter.
this is the core of MultisegmentWell::addWellContributions.
use the new method in the implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving 4a2fcd5f09 added: MultisegmentWellEquations::extract(WellContributions&)
this adds the well matrices to a WellContributions object.
use the new method in the implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving d50aaf8ed4 added: MultisegmentWellEquations::recoverSolutionWell()
this recovers the well solution from a solution vector.
use the new method in the well implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving bc312d1117 added: MultisegmentWellEquations::solve()
this applies the inverted D matrix to the residual vector.
use the new method in the well implementation.
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving a7cb444328 MSWellHelpers: simplify interfaces
- avoid passing the matrix, only pass the solver. possible
  since setting up the solver is not done in here any more.
- avoid passing shared_ptr's
2022-12-05 10:13:55 +01:00
Arne Morten Kvarving e67e58d0c8 added: MultisegmentWellEquations::createSolver
this applies compute the LU decomposition of the D matrix
2022-12-05 10:13:53 +01:00
Arne Morten Kvarving 4b67b9e0de adjust jenkins script and buildsystem
remove opm-material from upstreams / dependencies
2022-12-01 14:10:43 +01:00
Arne Morten Kvarving abf5f94561 added: MultisegmentWellEquations::apply(r)
this applies the equation system to a vector.
use the new method in the well implementation.
2022-12-01 10:36:40 +01:00
Arne Morten Kvarving f2acbccc1a added: MultisegmentWellEquations::apply(x,Ax)
this applies the equation system to a vector.
use the new method in the well implementation.
2022-12-01 10:36:40 +01:00
Arne Morten Kvarving 8fe6b3968e added: MultisegmentWellEquations::init
this initializes the equation system.
use the new method in the well implementation.
2022-12-01 10:36:40 +01:00
Arne Morten Kvarving ade6d99289 add two accessors in MultisegmentWellGeneric
for segment inlets and segment perforations
2022-12-01 10:25:59 +01:00