Commit Graph

10940 Commits

Author SHA1 Message Date
Arne Morten Kvarving
ed88fa583c add missing include 2024-02-06 10:41:36 +01:00
Bård Skaflestad
97bef564da
Merge pull request #5152 from akva2/simulatorfullyimplicit_janitoring
SimulatorFullyImplicitBlackoil.hpp: Some janitoring
2024-02-06 10:08:05 +01:00
Tor Harald Sandve
2ed3f924f2 Ignore Coordsys and print a warning 2024-02-06 09:29:10 +01:00
Arne Morten Kvarving
a30ed77094 quell rocsparse warnings 2024-02-02 22:50:40 +01:00
Arne Morten Kvarving
d25d4432eb EclInterRegFlows: rename to InterRegFlows 2024-02-02 12:53:11 +01:00
Arne Morten Kvarving
e0c114c1d2 SimulatorFullyImplicitBlackoil: replace typedef with using 2024-02-02 10:30:57 +01:00
Arne Morten Kvarving
c82c3753f2 SimulatorFullyImplicitBlackoil.hpp: header cleanup 2024-02-02 10:30:57 +01:00
Bård Skaflestad
f6c5397af2
Merge pull request #5139 from GitPaean/shutwell_noxflow_zerorate
shutting wells zero rate constraint and not allowing crossflow
2024-02-02 09:59:05 +01:00
Bård Skaflestad
0f5c638947
Merge pull request #5148 from akva2/simulatorfullyimplicit_drop_ebos
SimulatorFullyImplicitBlackoilEbos: rename to SimulatorFullyImplicitBlackoil
2024-02-02 09:49:42 +01:00
Arne Morten Kvarving
e741063306 SimulatorFullyImplicitBlackoilEbos: rename to SimulatorFullyImplicitBlackoil 2024-02-02 08:48:47 +01:00
Arne Morten Kvarving
cb14fff22a rename SimulatorFullyImplicitBlackoilEbos.cpp to SimulatorReportBanners
and add a header
2024-02-02 08:41:35 +01:00
Arne Morten Kvarving
2d70acb8eb remove unused method 2024-02-02 08:30:22 +01:00
Tor Harald Sandve
6afee54ec0
Merge pull request #5140 from svenn-t/fix_grat_solvent
Fix WCONPROD GRAT control mode with solvent
2024-02-02 08:21:39 +01:00
Kai Bao
e5e9143a2a shutting wells zero rate constraint and not allowing crossflow 2024-02-01 23:09:53 +01:00
Bård Skaflestad
a6eb7b65a1
Merge pull request #5149 from akva2/adaptivetimestepping_drop_ebos
AdaptiveTimeSteppingEbos: rename to AdaptiveTimeStepping
2024-02-01 18:36:36 +01:00
Arne Morten Kvarving
cbb8cb29f5 AdaptiveTimeSteppingEbos: rename to AdaptiveTimeStepping 2024-02-01 17:57:59 +01:00
Bård Skaflestad
ba3c64443c
Merge pull request #5150 from akva2/istlsolver_drop_ebos
ISTLSolverEbos: rename to ISTLSolver
2024-02-01 17:43:34 +01:00
Bård Skaflestad
a6054e729f
Merge pull request #5147 from akva2/nonlinearsolver_drop_ebos
NonlinearSolverEbos: rename to NonlinearSolver
2024-02-01 16:49:26 +01:00
Arne Morten Kvarving
b6e47ab1e7 ISTLSolverEbos: rename to ISTLSolver 2024-02-01 15:49:40 +01:00
Arne Morten Kvarving
5bca6c2703 ISTLSolverEbosBda: rename to ISTLSolverBda 2024-02-01 15:49:40 +01:00
Arne Morten Kvarving
0898f525aa NonlinearSolverEbos: rename to NonlinearSolver 2024-02-01 15:14:47 +01:00
Arne Morten Kvarving
d6f59c1d4b
Merge pull request #5134 from lisajulia/feature/NONNC
Feature/NONNC
2024-02-01 15:13:58 +01:00
Bård Skaflestad
71b383d8e7
Merge pull request #5142 from akva2/blackoilmodel_remove_ebos
BlackoilModel: remove Ebos from class names
2024-02-01 12:34:12 +01:00
Arne Morten Kvarving
e13c77ae95 BlackoilModelEbos: rename to BlackoilModel 2024-02-01 09:05:40 +01:00
Arne Morten Kvarving
80d32b105b BlackoilModelEbosNldd: rename to BlackoilModelNldd 2024-02-01 09:05:40 +01:00
Arne Morten Kvarving
dd92a7446c BlackoilModelParametersEbos: rename to BlackoilModelParameters 2024-02-01 09:05:40 +01:00
Arne Morten Kvarving
ce4f138a92 header cleanups 2024-02-01 09:04:21 +01:00
Svenn Tveit
b65f85a6c4 Add solvent rate in GRAT control mode 2024-01-31 18:18:19 +01:00
Arne Morten Kvarving
89880bfe2f damariswriter: properly encapsulate Damaris 2024-01-30 14:19:20 +01:00
Arne Morten Kvarving
aa37225ad1 GridDataOutput: use implicit std::string constructor 2024-01-30 13:19:13 +01:00
Arne Morten Kvarving
a588d4196d GridDataOutput: avoid stringstream member 2024-01-30 13:19:12 +01:00
Arne Morten Kvarving
54c386ae2c GridDataOutput: add const correctness 2024-01-30 13:19:00 +01:00
Arne Morten Kvarving
26d3802ea6 GridDataOutput: remove parantheses in return statements 2024-01-30 13:19:00 +01:00
Arne Morten Kvarving
02fbadb809 GridDataOutput: add translation unit 2024-01-30 13:18:59 +01:00
Bård Skaflestad
472199f63d
Merge pull request #5132 from blattms/fix-shared-linking
Fix linking errors when using shared libraries.
2024-01-30 11:02:51 +01:00
Bård Skaflestad
008e1c93c3
Merge pull request #5133 from akva2/damarisvar_cleanup
DamarisVar: Some cleanup
2024-01-30 11:01:07 +01:00
Bård Skaflestad
7a4a060594
Merge pull request #5130 from akva2/hdf5serializer_move
HDF5Serializer: move out of ebos folder
2024-01-30 10:50:22 +01:00
Arne Morten Kvarving
498f1b6b50 DamarisVar: remove unused base class DamarisVarBase
no reason to pay the price of virtual dispatch when nothing
use the base class
2024-01-30 09:58:37 +01:00
Arne Morten Kvarving
bee1555d25 DamarisVar::TestType: simplify using a lambda 2024-01-30 09:54:31 +01:00
Arne Morten Kvarving
bdc0790eb8 DamarisVar::returnXMLForVariable: simplify using fmt 2024-01-30 09:36:31 +01:00
Arne Morten Kvarving
033943e42e DamarisXMLAttributes::ReturnXMLForVariable
simplify using lambda and for_each
2024-01-30 09:34:00 +01:00
Arne Morten Kvarving
cfd5af89b0 DamarisVar: avoid stringstream member 2024-01-30 09:25:18 +01:00
Arne Morten Kvarving
3f842cd67f DamarisVar: add translation unit 2024-01-30 09:02:20 +01:00
Arne Morten Kvarving
4f76bd0972 DamarisVar: make TestType private 2024-01-30 09:01:25 +01:00
Arne Morten Kvarving
125431f326 DamarisVar: remove paranthesis is return statements
not consistent with code style
2024-01-30 09:01:25 +01:00
Arne Morten Kvarving
aa2af11016 DamarisVar: make accessors const 2024-01-30 08:58:32 +01:00
Arne Morten Kvarving
8ad5e3a974 DamarisVar: mark virtual method overrides as such 2024-01-30 08:32:23 +01:00
Arne Morten Kvarving
3024379bed DamarisVar: remove void in parameter lists
not consistent with the code style
2024-01-30 08:26:20 +01:00
Arne Morten Kvarving
3849febe99 DamarisVar: pass parameters by reference 2024-01-30 08:20:04 +01:00
Arne Morten Kvarving
3d1b4796fd DamarisVar: remove empty string assignment
strings are properly empty initialized
2024-01-30 08:15:32 +01:00
Kai Bao
2ddba5b339
Merge pull request #5128 from steink/fix_network_convergence_issues
Fix network convergence issues
2024-01-30 00:17:09 +01:00
Lisa Julia Nebel
e346315fa2 Remove NONNC from the UnsopportedFlowKeywordList 2024-01-29 18:46:59 +01:00
Bård Skaflestad
d94ae5dad6
Merge pull request #5131 from akva2/damaris_janitoring
Damaris: avoid signed/unsigned comparison warnings
2024-01-29 17:05:18 +01:00
Markus Blatt
819842d7cf Fix linking errors when using shared libraries.
We accomplish that by passing the module version as a string to the
constructors of LogOutputHelper and EclGenericOutputBlackoilModel
instead of calling moduleVersionName() in LogOutputHelper. That way
moduleVersionName is not needed by libopmsimulators anymore and
compilation works again for people requesting shared libraries via
CMake's BUILD_SHARED_LIBS variable.
2024-01-29 16:37:38 +01:00
Arne Morten Kvarving
99b4aae148 Damaris: avoid signed/unsigned comparison warnings
while at it use std::size_t
2024-01-29 14:34:31 +01:00
Bård Skaflestad
859db850c0
Merge pull request #5111 from lisajulia/feature/deterministic-indicesSyncer
Construct the matrices in the AMG hierarchy with deterministic indices.
2024-01-29 13:37:54 +01:00
Kai Bao
f0fab97bb6
Merge pull request #5124 from vkip/revert_always_open_history_wells
Revert always open history wells
2024-01-29 10:10:55 +01:00
Arne Morten Kvarving
800422bd17 HDF5Serializer: add translation unit 2024-01-29 10:00:48 +01:00
Arne Morten Kvarving
96a3a6d45a changed: move hdf5serializer to opm/simulators/utils/HDF5Serializer.hpp
does not interact with typetag system
2024-01-29 09:42:49 +01:00
Stein Krogstad
97477ea593 avoid re-opening previously stopped wells 2024-01-26 16:24:09 +01:00
Stein Krogstad
24c4f75ecb Use stricter tolerance when dynamic thp 2024-01-26 15:02:14 +01:00
Stein Krogstad
a9ab62e6b8 Don't set lower bound on network update 2024-01-26 14:58:06 +01:00
Lisa Julia Nebel
6dfa9b1b76 Add comment on trailing return type with decltype that is used for detecting the signature of the coarsen function of the Dune::Amg::IndicesCoarsener 2024-01-26 14:29:19 +01:00
Lisa Julia Nebel
74608147c0 Add comment on trailing return type with decltype that is used for detecting the existence of setUseFixedOrder member function 2024-01-26 14:29:15 +01:00
Lisa Julia Nebel
5b50a4801f Construct the matrices in the AMG hierarchy (created in the twolevelmethod) with deterministic indices if possible.
The function 'coarsen' for the coarser level is called with the respective flag if it is defined. Then the matrices in the AMG hierarchy are constructed with deterministic indices.
If it is not defined yet, it is called without the flag and the matrices in the AMG hierarchy are constructed with non-deterministic indices.
2024-01-26 13:51:41 +01:00
Vegard Kippe
31b46b4829 Revert the choice to open history wells at every step, since this may cause some models to be stuck at very short time steps. 2024-01-26 12:05:26 +01:00
Tor Harald Sandve
de05c84b1d Add co2 mass in place summary vectors 2024-01-26 09:15:43 +01:00
Atgeirr Flø Rasmussen
2626fbb84b
Merge pull request #5002 from multitalentloes/add_cudilu
Add cudilu
2024-01-25 15:43:39 +01:00
Bård Skaflestad
d2af824b27
Merge pull request #5120 from atgeirr/avoid-nldd-crash
Avoid illegal combination of options.
2024-01-25 15:38:36 +01:00
Tobias Meyer Andersen
4b0dd54f15 Add CUDA implementation of the DILU
preconditioner. Uses graph coloring to exploit
parallelism in upper and triangular solves when
computing a diagonal approximate inverse of a
sparse matrix. Supports blocksizes up to 3.
2024-01-25 14:26:38 +01:00
Lisa Julia Nebel
60b0a33bd4 Construct the matrices in the AMG hierarchy (created in the PreconditionerFactory) with deterministic indices if possible.
The function 'setUseFixedOrder' is called if it is defined and the matrices in the AMG hierarchy are constructed with deterministic indices.
If it is not defined yet, it is not called and the matrices in the AMG hierarchy are constructed with non-deterministic indices.
2024-01-25 11:32:09 +01:00
Bård Skaflestad
6dd043446e Communicate Dynamic Transmissibility Multiplier to Output Layer
This commit captures the rock compaction transmissibility multiplier
in the 'PerfData' during the non-lienear iterations and communicates
the converged value back to the output layer through the new data
member to the data::Connection structure,

    double data::Connection::compact_mult
2024-01-25 09:35:08 +01:00
Bård Skaflestad
8a8af09e7a Defer More Static D-Factor Calculation to Connection Class
In particular, we don't need the porosity value anymore now that the
"getDFactor()" function takes only the component density of gas at
surface conditions, the current dynamic gas viscosity at reservoir
conditions and a Connection object.

While here, split a few long lines and make more objects 'const' for
better maintainability.
2024-01-24 18:03:09 +01:00
Atgeirr Flø Rasmussen
3c4dd1f3b7 Avoid illegal combination of options.
NLDD requires --matrix-add-well-contributions=true for now.

Also: minor improvement to well rank and subdomain output clutter.
2024-01-24 14:19:07 +01:00
Atgeirr Flø Rasmussen
7c2f01996a Add cpr_trueimpesanalytic option for LinearSolver parameter. 2024-01-24 13:03:18 +01:00
Bård Skaflestad
eb9ead5577 Support at Least NTFIP Distinict Regions for Inter-Region Flow
This commit ensures that we have backing support for region IDs up
to and including NTFIP (TABDIMS(5), REGDIMS(1)).  The existing setup
would fail (segmentation violation) in the case of a summary vector
of the form

    ROFT
      36 31 /
    /

when the maximum FIPNUM value was 30.  We nevertheless support
maximum FIPNUM values exceeding NTFIP.

We add a new optional parameter to the EclInterRegionFlowMap
constructor.  The parameter allows client code to specifiy a
"minimum maximum" region ID that all ranks must support.  This value
will be enforced during parallel aggregation.
2024-01-24 09:54:44 +01:00
Bård Skaflestad
24ebb77257
Merge pull request #5116 from atgeirr/parallel-well-domain-output
Parallel well domain and error logging for NLDD
2024-01-23 15:41:11 +01:00
Atgeirr Flø Rasmussen
9102b2a352 Use to_string() for WellFailure.
New functionality added is local well failure logging for NLDD.
2024-01-23 11:52:22 +01:00
Atgeirr Flø Rasmussen
04492413ff Move formatting utilities for convergence failures.
This makes them available for use in other places. The function
std::string to_string(const ConvergenceReport::WellFailure& wf) is new,
but uses the format already established.
2024-01-23 11:16:57 +01:00
Arne Morten Kvarving
98c704c1c3 changed: move ebos/eclmpiserializer.hh to opm/simulators/utils/MPISerializer.hpp
it does not use the typetag system
2024-01-23 10:51:32 +01:00
Arne Morten Kvarving
873102e9ea added: RST CONV support for polymer, solvent and brine 2024-01-22 09:58:06 +01:00
Atgeirr Flø Rasmussen
1842df7cfd Output well subdomain info properly in the parallel case. 2024-01-19 16:15:53 +01:00
Atgeirr Flø Rasmussen
ae838d0b84
Merge pull request #5103 from hnil/trueimpesanalytic
add analytic true impes
2024-01-18 22:51:57 +01:00
hnil
bec5a233eb removed more warings and a bug for strange index settings 2024-01-18 18:25:50 +01:00
hnil
cced62edc0 fixed warning 2024-01-18 18:18:42 +01:00
hnil
be27e2388d fixed name in cpp file 2024-01-18 11:40:59 +01:00
hnil
1900379343 changes to adjust to review comments 2024-01-18 10:37:48 +01:00
Atgeirr Flø Rasmussen
a52bcf51b1 Initialize the communication object in initialize(). 2024-01-17 12:39:52 +01:00
Arne Morten Kvarving
be84969338 added: hook up RPTRST CONV output to restart file if requested 2024-01-16 12:58:02 +01:00
Bård Skaflestad
ceffbd2fc5 Chase Constructor API Change for Opm::Connection Class 2024-01-15 11:05:02 +01:00
Bård Skaflestad
534465d212
Merge pull request #5104 from atgeirr/nldd-improved-reporting
Nldd improved reporting
2024-01-15 11:00:58 +01:00
Atgeirr Flø Rasmussen
6eb670b5c7 Improve parallel logging in NLDD solver. 2024-01-15 09:08:52 +01:00
hnil
61329532a7 -- add true impes
-- moved code to hpp to avoid unnesseary logic
2024-01-12 15:33:09 +01:00
Tor Harald Sandve
d72ea5fcb0 add option for explicit pressure for rock compaction (only transmissibility) 2024-01-11 16:09:08 +01:00
Atgeirr Flø Rasmussen
b9b42a01cc Catch exceptions from local solves. 2024-01-11 14:14:00 +01:00
Tor Harald Sandve
20fb8fa699 Fix minimum newton iteration
We also change the default to 2 to keep the same results
2024-01-11 09:17:50 +01:00
Arne Morten Kvarving
ec9c704def cosmetics and header cleanups in damaris classes 2024-01-10 14:16:02 +01:00
Arne Morten Kvarving
ed28d7c9ef changed: move damaris command line properties to separate file
to avoid pulling in the whole writer in DamarisKeywords.hpp
2024-01-10 14:16:02 +01:00
Arne Morten Kvarving
240e0dd04f fixed: add header guard to DamarisOutputModule.hpp 2024-01-10 14:16:02 +01:00
Arne Morten Kvarving
e686fabb39 added: class for calculating RPTRST CONV 2024-01-10 13:07:34 +01:00
Stein Krogstad
cdb43d917b Include all derivatives for acceleration term in MS wells 2024-01-09 11:59:07 +01:00
Tor Harald Sandve
3cb5b48d60
Merge pull request #5066 from vkip/wdfac_cqmult
Use connection rates satisfying the connection IPR when evaluating flow-dependent skin
2024-01-09 09:04:02 +01:00
Bård Skaflestad
60c7c79f58 Output Well Flow Sheets for All Wells
There is no need to restrict PRT file flow reports to those wells
which are active on the current rank since the SummaryState object
holds information for all wells active at the current report step.
2024-01-08 08:58:51 +01:00
Bård Skaflestad
5e9bdfd342
Merge pull request #5085 from blattms/mark-skip-endskip-supported
Mark keywords SKIP, SKIP100, SKIP300, and ENDSKIP as supported.
2024-01-04 11:42:07 +01:00
Torbjørn Skille
72892f0c4b PRT file updates
* Arrays genarated from RPTSOL + FIP is now strictly following Eclipse format
* Adding reservoir volume array also for custom FIP regions
2024-01-03 21:47:54 +01:00
Markus Blatt
0c01a3ac50 Mark keywords SKIP, SKIP100, SKIP300, and ENDSKIP as supported.
Follow up to OPM/opm-common#3817 which implements the support for
these keywords.
2024-01-02 11:06:33 +01:00
Arne Morten Kvarving
165b57c66a Aquifer***: clean up includes 2024-01-02 10:39:59 +01:00
Arne Morten Kvarving
6f4ecd13d8 AdaptiveTimeSteppingEbos: remove unnecessary ScheduleState.hpp include 2024-01-02 10:18:36 +01:00
Tor Harald Sandve
f508f3d4e8 add output of dissolved solvent rswsol 2023-12-21 10:48:58 +01:00
Vegard Kippe
b7b99a2445 Fixed var names 2023-12-20 15:06:01 +01:00
Vegard Kippe
32634f47d1 Properly check both positive and negative solutions to the connection IPR with flow-dependent skin 2023-12-20 14:20:50 +01:00
Vegard Kippe
ab690980de Pick valid rate or use zero flow-dependent skin 2023-12-20 14:20:50 +01:00
Vegard Kippe
d252f069e4 Test using rate consistent D-factor transmissibility multipliers 2023-12-20 14:20:50 +01:00
Bård Skaflestad
b30bfb5b1b
Merge pull request #5073 from atgeirr/fix-output-dir
Avoid modifying outputDir, leave empty if defaulted.
2023-12-19 16:50:27 +01:00
Arne Morten Kvarving
de9c3ddfda added: test for outputdir 2023-12-19 15:21:58 +01:00
Arne Morten Kvarving
c95cd5b147 added: bool param to flag that Main.hpp should not initialize/finalize MPI
needed for tests
2023-12-19 15:12:44 +01:00
Atgeirr Flø Rasmussen
093b346426 Avoid modifying outputDir, leave empty if defaulted.
Handle this case for Damaris, which needs to be told the output dir
before this is available from the IOConfig.
2023-12-19 15:12:44 +01:00
Stein Krogstad
e908c95ca2 Avoid call to saturationPressure 2023-12-19 09:54:52 +01:00
Atgeirr Flø Rasmussen
01b76e2658 Order variables the same as in constructor init list. 2023-12-15 14:23:55 +01:00
Atgeirr Flø Rasmussen
1dbd971710
Merge pull request #4889 from jcbowden/damariswriter-for-sim-fields-v5
Geometric mesh data added for Damaris in-situ visualisation
2023-12-15 10:18:00 +01:00
Josh Bowden
4db49a3785 Reformat using clag-format with default OPM format guide 2023-12-14 17:30:21 +01:00
Josh Bowden
8094504018 Jenkins build error issue fix for unused typedefs 2023-12-14 12:39:18 +01:00
Josh Bowden
55dc80725f Improved in-line help comments; output MPI cell values to HDF5 only when saving mesh to HDF5; removed timing data 2023-12-14 10:27:05 +01:00
Bård Skaflestad
fc73a51310
Merge pull request #4873 from vkip/wsegvalv_uda_item4
Allow UDA for WSEGVALV item 4
2023-12-13 21:19:27 +01:00
Josh Bowden
e16cd9a3b3 finalise the PR 4889 modifications - added command line option to specifiy the shared memory file name in the <buffer> XML element --damaris-shared-memory-name which will be a randomised string opm-damaris-<random-string> for better multi-simulation behaviour when running more than one simulation on a single node. 2023-12-13 18:14:45 +01:00
Josh Bowden
757a96941a final review changes from PR 4889 and added extra command line argument to output mesh data --damaris-save-mesh-to-hdf 2023-12-13 18:14:37 +01:00
Josh Bowden
9309f5a1bd overhaul of GridDataOutput class to accept a vector type so that raw pointers are not overrun, this has lead to finding a good way to get the size of the data area that is alloacted by the DamarisVar wrapper class for damaris_alloc() 2023-12-13 18:14:06 +01:00
Josh Bowden
54d6db6f35 Update 1 for code after code review of PR 4889 2023-12-13 18:13:55 +01:00
Markus Blatt
4f619f8f38 Also print information about parallel run to PRT file.
Up to now this information is only output to standard out.
To help with debugging and replicating (e.g. in case of crashes)
without saved standard putput, we now also print the imformation about
MPI processes and OMP threads to the PRT file.
2023-12-13 16:42:02 +01:00
Vegard Kippe
fcc3a19a42 Explicit cast to avoid narrowing warning. 2023-12-13 14:34:36 +01:00
Arne Morten Kvarving
6e21bdb35b GroupEconomicLimitsChecker: use std::array 2023-12-12 15:56:08 +01:00
Arne Morten Kvarving
d9cd6b51c3 GroupEconomicLimitsChecker::closeWellsRecursive: pass group as const ref 2023-12-12 15:53:37 +01:00
Arne Morten Kvarving
825b4b6677 GroupEconomicLimitsChecker: cleanup includes 2023-12-12 15:51:37 +01:00
Vegard Kippe
62de832e8b Post review update 2023-12-12 09:52:01 +01:00
Vegard Kippe
62ac4dc663 Take default UDQ value from UDQPARAM 2023-12-12 09:52:01 +01:00
Vegard Kippe
15305e467d Allow UDA for WSEGVALV item 4 2023-12-12 09:51:50 +01:00
Bård Skaflestad
5c9e86666c Publish Short Region Set Names Only
That way, in-place quantities will go through the short-to-canonical
name translation in FieldProps regardless of their origin--e.g.,
RPTSOL/RPTSCHED or explicit SUMMARY section vectors.
2023-12-11 17:01:40 +01:00
Bård Skaflestad
922cd86d59
Merge pull request #5056 from akva2/janitoring
GasLiftXXX: clean up includes
2023-12-11 16:57:21 +01:00
Arne Morten Kvarving
035bd3a725 GasLiftXXX: clean up includes
in particular avoid including GasLiftStage2.hpp in BlackoilWellModel
2023-12-11 15:55:05 +01:00
Bård Skaflestad
c03f794f9c Remove Dashed Lines Between Records in PRT File Reports
This commit splits the production, injection, and cumulative
*Report_() functions into three logically distinct parts, one for
outputting the report header (begin*Report_()), one for outputting a
single report record (output*ReportRecord_()), and one for ending
the report (end*Report_()).  This simplifies the logic of the
*Record_() member functions since they no longer need to infer the
context which is already available in the caller and can perform a
more narrow task than before.

With this separation we're also able to remove the dashed lines
which would previously separate each report record, thereby creating
PRT file report sheets which have a more expected layout.

Moreover, as an aid to future maintenance, we also factor out common
code for the well and group cases in each *Record_() function.

Finally, fix a unit conversion problem in the report values for
cumulative gas quantities.  The sheet header states that we should
be outputting values in 'MM' prefixed units, but we were only
scaling the gas values by a factor of 1000 instead of 1000*1000.  In
other words, the injection and production gas values in the
cumulative sheet were off by a factor of 1000.
2023-12-11 10:01:22 +01:00
Arne Morten Kvarving
7841f6abcb remove dead store 2023-12-08 18:42:41 +01:00
Arne Morten Kvarving
3534c6d1fa mark overriden virtual method as such 2023-12-08 18:42:21 +01:00
Arne Morten Kvarving
269d1877f7 SerializableSim: add virtual dtor 2023-12-08 18:42:07 +01:00
Atgeirr Flø Rasmussen
a52877081e
Merge pull request #5046 from blattms/comm-exception-wetgaspvt-sat-pressure
[fix,MPI] Handle exception during assembleWellEqWithoutIteration correctly
2023-12-08 13:02:42 +01:00
Josh Bowden
0f1d31c88a sets the SHMEM buffer name to be the same as the simulation name, usefull if running multiple simulations on the same machine, so that buffers are not removed by other simulations 2023-12-08 11:00:22 +01:00
Josh Bowden
89fabf132e adding command line option to specify the dask file being used --damaris-dask-file= that will add the file name to the Daamris XML configuration file 2023-12-08 10:59:51 +01:00
Bård Skaflestad
ec549df37b Remove Spurious Blank Lines in PRT File Reports
The StreamLog::addMessageUnconditionally() member function will end
each message with a newline (std::endl) so we should not add such
newlines ourselves.  The extra newline characters produce spurious
blank lines in the report sheets, e.g., for the "PRODUCTION REPORT".

This commit removes the last newline character from each report
request, thus deferring that responsibility to OpmLog::note()
instead.  Doing so, however, means we have take a little more care
with the first line of each report lest we create report sheets
which are smushed together.
2023-12-08 10:22:43 +01:00
Stein Krogstad
051f4d4eab Remove early-return functionality due to unintended consequences 2023-12-08 00:36:39 +01:00
Markus Blatt
50e1d09a8c Add semicolon to help with indentation. 2023-12-07 16:41:16 +01:00
Markus Blatt
260dac77a5 [MPI] Handle exception during assembleWellEqWithoutIteration correctly
For this particular model WetGasPVT::saturationPressure did throw
because convergence in the newton solver is not reached in 20
iterations. Unfortunately, the exception was only seen on one MPI rank
and the others continued.

With this commit we communicate the problem and throw on all MPI
processes. Time step will be cut as a result.
2023-12-07 15:41:35 +01:00
Stein Krogstad
7c91c015cf updates according to Atgeirrs comments 2023-12-07 13:09:00 +01:00
Stein Krogstad
1fd1c5afc6 Updates according to Atgeirr's comments 2023-12-07 13:09:00 +01:00
Stein Krogstad
00bd006eb4 Fix bugs 2023-12-07 13:09:00 +01:00
Stein Krogstad
94cde80235 always set wells operable to avoid skipping linear solve/updating 2023-12-07 13:09:00 +01:00
Stein Krogstad
2121373e4f clean-up 2023-12-07 13:09:00 +01:00
Stein Krogstad
5083052a3f clean-up, fixing and add debug info 2023-12-07 13:09:00 +01:00
Stein Krogstad
743c7bd120 add argument to get proper conv for well-copies 2023-12-07 13:09:00 +01:00
Stein Krogstad
9a5aef6e5e move function for proper access to well_state 2023-12-07 13:09:00 +01:00
Stein Krogstad
88ede7b7fc revert to original 2023-12-07 13:09:00 +01:00
Stein Krogstad
ee16e90ba2 fix well-convergence for well-copies 2023-12-07 13:09:00 +01:00
Stein Krogstad
73ec44d9c4 include use-implicit-ipr as paramaeter 2023-12-07 13:09:00 +01:00
Stein Krogstad
03366b92eb include thp-solve for potentials 2023-12-07 13:09:00 +01:00
Stein Krogstad
44e17fa615 cleanup thp-solve 2023-12-07 13:09:00 +01:00
Stein Krogstad
3e6732a67b rename to implicit_ipr 2023-12-07 13:09:00 +01:00
Stein Krogstad
746e05db5d Include implicit ipr for ms-wells 2023-12-07 13:09:00 +01:00
Stein Krogstad
b287981e5e testing 2023-12-07 13:09:00 +01:00
Stein Krogstad
7aa50f149f updates 2023-12-07 13:09:00 +01:00
Stein Krogstad
2470b20d13 final revert 2023-12-07 13:09:00 +01:00
Stein Krogstad
94c0b49cf7 revert changes 2023-12-07 13:09:00 +01:00
Atgeirr Flø Rasmussen
446670943a
Merge pull request #5042 from akva2/serializer_throw_early_no_hdf5
changed: throw early in simulator serializer
2023-12-07 10:42:01 +01:00
Bård Skaflestad
d2ee47de7f
Merge pull request #5041 from steink/prevent_nans_for_valve_models
Guard against nans from certain expressions in the valve models
2023-12-06 19:42:32 +01:00
Stein Krogstad
4355a94511 make reference to parameter 2023-12-06 14:45:18 +01:00
Arne Morten Kvarving
4eeefabedd changed: throw early in simulator serializer
if HDF5 input/output is requested but no support is available
we throw early instead of just logging an error when save/load
is to be performed
2023-12-06 10:03:29 +01:00
Markus Blatt
faad3a6ee5
Merge pull request #4811 from akva2/simulator_serializer_class
Move simulator serialization to separate class
2023-12-06 10:02:26 +01:00
Markus Blatt
abd387abba
Merge pull request #5036 from blattms/comm-sigular-mat-exception
Communicate exceptions during WellModel::updateAndCommunicate
2023-12-06 09:54:00 +01:00
Stein Krogstad
a483839caa return zero for powers with negative base 2023-12-05 21:28:54 +01:00
Arne Morten Kvarving
f46b6c5a01 changed: move simulator serialization to separate class
more separation of concerns
2023-12-05 11:20:22 +01:00
Arne Morten Kvarving
eb599af058 add missing header 2023-12-05 11:00:56 +01:00
Markus Blatt
3a9c586d19 Make sure that problems with singular matrices are logged.
Previously, if the problem occured on an MPI process with rank other
than zero the the logging would not seen (at least in the output
files). Now together with the previous commit the problem should be
logged together with the well name and calling method.
2023-12-04 23:15:08 +01:00
Markus Blatt
779dd74923 Communicate exceptions during WellModel::updateAndCommunicate
For multi segment well the underlying call to
MultisegmentWell::updateWellStateWithTarget (at least if
updateWellStateWithTHPTargetProd is called for a producer under thp
control) might throw as there might be a singular matrix during the
solve needed in MultisegmentWell::iterateWellEqWithControl.

Previously, if that happened then the MPI process where it happened would
stop the nonlinear iteration as failed and try with a chopped time
step. The others might go one with the current time step and we would
see MPI errors about truncated messages.

Now we communicate any exception happening during this part of
WellModel::updateAndCommunicate and all processes will stop the
nonlinear iteration as failed and chop the time step.
2023-12-04 22:26:55 +01:00
Bård Skaflestad
338c210985
Merge pull request #5034 from akva2/fix_fip_no_summary_kw
fixed: grab list of FIP regions from FieldPropsManager
2023-12-04 17:46:00 +01:00
Arne Morten Kvarving
d120fe1ebc fixed: grab list of FIP regions from FieldPropsManager
not from SummaryConfig. the latter only holds regions with
summary keywords
2023-12-04 13:24:32 +01:00
Vegard Kippe
55067636f4 Ensuring that the UDA is updated every time step, not just only report step. 2023-12-01 19:44:09 +01:00
Vegard Kippe
fa6697a5fa Capture reference in lambda 2023-12-01 13:30:48 +01:00
Vegard Kippe
69f82f1104 Allow using UDQ for WCONPROD item 12 (ALQ) 2023-12-01 13:21:34 +01:00
Vegard Kippe
17452e0fc6 Adding const 2023-12-01 09:34:42 +01:00
Vegard Kippe
0acb148ba7 Using std::exception 2023-11-30 16:13:40 +01:00
Vegard Kippe
2294983759 Catch exceptions from well testing (often: inf/nan in MSW matrices). 2023-11-29 09:17:53 +01:00
Antonella Ritorto
8017ff9a02 add cartesianCoordianteLevel in ALUCartIdxMapp, used in RelperDiag 2023-11-28 15:47:00 +01:00
Bård Skaflestad
5fe1eafb34
Merge pull request #5026 from totto82/fix_gpmaint2
Bugfix sign of gpmaint prod
2023-11-28 11:16:03 +01:00
Tor Harald Sandve
f7323bd679 fix sign of gpmaint prod 2023-11-27 15:10:11 +01:00
Atgeirr Flø Rasmussen
cb3ab14a71
Merge pull request #5025 from blattms/expect-singular-matrices-upate-WellControl
[bugfix] Expect singular matrices, terminate updateWellControls/nonlinear and cut timestep
2023-11-27 08:42:11 +01:00
Markus Blatt
31ab752ae6 [fix] Parallel try-catch also added for updateWellControls for groups.
Not sure whether this is needed, but better safe than sorry.
2023-11-25 21:04:13 +01:00
Markus Blatt
50c25ead52 [bugfix] Expect singular matrices and terminate updateWellControls.
We are experiencing singular matrices when solving mulisegment wells
sometimes. In that case (here during
BlackoilModelEbos::assembleReservoir <-
BlackoilModelEbos::initialLinerization <-
BlackoilModelEbos:::nonlinearIterationNewton ) an exception is thrown
when updating the controls of a well.

The problem here is that this exception only happens on one
process. That one goes to the catch block in
NonLinearSolverEbos::step, marks the nonlinear solve as failed and
cuts the time step. The others move to the collective communication
below. Somehow and somewhen all end up in a non-matching collective
communication with different data types and we get an MPI Error that
the message was truncated.

Now all processes will throw, terminate the nonlinear solver and cut
the timestep as it should be.
2023-11-25 19:32:11 +01:00
Bård Skaflestad
a6d583b9d0
Merge pull request #5024 from blattms/not-warn-loadStep-OutputDir
Do not warn about OutputDir when combined with LoadStep.
2023-11-24 19:03:52 +01:00
Bård Skaflestad
6b78dd4ad4
Merge pull request #5021 from atgeirr/nldd-refinements
Nldd refinements
2023-11-24 16:40:39 +01:00
Atgeirr Flø Rasmussen
6945b927ec Minor refactoring of domain ordering for NLDD. 2023-11-24 14:57:45 +01:00
Markus Blatt
fa10546c0a Do not warn about OutputDir when combined with LoadStep.
Both can safely be used together.
2023-11-24 13:28:20 +01:00
Markus Blatt
24408862ff
Merge pull request #5008 from aritorto/compressedLevelZero
compressedLevelZero used to read relative permeability
2023-11-24 13:21:23 +01:00
Bård Skaflestad
cd94ac3a7c
Merge pull request #5023 from totto82/wpimult
Adapt wdfac to wpimult
2023-11-23 16:28:32 +01:00