Commit Graph
100 Commits
Author SHA1 Message Date
Arne Morten Kvarving 64112f76b3 StandardWell: make updateWellState non-const
this will obviously modify well state
2022-11-25 13:09:29 +01:00
Arne Morten Kvarving c9856b9b2a WellInterface: make updatePrimaryVariables non-const
this will obviously modify well state
2022-11-25 13:09:29 +01:00
Arne Morten Kvarving fba6249dd8 WellInterface: make recoverWellSolutionAndUpdateWellState non-const
this will obviously modify well state
2022-11-25 13:09:29 +01:00
Arne Morten Kvarving 147f0eb2bd WellInterface: make initPrimaryVariablesEvaluation non-const
this will obviously modify well state
2022-11-25 13:09:29 +01:00
Arne Morten Kvarving c7016854d9 changed: make the deck an implementation detail in Opm::readDeck 2022-11-24 13:00:38 +01:00
Arne Morten Kvarving f4f8c033d8 EclGenericVanguard: remove deck member 2022-11-24 12:10:52 +01:00
Arne Morten Kvarving 4f6665076c StandardWellAssemble: simplify by using primary variables class
- pass primary variables as parameter
- use the evaluation type
2022-11-23 21:19:06 +01:00
Arne Morten Kvarving d294bbabac EclGenericThresholdPressure: remove deck member 2022-11-23 12:54:40 +01:00
Arne Morten Kvarving b325fe65aa make THPRESFT support non-experimental 2022-11-23 12:54:40 +01:00
Arne Morten Kvarving a7c0661669 changed: use internalized THPRESFT keyword 2022-11-23 12:54:40 +01:00
Arne Morten Kvarving 473598c791 changed: remove EclProblem::checkDeckCompatibility
these checks are disabled and do not add anything new,
as the checks of value here are also performed elsewhere
2022-11-23 10:58:33 +01:00
Arne Morten Kvarving 3cd87a8c89 StandardWellPrimaryVariables: store values as Scalar 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving 8e3121113c drop unnecessary wrapper StandardWell::updateExtraPrimaryVariables 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving f64628f72d StandardWellPrimaryVariables: make data members private
and add generic read-only accessors
2022-11-22 13:11:17 +01:00
Arne Morten Kvarving 4bbcdf0646 add checkFinite to StandardWellPrimaryVariables 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving 999d4c6be9 add StandardWellPrimaryVariables::updateNewtonPolyMW
extracted from StandardWell::updatePrimaryVariablesNewton
2022-11-22 13:11:17 +01:00
Arne Morten Kvarving 23a8aed4e8 move getWQTotal to StandardWellPrimaryVariables 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving fbf99889b2 move getBhp to StandardWellPrimaryVariables 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving ff26a9e001 remove StandardWell::updatePrimaryVariables
no need for the wrapper any longer as the implementation
is now in StandardWellPrimaryVariables.
2022-11-22 13:11:17 +01:00
Arne Morten Kvarving b5f5a24af6 relaxationFactorFractionsForProducer: no need to pass values any longer 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving bc3680f822 updateNewton: avoid copying 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving e5e6e21122 relaxationFactorRate: no need to pass entire vector 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving 2fbc699007 make relaxationFactorRate an anon helper in StandardWellPrimaryVariables 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving 3f6c4922b0 move updatePrimaryVariablesNewton to StandardWellPrimaryVariables 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving 0cddc4516e make relaxationFactorFractions an anon helper in StandardWellPrimaryVariables 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving 7b8e88bdd5 move relaxationFactorFractionsForProducer to StandardWellPrimaryVariables 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving cd3388f7c0 move processFractions to StandardWellPrimaryVariables 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving 435bd67732 move getQs to StandardWellPrimaryVariables 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving 1aa74a9830 move wellSurfaceVolumeFraction to StandardWellPrimaryVariables 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving 2fb53a4ef6 move wellVolumeFractionScaled to StandardWellPrimaryVariables 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving d6a6671eb0 move wellVolumeFraction to StandardWellPrimaryVariables 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving 93a151f6e1 move (most of) updatePrimaryVariables to StandardWellPrimaryVariables 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving f55d4334f1 move (most of) updateWellStateFromPrimaryVariables to StandardWellPrimaryVariables 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving 412e561cd8 move updateWellStateFromPrimaryVariablesPolyMW to StandardWellPrimaryVariables 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving f964169914 move updatePrimaryVariablesPolyMW to StandardWellPrimaryVariables 2022-11-22 13:11:17 +01:00
Arne Morten Kvarving 15d49e745e added: StandardWellPrimaryVariables
this is a container class for the primary variables in
standard well
2022-11-22 13:11:17 +01:00
Arne Morten Kvarving 3033f3784b changed: make StandardWellEquations data members private
use a friend declaration for StandardWellEquationAccess to
give the assembler access to the matrices/vectors.
2022-11-22 12:22:18 +01:00
Arne Morten Kvarving 5eac7cae4e added: StandardWellEquations::residual()
this returns a const reference to the residual vector.
use this in StandardWellEval::getWellConvergence
2022-11-22 12:22:18 +01:00
Arne Morten Kvarving 5bab68cb1f added: StandardWellEquationAccess
this is a proxy class for accessing the equation system
in StandardWellAssemble.
use the new class for vector/matrix access in StandardWellAssemble.
2022-11-22 12:22:18 +01:00
Arne Morten Kvarving 68bc90b3be added: StandardWellAssemble::assembleSourceEq
extracted from StandardWell::assembleWellEqWithoutIterationImpl
2022-11-22 12:22:18 +01:00
Arne Morten Kvarving 5bbf205619 added: StandardWellAssemble::asembleZFracEq
extracted from StandardWell::assembleWellEqWithoutIterationImpl
2022-11-22 12:22:18 +01:00
Arne Morten Kvarving f720cc6dde added: StandardWellAssemble::assemblePerforationEq
extracted from StandardWell::assembleWellEqWithoutIterationImpl
2022-11-22 12:22:18 +01:00
Arne Morten Kvarving 57ecd2a5e9 added: StandardWellAssemble::assembleInjectivityEq
extracted from StandardWell::handleInjectivityEquations
2022-11-22 12:22:18 +01:00
Arne Morten Kvarving 10e967653b added: StandardWellAssemble
this handles assembly of the equation system for standardwell.
start by moving assembleControlEq into the new class
2022-11-22 12:22:18 +01:00
Arne Morten Kvarving d2c028fb74 StandardWell_impl.hpp: remove some unused headers 2022-11-22 10:37:41 +01:00
Arne Morten Kvarving 4b4898d6ec added: StandardWellEquations::sumDistributed
this sums up the global equation system for distributed wells
2022-11-22 10:37:41 +01:00
Arne Morten Kvarving e9ed80d644 added: StandardWellEquations::extractCPRPressureMatrix()
this adds the cpr pressure matrix to a matrix.
this is the core of StandardWellEval::addWellPressureEquations
use the new method in the implementation.
2022-11-22 10:37:41 +01:00
Arne Morten Kvarving b24f22312e added: StandardWellEquations::getNumBlocks()
this returns the number of blocks in in B/C matrices.
use the new method in the well implementation.
2022-11-22 10:37:40 +01:00
Arne Morten Kvarving f2d8a073f9 added: StandardWellEquations::extract(SparseMatrixAdapter)
this adds the well matrices to a sparse matrix adapter.
this is the core of StandardWellEval::addWellContributions.
use the new method in the implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving 65efe8e1fc added: StandardWellEquations::extract(WellContributions&)
this adds the well matrices to a WellContributions object.
this is the core of StandardWellEval::addWellContributions.
use the new method in the implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving 40640e9da6 added: StandardWellEquations::recoverSolutionWell()
this recovers the well solution from a solution vector.
use the new method in the well implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving daf0f90fe5 added: StandardWellEquations::solve()
this applies the inverted D matrix to the residual vector.
use the new method in the well implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving 83c41e3f9c added: StandardWellEquations::invert()
this inverts the D matrix.
use the new method in the well implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving 033718f027 added: StandardWellEquations::apply(r)
this applies the equation system to a vector.
use the new method in the well implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving 21bb4dc955 added: StandardWellEquations::apply(x,Ax)
this applies the equation system to a vector.
use the new method in the well implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving 97d158da38 added: StandardWellEquations::init
this initializes the equation system.
use the new method in the well implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving d05081417e added: StandardWellEquations::clear
this zeros the equation system.
use the new method in the well implementation.
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving a8c912ccfa add: StandardWellEquations
this is a container for the standard well equation system
2022-11-22 10:36:54 +01:00
Arne Morten Kvarving 8a32d6bf33 simplify instantations
more readable
2022-11-21 12:48:50 +01:00
Arne Morten Kvarving 3c31b7bafe Merge pull request #4271 from Tongdongq/remove_fpga
Remove fpgaSolver
2022-11-17 10:57:38 +01:00
Arne Morten Kvarving d7c468575b disable flow_alugrid in buildsystem if dune-alugrid was not found 2022-11-15 13:52:02 +01:00
Arne Morten Kvarving d15c2607f5 fixed: eclalugridvanguard did not build in serial
while the comm object is implicitly castable to a mpi_comm
with mpi, it is not implicitly castable to a no_comm
without.
2022-11-15 11:25:54 +01:00
Arne Morten Kvarving f7de591682 EclOutputBlackoilModule: explicitly cast to int to avoid narrowing warning 2022-11-14 15:40:57 +01:00
Arne Morten Kvarving f9f6fdb3bf BlackoilAquiferModel: only include alugrid if it is to be used 2022-11-14 15:11:12 +01:00
Arne Morten Kvarving 4bbb9656b0 EclProblem: use of alugrid is known at compile time
use the proper define, no need for type gymnastics
2022-11-14 15:10:59 +01:00
Arne Morten Kvarving 73b6c9fdf8 EclTransmissibility: no need to include alugrid in header 2022-11-14 15:07:34 +01:00
Arne Morten Kvarving e50aec63d8 EclGenericWriter: no need to include alugrid in header 2022-11-14 15:06:27 +01:00
Arne Morten Kvarving bdb2738034 ISTLSolverEbos: instance for ALUGrid 2022-11-14 14:54:11 +01:00
Arne Morten Kvarving 35b66886a9 changed: pass the actual update value to relaxationFactorRate
this to avoid ussage of BVectorWell in interface. in preparation
for moving BVectorWell out of the well hierarchy.
2022-11-04 14:57:11 +01:00
Arne Morten Kvarving 26d9f18687 changed: move isPressureControlled to WellInterfaceGeneric
no typetag dependence. also no need for this to be virtual
2022-11-04 14:24:19 +01:00
Arne Morten Kvarving 0e2f7649e2 improve encapsulation 2022-11-03 15:47:38 +01:00
Arne Morten Kvarving 9ce8d1ceca adjust for ILU reorder removal 2022-11-03 15:47:38 +01:00
Arne Morten Kvarving b700ec9b53 rename WellInterfaceEval to WellAssemble 2022-11-01 12:55:00 +01:00
Arne Morten Kvarving 411e4d07e7 WellInterfaceEval: separate from inheritance hierarcy 2022-11-01 11:45:15 +01:00
Arne Morten Kvarving 97367a1e95 move checkIndividualConstraints to WellConstraints 2022-11-01 08:57:02 +01:00
Arne Morten Kvarving e884778e46 move activeInjectionConstraint to WellConstraints 2022-11-01 08:57:01 +01:00
Arne Morten Kvarving 06686702ea added: WellConstraints
this will hold the code for well constraints.
start by moving activeProductionConstraint to the new class
2022-11-01 08:56:41 +01:00
Arne Morten Kvarving 796aa51e79 changed: move calculateBhpFromThp to WellBhpThpCalculator 2022-10-31 13:16:51 +01:00
Arne Morten Kvarving 0577516cfe changed: move updateThp to WellBhpThpCalculator 2022-10-31 13:16:16 +01:00
Arne Morten Kvarving a4df84f785 fixed: guard against invalid dereference in getRho 2022-10-31 13:16:16 +01:00
Arne Morten Kvarving e8152a1b65 changed: tidy up computeBhpAtThpLimitProdWithAlq interface
put deferred_logger at the end of the parameter list.
similar to the rest of this family of methods
2022-10-31 13:16:16 +01:00
Arne Morten Kvarving 42fff132b0 changed: drop wrapper MultisegmentWellGeneric::computeBhpAtThpLimitProdWithAlq 2022-10-31 13:16:16 +01:00
Arne Morten Kvarving db05f1d73f changed: drop wrapper StandardWellGeneric::computeBhpAtThpLimitProdWithAlq 2022-10-31 13:16:15 +01:00
Arne Morten Kvarving f214ccc138 changed: move computeBhpFromThpLimitInj to WellBhpThpCalculator 2022-10-31 13:15:56 +01:00
Arne Morten Kvarving 6e214557e2 changed: move computeBhpFromThpLimitProd to WellBhpThpCalculator 2022-10-31 13:15:18 +01:00
Arne Morten Kvarving 4fcb1e9d37 changed: move calculateThpFromBhp to WellBhpThpCalculator 2022-10-31 13:15:18 +01:00
Arne Morten Kvarving f7f4352b68 changed: move mostStrictBhpFromBhpLimits to WellBhpThpCalculator 2022-10-31 13:15:18 +01:00
Arne Morten Kvarving d4e06536a0 changed: move getTHPConstraint to WellBhpThpCalculator 2022-10-31 13:15:18 +01:00
Arne Morten Kvarving cd734f7a0d added: WellBhpThpCalculator
this will hold the code for THP/BHP calculations.

first method moved there is wellHasThpConstraints
2022-10-31 13:15:18 +01:00
Arne Morten Kvarving 726e6699da move checkGroupConstraints into WellGroupConstraints 2022-10-31 13:14:51 +01:00
Arne Morten Kvarving 75dad9f4c4 move checkGroupConstraintsProd into WellGroupConstraints 2022-10-31 13:14:51 +01:00
Arne Morten Kvarving 698b748270 added: WellGroupConstraints
this holds the code for well group constraints.
move checkGroupConstraintsInj into the new class
2022-10-31 13:14:50 +01:00
Arne Morten Kvarving 7d72af43de BlackoilWellModelGeneric: use fmt::format 2022-10-31 11:07:20 +01:00
Arne Morten Kvarving 6a69a67f27 Merge pull request #4218 from akva2/use_return_value
changed: use return value
2022-10-31 11:06:54 +01:00
Arne Morten Kvarving de13e5018a BlackoilWellModelConstraints: use fmt::format 2022-10-31 10:46:50 +01:00
Arne Morten Kvarving f367e4fb7b changed: use return value
no reason to pass a reference here, just use return
2022-10-31 10:35:52 +01:00
Arne Morten Kvarving 6f49aee719 move getGroupProductionTargetRate into WellGroupControls 2022-10-31 09:08:35 +01:00
Arne Morten Kvarving 2d4c522082 move getGroupInjectionTargetRate into WellGroupControls 2022-10-31 09:08:35 +01:00
Arne Morten Kvarving cdbeef0a3e move getGroupProductionControl into WellGroupControls 2022-10-31 08:52:20 +01:00
Arne Morten Kvarving cfd0eda7de added: WellGroupControls
this holds the code for well group controls.
move getGroupInjectionControl into the new class
2022-10-31 08:52:19 +01:00