Commit Graph
100 Commits
Author SHA1 Message Date
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
Arne Morten Kvarving 9f78e0454d move guideRateUpdateIsNeeded into BlackoilWellModelGuideRates 2022-10-28 23:33:05 +02:00
Arne Morten Kvarving d42cdd409b move assignGroupGuideRates into BlackoilWellModelGuideRates 2022-10-28 23:33:05 +02:00
Arne Morten Kvarving 5e157cd23b move calculateAllGroupGuideRates into BlackoilWellModelGuideRates 2022-10-28 23:33:05 +02:00
Arne Morten Kvarving 01dfe23a50 move assignWellGuideRates into BlackoilWellModelGuideRates 2022-10-28 23:24:29 +02:00
Arne Morten Kvarving f19c7b2ee6 move getGuideRateInjectionGroupValues into BlackoilWellModelGuideRates 2022-10-28 22:54:54 +02:00
Arne Morten Kvarving b6659d6960 move getGuideRateValues(Group) into BlackoilWellModelGuideRates 2022-10-28 22:53:33 +02:00
Arne Morten Kvarving 41b1a38de3 move getGuideRateValues(Well) into BlackoilWellModelGuideRates 2022-10-28 22:50:26 +02:00
Arne Morten Kvarving dc607ce3ff add BlackoilWellModelGuideRates
start by moving getGuideRateValues
2022-10-28 22:40:38 +02:00
Arne Morten Kvarving f06264152c remove now unnecessary Bhp_ member in StandardWellGeneric 2022-10-28 19:48:01 +02:00
Arne Morten Kvarving 5d4c7f49a2 move checkConvergencePolyMW into WellConvergence 2022-10-28 19:47:59 +02:00
Arne Morten Kvarving 0f8ca0c529 add WellConvergence
move checkConvergenceControlEq into it
2022-10-28 19:47:55 +02:00
Arne Morten Kvarving cc306a45b4 move updateGroupIndividualControl into BlackoilWellModelConstraints 2022-10-28 19:32:06 +02:00
Arne Morten Kvarving e04f20af8e move actionOnBrokenConstraints into BlackoilWellModelConstraints 2022-10-28 19:32:02 +02:00
Arne Morten Kvarving 82cf0deef4 move checkGroupConstraints into BlackoilWellModelConstraints 2022-10-28 19:19:33 +02:00
Arne Morten Kvarving df27ec5d4d move checkGroupProductionConstraints into BlackoilWellModelConstraints 2022-10-28 18:59:40 +02:00
Arne Morten Kvarving 2d9d452fff add BlackoilWellModelConstraints
start by moving hasTHPConstraints
2022-10-28 18:21:43 +02:00
Arne Morten Kvarving 3fdf28508f move loadRestartData into BlackoilWellModelRestart 2022-10-28 15:30:09 +02:00
Arne Morten Kvarving 35386a79bf move loadRestartGuideRates(Config) into BlackoilWellModelRestart 2022-10-28 15:24:59 +02:00
Arne Morten Kvarving 2e433a5bc2 move loadRestartGuideRates(Target) into BlackoilWellModelRestart 2022-10-28 15:22:17 +02:00
Arne Morten Kvarving ffeddfe280 move loadRestartGroupData into BlackoilWellModelRestart 2022-10-28 15:20:09 +02:00
Arne Morten Kvarving 0f853a8566 move loadRestartWellData into BlackoilWellModelRestart 2022-10-28 15:18:29 +02:00
Arne Morten Kvarving 09c1127c34 move loadRestartSegmentData into BlackoilWellModelRestart 2022-10-28 15:15:13 +02:00
Arne Morten Kvarving 0b32c1afd9 add BlackoilWellModelRestart
start by moving loadRestartConnectionData
2022-10-28 15:13:06 +02:00
Arne Morten Kvarving dfde087a23 fixed: some duplicate test case names
while it causes no harm, it's still wrong
2022-10-28 12:50:21 +02:00
Arne Morten Kvarving b9ee7eae6f use if constexpr 2022-10-26 11:23:55 +02:00
Arne Morten Kvarving 96ec2b0e96 comment out unused private variable (causes a warning) 2022-10-26 10:59:43 +02:00
Arne Morten Kvarving 0cc0b29a14 move updateWellTestState to WellInterfaceGeneric 2022-10-24 12:18:30 +02:00
Arne Morten Kvarving 8b503f9a00 move updateWellTestStatePhysical to WellTest 2022-10-24 12:10:57 +02:00