542 Commits

Author SHA1 Message Date
Bård Skaflestad
7baccd0318 Merge pull request #3701 from vkip/extra_network_output
Allow output of network pressure based on rates at end of timestep
2023-11-09 23:04:34 +01:00
Tor Harald Sandve
80dd2c33a1 Implement support for keyword WDFAC and WDFACCOR
Implement support for DFactor in COMPDAT

Add output of CDFAC
2023-10-31 14:10:45 +01:00
Vegard Kippe
7aabc14523 Output of network pressure based on rates at end of timestep in summary vector NPR:* = GNETPR:* 2023-10-26 19:31:48 +02:00
Bård Skaflestad
cc4928dfc7 Extract Facility to Form CSR Representations of Graphs
This commit extracts the internal helpers of class

    InterRegFlowMap

out to a new public helper class template, CSRGraphFromCoordinates.
Client code can, at the expense of one additional data member and
some dynamic memory, elect to track the index pairs.  This enables
O(1) assembly per element when used as part of a CSR matrix with a
value array, SA.

Class CSRGraphFromCoordinates does not track values.  It is purely
for the sake of forming the IA and JA structure arrays.  Upon
calling 'compress()', column indices are sorted per row and
duplicate column indices condensed to a single, unique,
representative.
2023-10-18 13:50:31 +02:00
Bård Skaflestad
6d3ee57dd5 Define ILBR/ILBS in Terms of Depth First Traversal
The existing algorithm was a little too fragile and dependent on
branch numbers.  This new version starts at segment 1/branch 1 and
follows Segment::inletSegments() in depth-first order, taking care
to enqueue new branches as they're encountered instead of in
numerical order.  We search to the end of each branch before
switching to the next branch.  This ensures determinism regardless
of branch numbering and input ordering.

While here, switch iLBR_ to a WindowedMatrix<int> to simplify branch
references in the output table.
2023-10-02 14:59:55 +02:00
Bård Skaflestad
d3bf44ce87 Tidy up Implementation of Aggregate MSW Data Module
This is in preparation of revising the algorithm for ILBR/ILBS.
Mostly splitting long lines, adding missing headers, passing scalars
by value, and making three helper structures private to the
implementation file.  There are no external users of these types.
2023-10-02 14:25:40 +02:00
Kai Bao
48b759178c fixing the parallel running and testing related to filtrate 2023-08-29 09:08:45 +02:00
Kai Bao
2d35b1e20c adding support for the filtrate summary keywords 2023-08-29 09:08:45 +02:00
Vegard Kippe
98adf5a536 Workaround to avoid failing tests, also fixed some tab indenting. 2023-08-28 11:21:34 +02:00
Bård Skaflestad
8fc1389de0 Revise Description of Item 7 in RSEG
This item is the depth of the node segment, not the depth change
relative to the top segment.  Rename the associate variables
accordingly.
2023-07-06 12:02:45 +02:00
Bård Skaflestad
e7226d4ca8 Add Transport Protocol for Segment Level Phase Densities
This commit adds the requisite backing storage and parser support
for capturing and transporting simulator-level calculation of phase
and mixture density value for purpose of summary file output.  To
this end, make 'SegmentQuantity' into a template on a set of defined
items and make SegmentPhaseQuantity into a specialisation of this
template.  Add a new specialisation, SegmentPhaseDensity, which
holds phase densities (oil, gas, water), and fluid mixture densities
with and without flowing fraction exponents.

These will be used to transport the values needed to output segment
level summary vectors

    SDENx -- Phase density of phase 'x' (O, G, W)
    SDENM -- Fluid mixture density without flowing fraction exponents
    SMDEN -- Fluid mixture density with flowing fraction exponents
2023-07-05 11:31:10 +02:00
Bård Skaflestad
e6590f2169 Fix A Couple of Compiler and Static Code Analysis Warnings
In particular

  * Tag a single argument constructor as 'explicit',
  * Remove an unused private function
  * Fix mismatched tags (struct vs. class) in forward declaration
  * Return 'false' in an impossible updateHyst() case

While here, also use a real UnitSystem object instead of creating
a METRIC system just to infer unit strings.
2023-06-14 13:31:41 +02:00
Bård Skaflestad
89bc182876 Prepare for Revised Implementation of WBPn
This initial commit changes the Summary class's API for consuming
block-averaged well level pressure values (summary keywords WBPn).
The former approach was intended to consume a collection of source
values--pressures, densities, and pore-volumes--and then to defer
calculation of the WBPn summary vectors to the Summary class.

This commit introduces a 'WellBlockAvgPress' container class which
holds precomputed WBPn results and the intention is to move the
calculation to the simulator side for greater parallelism.
2023-06-09 13:29:10 +02:00
Håkon Hægland
2f260fe90a Fixed SWell indices 2023-06-02 09:24:59 +02:00
Håkon Hægland
5463420a85 Add support for WVFPDP 2023-06-02 09:24:59 +02:00
Bård Skaflestad
303889516f Load Constant Flux Aquifer Objects from Restart File
This commit adds logic and structures for bringing in constant flux
aquifer objects-keyword AQUFLUX-from the restart file and forming
the requisite dynamic objects in the Schedule.

In particular, the 'RstAquifer' gets a new bare-bones representation
of these aquifer types and we add new constant flux aquifer objects
to the pertinent 'ScheduleState' when these exist.  We also add this
aquifer type to 'data::Aquifers' in preparation of reinitialising
the simulator's aquifer container from the restart file.  In
particular, this needs the total produced volume from the aquifer so
far.
2023-03-21 17:50:24 +01:00
Bård Skaflestad
7f1e56e436 Adjust Whitespace in Data::Solution Implementation
In preparation of enabling in-place construction in insert().
2023-03-16 16:15:41 +01:00
Bård Skaflestad
ae29bb9101 Add Constructors for CellData Objects
This enables using in-place construction in Solution::insert().
2023-03-16 12:15:44 +01:00
Bård Skaflestad
0adcc7dd07 Add Restart File Output Support for Constant Flux Aquifers
We support constant flux aquifers (AQUFLUX keyword) entered both in
the SOLUTION and in the SCHEDULE sections.  The primary structural
change is that we have to support analytic aquifers being introduced
dynamically, whence the connection information (xCAQ) must be
captured without knowing the full set of analytic aquifers.  We
therefore allocate those output arrays purely from the maximum sizes
entered in the RUNSPEC section whereas we defer determining the
maximum aquifer ID to the point of capturing the dynamic values.

The xAAQ values for constant flux aquifers amount to a new aquifer
type integer value (=2) in IAAQ[11] and the flux value in SAAQ[0].
2023-03-16 10:32:43 +01:00
Bård Skaflestad
53a7c2343a Split Aquifer Type Handling out to Helper Functions
In preparation of adding support for outputting constant flux
aquifer values.
2023-03-16 10:32:43 +01:00
Arne Morten Kvarving
eaaf02f51f Inplace: add restart serialization support 2023-02-27 13:57:23 +01:00
Bård Skaflestad
762b43cfda Merge pull request #3408 from totto82/summary_co2store
Add WCD, GCDI, GCDM, WIPG, WIPL summary output for Field and Region
2023-02-24 16:44:36 +01:00
Tor Harald Sandve
b5fdf35fbc Implement WSF/GSF satfunc familiy for CO2STORE 2023-02-24 15:07:30 +01:00
Tor Harald Sandve
89850adb09 Add WCD, GCDI, GCDM, WIPG, WIPL summary for F and R 2023-02-23 09:17:39 +01:00
Arne Morten Kvarving
0801519f97 Merge pull request #3376 from akva2/restartvalue_move_to_cpp
RestartValue: move some more code to compile unit
2023-01-19 14:28:53 +01:00
Arne Morten Kvarving
eed2a179ca RestartValue: move some more code to compile unit 2023-01-19 13:40:15 +01:00
Arne Morten Kvarving
abce488f3b Summary.hpp: forward PAvgCalculatorCollection 2023-01-19 13:19:27 +01:00
Arne Morten Kvarving
904e879cbe Wells.hpp: include WellEnums.hpp not Well.hpp 2023-01-18 10:32:16 +01:00
Arne Morten Kvarving
0ef729ba72 move printing of WellProducerCMode to WellEnums.cpp 2023-01-18 09:20:43 +01:00
Arne Morten Kvarving
a540ac54b8 move printing of WellInjectorCMode to WellEnums.cpp 2023-01-18 09:08:27 +01:00
Arne Morten Kvarving
3d0ca8438b move printing of WellStatus to WellEnums.cpp 2023-01-18 08:59:09 +01:00
Arne Morten Kvarving
0a66661b98 EclipseIO.hpp: forward EclipseGrid 2023-01-17 10:42:32 +01:00
Arne Morten Kvarving
7468f23875 (Eclipse|Restart)IO: forward Restart(Key|Value) 2023-01-16 15:19:48 +01:00
Arne Morten Kvarving
f10d7e4fd3 AggregateActionxData.hpp: remove unnecessary UDQActive.hpp include 2023-01-11 15:17:06 +01:00
Arne Morten Kvarving
36b196624a ScheduleState.hpp: forward Network::ExtNetwork 2023-01-11 10:36:22 +01:00
Arne Morten Kvarving
cf24cc99f0 AggregateNetworkData.hpp: remove unnecessary Group.hpp include 2023-01-11 09:53:10 +01:00
Bård Skaflestad
4d9ce5b10c Support Additional Dynamic Phase Quantities Per Segment
In particular, provide a container for holding/communicating the
per-phase, per-segment quantities at local flow conditions

    - Flow velocities
    - Holdup fractions
    - Viscosities
2022-10-28 09:30:16 +02:00
Arne Morten Kvarving
fb0f3c451e changed: rename serializeObject to serializationTestObject
makes it more clear what these members are used for.
2022-10-04 14:10:30 +02:00
Arne Morten Kvarving
6576370c19 changed: only use operator() for the serializer 2022-09-14 10:33:56 +02:00
Bård Skaflestad
1670c217ee Rename NETBALAN Items in INTEHEAD
Mostly to make restart code slightly more self explanatory.
2022-09-07 13:04:54 +02:00
Arne Morten Kvarving
9690397cc1 drop unused friend declarations 2022-09-07 08:19:22 +02:00
Arne Morten Kvarving
de7f5a8f69 RestartValue: add serializer support 2022-09-06 10:01:27 +02:00
Bård Skaflestad
e8b9e258b1 Merge pull request #3138 from akva2/aquiferdata_serialize
data::AquiferData: add serializer support
2022-09-06 09:55:29 +02:00
Arne Morten Kvarving
64aee42bf1 data::AquiferData: add serializer support 2022-09-06 08:26:32 +02:00
Arne Morten Kvarving
c7329aa527 data::Wells: add serializer support 2022-09-06 08:23:40 +02:00
Bård Skaflestad
f6fa3e9fa5 Merge pull request #3137 from akva2/numericaquiferdata_serialize
data::NumericAquiferData: add serializer support
2022-09-05 16:26:37 +02:00
Bård Skaflestad
016b899ad6 Merge pull request #3136 from akva2/cartertracydata_serialize
data::CarterTracyData: add serializer support
2022-09-05 16:17:34 +02:00
Bård Skaflestad
9da5bbb463 Merge pull request #3135 from akva2/fetkovichdata_serialize
data::FetkovichData: add serializer support
2022-09-05 16:16:59 +02:00
Bård Skaflestad
8d6dbd9a7e Merge pull request #3133 from akva2/well_serialize
data::Well: add serializer support
2022-09-05 16:16:21 +02:00
Arne Morten Kvarving
6112a6018b data::NumericAquiferData: add serializer support 2022-09-05 15:21:40 +02:00