Commit Graph

9785 Commits

Author SHA1 Message Date
Bård Skaflestad
716ea14cb0
Merge pull request #4345 from akva2/fix_macro
avoid double underscored symbol
2023-01-03 17:14:29 +01:00
Arne Morten Kvarving
eedd646523 avoid double underscored symbol 2023-01-03 16:34:49 +01:00
Arne Morten Kvarving
1903a43971 AdaptiveSimulatorTimer: avoid <iostream> include in header 2023-01-03 15:25:20 +01:00
Arne Morten Kvarving
df5edfb96f BISAI: remove unnecessary iostream include 2023-01-03 15:25:00 +01:00
Arne Morten Kvarving
64140f51c9 pass output stream
there is no default argument any longer
2023-01-03 15:24:28 +01:00
Bård Skaflestad
d58efe3bf9
Merge pull request #4343 from akva2/remove_sstream
Remove sstream use in exception handling
2023-01-02 16:37:33 +01:00
Arne Morten Kvarving
7dce14929b WellState: avoid use of sstream 2023-01-02 15:25:13 +01:00
Arne Morten Kvarving
ddb3f2dafb VFPHelpers: avoid use of sstream 2023-01-02 15:24:52 +01:00
Arne Morten Kvarving
ff0f9c05f0 MultisegmentWell: avoid use of sstream 2023-01-02 15:24:35 +01:00
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
Tor Harald Sandve
6c60bad193 fix combination of vapwat and disgas 2023-01-02 12:16:35 +01:00
Bård Skaflestad
be55de8176
Merge pull request #4338 from atgeirr/adjust-cpr-defaults
Adjust cpr-related defaults
2022-12-23 17:55:13 +01:00
Bård Skaflestad
2bc065fce6
Merge pull request #4337 from akva2/deferred_logger_no_sstream
Avoid use of sstream in deferred logger header / macros
2022-12-23 15:25:48 +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
Tor Harald Sandve
7c832b00f8
Merge pull request #4292 from totto82/addRsw
Add support for gas in water
2022-12-21 13:39:42 +01:00
Atgeirr Flø Rasmussen
ba734bc9ad Change default CPR preconditioner recreation behaviour. 2022-12-21 13:23:26 +01:00
Atgeirr Flø Rasmussen
3832b02367 Adjust default behaviours for CPR variants.
- Remove two unused parameters. CprEllSolvetype is never used, and CprEllMaxIter
   is not used correctly as is (if used, it should change the maximum iterations of
   the coarse solver, not the repeats of the preconditioner) and is better left for
   JSON file customization.
 - Make the default AMG setup for "cpr" (including "cpr_trueimpes" and "cpr_quasiimpes")
   match the setup for "cprw". In particular, beta = 0.0 (not 1e-4) and
   prolongationdamping = 1.0 (not 1.6).
 - Just as we override the default maximum number of linear iterations for cpr and cprw
   (unless the user actually specified on the command line) to 20 instead of 100, we
   change the default reduction to be 0.005 instead of 0.01.
2022-12-21 13:23:13 +01:00
Tor Harald Sandve
5854b8a7a1 Support gas dissolution in water (Rsw)
- adapt to interface change in waterPvt()
- add gas + water + disgasw simulator

Note
- MSW is not supported
- EQUIL initialization is not supported
2022-12-21 13:13:52 +01:00
Tor Harald Sandve
42093324ac
Merge pull request #4335 from totto82/clampRSRV
clamp rs/rv in rate converter between 0.0 and rs/rv max
2022-12-21 09:40:40 +01:00
Tor Harald Sandve
17fcae23ad Start using code within BURN_RESV_BRIDGES
clamp rs/rv in rate converter between 0.0 and rs/rv max
2022-12-20 13:49:29 +01:00
Bård Skaflestad
8dcb37570b Rename Convergence Output Option
This commit renames the previously introduced command line option
ExtraConvergenceOutput (--extra-convergence-output) into the more
descriptive

    OutputExtraConvergenceInfo (--output-extra-convergence-info)

Suggested by: [at]OPMUSER
2022-12-20 12:32:14 +01:00
Bård Skaflestad
858ca8fa49 Output Non-Linear Convergence to Separate File if Requested
This commit enables outputting non-linear convergence metrics, i.e.,
the MB and CNV values, per phase, for each non-linear iteration in
each timestep.  If the user passes the option value "iterations" to
the --extra-convergence-output command line option, this commit will
create a new output file, CASE.INFOITER, that holds

    * report step
    * time step within that report step
    * elapsed time
    * MB and CNV values per phase
    * well convergence status

for each non-linear iteration.

We use an asynchronous file writing procedure and confer ownership
of the report step's unprocessed convergence reports to this
procedure just before the end of

    SimulatorFullyImplicitBlackoilEbos::runStep()

At that point, the convergence reports are about to go out of scope.
The asynchronous protocol uses a dedicated queue of output requests,
class ConvergenceReportQueue, into which the producer-i.e., member
function runStep()-inserts new convergence reports and from which
the output thread, ConvergenceOutputThread::writeASynchronous(),
retrieves those requests before writing the file data.
2022-12-20 10:14:13 +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
Bård Skaflestad
c50cdc2454
Merge pull request #4331 from akva2/msw_avoid_mutable
MultisegmentWell: avoid mutable primary variables
2022-12-19 12:34:13 +01:00
Bård Skaflestad
c42e0051e3
Merge pull request #4329 from blattms/treat-connection-not-attached-to-segments-correctly
[bugfix,mswells] Throw for connections not attached to segments correctly.
2022-12-16 17:12:27 +01:00
Markus Blatt
8cde90fbd0 [bugfix,mswell] Throw for connections not attached to segments.
If there are connections of a multisegment well that are not
connected to any segment, we throw with a meaningful error message
instead of a silent segmentation fault. In that case an invalid segment index
of zero would be returned. The corresponding storage index returned by
segmentToNumberIndex ould become -1. This previously lead to segmentation
faults when using it to index a container.
2022-12-16 16:12:47 +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
Bård Skaflestad
63654a73fc Don't Output INFOSTEP File by Default
This commit introduces a new helper class,

    ConvergenceOutputConfiguration

which parses comma separated option strings into a runtime
configuration object for whether to output additional convergence
information and, if so, what information to output.

Supported option string values are

  * "none"       -- Dont want any additional convergence output.

  * "steps"      -- Want additional convergence output pertaining to the
                    converged solution at the end of each timestep.

  * "iterations" -- Want additional convergence output pertaining to each
                    non-linar ieration in each timestep.

Option value "none" overrides all other options.  In other words, if the
user requests "none", then there will be no additional convergence
output, even if there are other options in the option string.

We add a new option, ExtraConvergenceOutput (command line option
--extra-convergence-output), which takes a string argument expected
to be a comma separated combination of these options.  The default
value is "none".  Finally, make the INFOSTEP file output conditional
on the user supplying "steps" as an argument to the new option.
2022-12-15 13:02:09 +01:00
Bård Skaflestad
44aaaf319e
Merge pull request #4321 from akva2/use_common_exceptions
use exception classes from opm-common
2022-12-14 09:48:12 +01:00
Arne Morten Kvarving
f17a90170d use exception classes from opm-common 2022-12-13 12:56:13 +01:00
Atgeirr Flø Rasmussen
6531fbc146 Silence warnings due to forward declaring structs as classes. 2022-12-13 11:57:33 +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
Bård Skaflestad
3c63a7aa6d Capture Timestep's Non-Linear Convergence History
This enables outputting a formatted record of the limiting MB and
CNV quantities as time and non-linear iterations progress.  This, in
turn, is intended for diagnostic and analysis purposes and will not
be output unless specifically requested.

In particular, add a new type,

    ConvergenceReport::ReservoirConvergenceMetric

which captures the convergence metric type (MB or CNV) along with
the associate phase and numerical value of the convergence metric.
We add a vector of these convergence metric objects as a new data
member of the ConvergenceReport.

Finally, foreshadowing the intended use case, also store the report
time in the ConvergenceReport object.
2022-12-09 16:22:36 +01:00
Bård Skaflestad
de84ea65a7
Merge pull request #4251 from GitPaean/fixing_singluar_frictional_pressure_drop
rewrting frictionPressureLoss fucntion for better jacobian matrix
2022-12-09 11:04:33 +01:00
Bård Skaflestad
149ae34dd2 Capture Component Names in Independent Datastructure
This is in preparation of enabling separate convergence output
for diagnostic purposes.
2022-12-09 09:41:22 +01:00
Markus Blatt
b4acdedefd
Merge pull request #4310 from totto82/groupinfo_stage2
BUGFIX we now use group_info in stage 2 and need to make sure its communicated
2022-12-08 09:01:01 +01:00
Tor Harald Sandve
60d0116080 we now use group_info in stage 2 and need to make sure its communicated 2022-12-07 15:43:25 +01:00
Atgeirr Flø Rasmussen
130f552dac Must set location for every variable. 2022-12-07 13:37:38 +01:00
Atgeirr Flø Rasmussen
18f6f5e4e3 Push index map to Damaris for output ordering. 2022-12-07 13:05:44 +01:00
Kai Bao
1f077c35d2 rewrting frictionPressureLoss fucntion for better jacobian matrix
it removes some singularity warning from UMFPack.
2022-12-07 11:43:12 +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
Bård Skaflestad
4f38217fc8
Merge pull request #4302 from akva2/msw_equations
Added: MultisegmentWellEquations
2022-12-05 11:05:31 +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
Torbjørn Skille
8dec3958bd Updates related to unsupported keywords and options
Majority of unsupported keywords and unsupported keyword options are now critical (simulator will stop).
2022-12-02 12:46:43 +01:00
Kai Bao
3d86688d0f renaming local_comp_index to local_conn_index
in function WellState::reportConnections() since there is no
completion involved here.
2022-12-01 15:42:18 +01:00
Kai Bao
aaf76227f6 using correct CPI indices for connections
in WellState::reportConnections()
2022-12-01 15:16:35 +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
Arne Morten Kvarving
ac245a2e17 added: MultisegmentWellEquations::clear
this zeros the equation system.
use the new method in the well implementation.
2022-12-01 10:25:57 +01:00
Arne Morten Kvarving
57f09050fc add: MultisegmentWellEquations
this is a container for the multisegment well equation system
2022-12-01 10:25:28 +01:00
Atgeirr Flø Rasmussen
e23da0b6b7
Merge pull request #4301 from akva2/msw_avoid_mutable
MultisegmentWell: avoid mutable matrices/vectors
2022-12-01 08:03:01 +01:00
Arne Morten Kvarving
d1b4b1afae MultisegmentWellEval: remove mutable from matrices and vectors 2022-11-30 23:15:25 +01:00
Arne Morten Kvarving
2f0c68f574 MultisegmentWellEval: make assembleICDPressureEq non-const
this changes class state
2022-11-30 23:15:25 +01:00
Arne Morten Kvarving
c15925858f MultisegmentWellEval: make assembleDefaultPressureEq non-const
this changes class state
2022-11-30 23:15:25 +01:00
Arne Morten Kvarving
f6e12a86b3 MultisegmentWellEval: make assemblePressureEq non-const
this changes class state
2022-11-30 23:15:25 +01:00
Arne Morten Kvarving
1cde1335ac MultisegmentWellEval: make handleAccelerationPressureLoss non-const
this changes class state
2022-11-30 23:15:25 +01:00
Arne Morten Kvarving
fcf4da30d3 MultisegmentWellEval: make initMatrixAndVector non-const
this changes class state
2022-11-30 23:15:25 +01:00
Arne Morten Kvarving
eadf972014 MSWellHelpers: reverse order of template parameters
this way the matrix type and be deduced from passed parameters
2022-11-30 23:05:29 +01:00
Atgeirr Flø Rasmussen
7e8b0d5700
Merge pull request #4290 from totto82/refactor_primaryVars_Meaning
adapt to primary variable refactoring
2022-11-30 11:10:47 +01:00
Bård Skaflestad
e3d05d1129 Promote Segment Data in WRFTPLT to Supported Status
While there are a few arrays we admittedly don't create, the level
of support is now sufficiently complete that declaring values other
than 'NO' as "supported" is warranted.
2022-11-28 11:33:34 +01:00
Kai Bao
6102249466
Merge pull request #4289 from akva2/fix_thp_regression
fix regression in wells
2022-11-28 10:46:35 +01:00
Bård Skaflestad
fe7da56268
Merge pull request #4293 from akva2/stdwell_conn
added: StandardWellConnections
2022-11-25 15:31:53 +01:00
Arne Morten Kvarving
2671a3fb35 fixed: primary variables no longer needs to be mutable 2022-11-25 13:09:57 +01:00
Arne Morten Kvarving
13af642fe4 StandardWell: make updatePrimaryVariablesNewton non-const
this will obviously modify well state
2022-11-25 13:09:29 +01:00
Arne Morten Kvarving
64112f76b3 StandardWell: make updateWellState non-const
this will obviously modify well state
2022-11-25 13:09:29 +01:00