Commit Graph

593 Commits

Author SHA1 Message Date
Arne Morten Kvarving
a7f709f9f3 changed: put HandlerContext in separate compile unit 2023-11-24 13:22:29 +01:00
Arne Morten Kvarving
01c1fda1c9 introduce a helper class WelSegsSet
this wraps the set with the custom comparator. this is
just a internal helper class, does not need to be part of public API.
2023-11-24 13:22:29 +01:00
Arne Morten Kvarving
d9ca8694ae changed: vendor cjson using FetchContent 2023-11-22 10:46:13 +01:00
Arne Morten Kvarving
3f08071eae added: FIPConfig class
this parses FIP related flags from RPT(SCHED|SOL)
2023-11-09 10:35:21 +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
Arne Morten Kvarving
d1b6c8de12 add class for representing UDTs
this is limited to 1D UDTs for now
2023-10-23 20:29:40 +02:00
Arne Morten Kvarving
782aa4b17c changed: sort UDQ headers/sources in alphabetical order 2023-10-23 13:17:27 +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
Kai Bao
1d8d503b69 adding ThreeComponentFluidSystem.hh to CMakeLists_files
to let other modules be able to access it.
2023-10-16 10:39:01 +02:00
Svenn Tveit
ea4aebda5d Test H2-brine PVTs 2023-09-14 12:31:59 +02:00
Håkon Hægland
bec10dbfbe Implement GECON keyword
Implements support for the GECON keyword.
2023-08-29 01:10:21 +02:00
Arne Morten Kvarving
bd3328b15c added: basic tests for BCCON / BCPROP 2023-08-16 13:58:39 +02:00
Bård Skaflestad
aab5d1125b
Merge pull request #3584 from svenn-t/unittests
Component unit tests and some minor updates
2023-08-08 18:14:37 +02:00
goncalvesmachadoc
0aa2941150 start for unit tests 2023-07-18 10:32:52 +02:00
goncalvesmachadoc
22c5965fb5 add carfin collection 2023-07-18 10:32:50 +02:00
Bård Skaflestad
4fb2a3557b
Merge pull request #3313 from GitPaean/support_cake_filteration
A simple cake model to simulate formation damage due to suspended solids in injection water
2023-06-30 15:51:41 +02:00
Kai Bao
39608fa1ed re-organizing the filter cake related
to address the reviewing comments and improve the code.
2023-06-29 11:42:26 +02:00
Tor Harald Sandve
4b36741f33 Rename BC to BCPROP and add error message for BC 2023-06-28 14:07:33 +02:00
Tor Harald Sandve
c7a7e80698 splitt BC into BCCON in grid section and BC in Schedule 2023-06-28 14:07:33 +02:00
Svenn Tveit
0b4f420aaa Added reference data files to cmake list 2023-06-28 10:05:32 +02:00
Bård Skaflestad
d9cfd1288a Reimplement WBPn Calculation Procedure
This commit implements the WPAVE keyword and its associate WBPn
well level report quantities.  We support all valid settings of
WPAVE and WWPAVE.  The various weighted averages are accumulated
through compensated summation of both the numerator and denominator
terms for the inner block, the direct/immediate level 1 neighbours,
and the diagonal level 2 neighbours.  We combine those contributions
to the WBP, WBP4, WBP5, and WBP9 terms when we "commit" the
contributions (Accumulator::commitContributions()), per connection
for values weighted by the connection transmissibility factor, and
per well for values weighted by pore volumes.

We distinguish OPEN from ALL connections through callback functions
in the implementation of accumulateLocalContributions() and the per
connection weighting terms are provided as another set of callback
functions depending on the value of the inner block weighting factor
F1.

Depth correction (NONE, WELL, or RES) is affected through a separate
set of callback functions used in the implementation of
'connectionPressureOffset'.

We discover source locations in a two-step process.  At WBPn
calculation construction time, we exclude only those cells that are
outside the model's dimensions.  The user is then expected to call
member function pruneInactiveWBPCells(), typically at the
CalculatorCollection level, at a later time in order to prune
inactive cells.  This two-step split is necessary because we do not
have a complete global view of the model's active cells in a
parallel run.  It is very possible that the WBPn calculation on one
rank will require source values from another rank and that begets
this extra caution.

The user must call inferBlockAveragePressures() to compute the WBPn
values.  Once completed, the result values may be extracted by
calling member function averagePressures().  We expect that the user
will provide a complete set of up-to-date source values when calling
this member function, both at the reservoir and the well connection
levels.
2023-06-22 16:46:54 +02:00
Kai Bao
68e586bf7a separating the WINJMULT for well and connections
with more testing, it looks like when multiple records are entered. The
records with WREV mode and records with CIRR and CREV modes work
differently in term of overwriting the previous records. So it is
necessary to store them separately.
2023-06-21 11:38:31 +02:00
Bård Skaflestad
dda3effdb3
Merge pull request #3570 from svenn-t/ppcwmax
Implementation of PPCWMAX
2023-06-16 15:04:03 +02:00
Ove Sævareid
0fc0b6f4fa Some support for WAG hysteresis (input). 2023-06-15 11:18:58 +02:00
Svenn Tveit
ccc010c8d3 Internalize PPCWMAX as vector of structs 2023-06-14 08:33:51 +02:00
Bård Skaflestad
c7d6604d98 Add Container for Dynamic WBPn Source Values
This commit adds a new container class,

    PAvgDynamicSourceData

which wraps a single vector<double> which in turn backs source data
items for

    - pressure values
    - fluid mixture densities
    - dynamic pore-volumes

at a collection of source locations-active cells or well reservoir
connections.  We provide read-only and read-write accessors to the
underlying data items for a single source location through subscript
operator (read only) and named assignment (set(), read-write) member
functions.  The latter is available only when the underlying range
of data values is mutable (e.g., SourceDataSpan<double>) as opposed
to immutable (e.g., SourceDataSpan<const double>).
2023-06-09 15:42:46 +02:00
Håkon Hægland
5463420a85 Add support for WVFPDP 2023-06-02 09:24:59 +02:00
Tor Harald Sandve
005ff3e982
Merge pull request #3445 from svenn-t/h2store
Hydrogen-brine simulations - H2STORE
2023-05-22 11:23:48 +02:00
Tor Harald Sandve
46f5558b59 Combine brine and the co2store module
This commit allows for dynamically changes in salinity in the co2 storage module

I.e. It allows for modeling salt precipition for co2 storage cases.
2023-05-03 15:09:06 +02:00
Markus Blatt
8a21a8a23f Added missing file for grid independent well specification. 2023-04-13 12:55:30 +02:00
Svenn Tveit
fb70d31ba0 Update to restructure and latest developments. 2023-04-12 14:28:02 +02:00
Paul Egberts
7c05ccc553 Merge branch 'well-traj' of https://github.com/blattms/opm-common into well-traj-markus
Use Markus' rebased version
2023-04-03 12:11:47 +02:00
Paul Egberts
22a7a81597 Removal of unused files 2023-03-29 17:24:13 +02:00
Paul Egberts
367ffb1aa2 added missing *.inl files to make file 2023-03-29 17:24:13 +02:00
Paul Egberts
d0fc099d75 explicit listing of header files, removed globbing 2023-03-29 17:24:11 +02:00
Paul Egberts
1d07b6ad9f attempt to fix build error 2023-03-29 17:23:21 +02:00
Paul Egberts
e7e1411146 added resinsight include files in cmake file part 2 2023-03-29 17:23:21 +02:00
Paul Egberts
7ebfb0b86f added resinsight include files in cmake file 2023-03-29 17:23:21 +02:00
Paul Egberts
98f41e2e2e cmake file fix 2023-03-29 17:23:21 +02:00
Paul Egberts
8091ea73ae repairing cmake file 2023-03-29 17:23:14 +02:00
Paul Egberts
3ba31d4304 finalizing and cleaning up 2023-03-29 17:20:54 +02:00
Paul Egberts
5c9a59644f well trajectory calculation (re)using resinsight code 2023-03-29 17:05:37 +02:00
goncalvesmachadoc
ca08609810 rebase 2023-03-17 14:26:25 +01:00
Paul Egberts
8f90d7fe89 Removal of unused files 2023-03-10 14:20:57 +01:00
Arne Morten Kvarving
3fddcc0dd8 split out timing macros to separate header 2023-03-01 13:17:00 +01:00
Tor Harald Sandve
b5fdf35fbc Implement WSF/GSF satfunc familiy for CO2STORE 2023-02-24 15:07:30 +01:00
Kai Bao
83457f679e prototyping for the AQUFLUX parsing implementation
at the end, SOLUTIONSection() function is used to handle the
keywords in the SOLUTION section.
2023-02-17 15:44:08 +01:00
Paul Egberts
039064dc25 added missing *.inl files to make file 2023-02-02 14:05:30 +01:00
Paul Egberts
306dad84ae explicit listing of header files, removed globbing 2023-02-02 13:42:09 +01:00
Paul Egberts
61df4153a7 attempt to fix build error 2023-02-02 11:22:41 +01:00