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