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
Markus Blatt
3134bdedf9
Merge pull request #4332 from bska/rename-convergence-output-option
...
Rename Convergence Output Option
2022-12-20 13:46:25 +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
Atgeirr Flø Rasmussen
012c69f75b
Merge pull request #4323 from bska/output-convergence-history
...
Output Non-Linear Convergence to Separate File if Requested
2022-12-20 11:17:30 +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
Bård Skaflestad
74811e8780
Merge pull request #4334 from akva2/msw_segments
...
added: MultisegmentWellSegments
2022-12-19 17:48:43 +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
Bård Skaflestad
fe96a7181d
Merge pull request #4333 from akva2/msw_primaries
...
added: MultisegmentWellPrimaryVariables
2022-12-19 14:01:29 +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