Commit Graph
100 Commits
Author SHA1 Message Date
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
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
Bård Skaflestad fe96a7181d Merge pull request #4333 from akva2/msw_primaries
added: MultisegmentWellPrimaryVariables
2022-12-19 14:01:29 +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
Bård Skaflestad 4827de23ce Merge pull request #4322 from bska/conditional-infostep-output
Don't Output INFOSTEP File by Default
2022-12-15 17:46:03 +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 81650a620d Merge pull request #4320 from blattms/honor-multz--with-pinch
Honor MULTZ- when determining TRANSZ over pinched cells (pinch all)
2022-12-14 15:04:22 +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
Bård Skaflestad bb649097b9 Merge pull request #4317 from akva2/adjust_enums
Adjust to upstream enum entry changes
2022-12-12 23:57:09 +01:00
Bård Skaflestad 1de821ca62 Merge pull request #4314 from akva2/epsscalingpoints_encapsulate
add missing include
2022-12-12 09:43:36 +01:00
Bård Skaflestad ba54effb6a Merge pull request #4313 from akva2/epsgridprops_encapsulate
RelpermDiagnostics: add more forwards
2022-12-09 23:11:35 +01:00
Bård Skaflestad 4e3eea0447 Merge pull request #4312 from bska/capture-convergence-history
Capture Timestep's Non-Linear Convergence History
2022-12-09 16:36:30 +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 8997437ede Merge pull request #4305 from bska/activate-welpi-regression-tests
Enable Regression Testing of WELPI and CPI/CTFAC
2022-12-09 16:19:48 +01:00
Bård Skaflestad 364b87afc9 Enable Regression Testing of WELPI and CPI/CTFAC
Forgotten at the time we developed the WELPI support.
2022-12-09 13:09:02 +01:00
Bård Skaflestad f42beb24f4 Merge pull request #4303 from akva2/remove_material
adjust jenkins script and buildsystem
2022-12-09 12:48:35 +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 1221936791 Merge pull request #4311 from bska/publish-component-names
Capture Component Names in Independent Datastructure
2022-12-09 10:13:42 +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
Bård Skaflestad 58cf299171 Merge pull request #4306 from akva2/msw_assemble
add: MultisegmentWellAssemble
2022-12-05 15:45:23 +01:00
Bård Skaflestad 4f38217fc8 Merge pull request #4302 from akva2/msw_equations
Added: MultisegmentWellEquations
2022-12-05 11:05:31 +01:00
Bård Skaflestad e7b620dcb2 Merge pull request #4278 from tskille/supported_keyw
Updates related to unsupported keywords and options
2022-12-02 14:02:15 +01:00
Bård Skaflestad a57d73336d Merge pull request #4304 from GitPaean/fixing_cpi_output
using correct CPI indices for connections in WellState::reportConnections()
2022-12-01 16:15:36 +01:00
Bård Skaflestad 2e15513b43 Merge pull request #4300 from akva2/msw_simplify_invert
MSWellHelpers: reverse order of template parameters
2022-12-01 00:02:35 +01:00
Bård Skaflestad 79c8bc75bc Merge pull request #4299 from akva2/remove_test_ecl_output
remove test_ecl_output
2022-11-30 16:39:41 +01:00
Bård Skaflestad 70027d541e Merge pull request #4298 from tskille/gridunit_regtesting
add regression testing for grid unit models
2022-11-30 11:19:37 +01:00
Bård Skaflestad 06b48193b9 Merge pull request #4261 from bska/declare-wrftlplt-supported
Promote Segment Data in WRFTPLT to Supported Status
2022-11-28 14:50:22 +01:00
Bård Skaflestad e3d05d1129 Promote Segment Data in WRFTPLT to Supported Status
While there are a few arrays we admittedly don't create, the level
of support is now sufficiently complete that declaring values other
than 'NO' as "supported" is warranted.
2022-11-28 11:33:34 +01:00
Bård Skaflestad fe7da56268 Merge pull request #4293 from akva2/stdwell_conn
added: StandardWellConnections
2022-11-25 15:31:53 +01:00
Bård Skaflestad a66b9a008e Merge pull request #4294 from akva2/stdwell_avoid_mutable
StandardWell: avoid mutable primary variables
2022-11-25 15:12:00 +01:00
Bård Skaflestad 669c68d803 Merge pull request #4286 from akva2/no_deck_in_simulator
Remove Deck member from simulators
2022-11-24 13:46:52 +01:00
Bård Skaflestad aabf00a3ad Merge pull request #4285 from akva2/use_internalized_thpresft
Use internalized THPRESFT
2022-11-24 12:07:19 +01:00
Bård Skaflestad f401540e22 Merge pull request #4284 from akva2/remove_check_deck
changed: remove EclProblem::checkDeckCompatibility
2022-11-24 10:30:12 +01:00
Bård Skaflestad e524acd5b2 Merge pull request #4283 from akva2/stdwellass_simplify
StandardWellAssemble: simplify by using primary variables class
2022-11-23 23:29:42 +01:00
Bård Skaflestad 5b69890ece Report Solution GOR and OGR at Segment Level
This enables calculating the SOFRF and SGFRF summary vectors.
2022-11-22 18:06:05 +01:00
Bård Skaflestad fa1ea7f997 Merge pull request #4282 from totto82/fixInjTemp2
remove derivative in thermal flux for injectors
2022-11-22 17:29:24 +01:00
Bård Skaflestad ab3da9815d Merge pull request #4279 from akva2/stdwell_primaries
added: StandardWellPrimaryVariables
2022-11-22 13:54:00 +01:00
Bård Skaflestad 9cde51cbc6 Merge pull request #4276 from akva2/stdwell_assemble
Added: StandardWellAssemble
2022-11-22 13:09:46 +01:00
Bård Skaflestad c4fdbedf93 Merge pull request #4268 from akva2/stdwell_eq
added: StandardWellEquations
2022-11-22 11:07:04 +01:00
Bård Skaflestad 910f10d43b Merge pull request #4280 from akva2/well_instantations_simplify
simplify instantations
2022-11-21 16:27:16 +01:00
Bård Skaflestad a9cb568ed0 Merge pull request #4281 from OPM/revert-4262-fixInjTemp2
Revert "remove derivative in thermal flux for injectors"
2022-11-21 15:52:57 +01:00
Bård Skaflestad eeae2442a8 Revert "remove derivative in thermal flux for injectors" 2022-11-21 15:20:45 +01:00
Bård Skaflestad c3dceef6e0 Merge pull request #4237 from akva2/relax_factor_pass_double
changed: pass the actual update value to relaxationFactorRate
2022-11-21 13:49:02 +01:00
Bård Skaflestad 4845ad0107 Merge pull request #4180 from bska/report-segment-dyn-data
Convey More Dynamic State Values per Segment to Output Layer
2022-11-17 12:39:29 +01:00
Bård Skaflestad 936e9e87e7 Convey More Dynamic State Values per Segment to Output Layer
In particular, report local condition segment flow velocities,
segment holdup fractions, and segment phase viscosities.
2022-11-17 11:49:29 +01:00
Bård Skaflestad 085ccccb1e Capture More Dynamic State Per Segment
In particular, calculate segment flow velocities, segment holdup
fractions, and segment phase viscosities when updating the well
state.  This is purely for reporting purposes and does not affect
the multisegmented model.
2022-11-17 11:49:29 +01:00
Bård Skaflestad 2da83fa680 Expose Internal Support for Inferring Rs/Rv From Surface Volumes 2022-11-17 11:49:29 +01:00
Bård Skaflestad 7d9beb3506 Support Using Different Types for Surface and Reservoir Rates
Simplifies using pointers here.
2022-11-17 11:49:29 +01:00
Bård Skaflestad 622321a8e6 Merge pull request #4164 from bska/state-indep-resv-calc
Make Reservoir Voidage Rate Calculator Independent
2022-11-10 13:06:18 +01:00
Bård Skaflestad d388ce40e5 Revert to Original Rs/Rv Calculation Scheme for RESV Rates
Keep the alternative approach in place for reference and
experimental purposes, but disabled by a macro.
2022-11-10 09:41:47 +01:00
Bård Skaflestad f0e2a1efe0 Make Reservoir Voidage Rate Calculator Independent
This commit adds a new overload of the calcReservoirVoidageRates()
member function.  The new overload does not depend on the user
calling defineState(), but instead takes state variables as direct
input arguments.

Reimplement the state-dependent overload in terms of the new
function.  The immediate use case is calculating additional dynamic
quantities per segment in a multisegmented well model, mostly for
reporting purposes.
2022-11-09 17:08:30 +01:00
Bård Skaflestad d8c0057601 Merge pull request #4249 from bska/fix-reported-water-visc
Report Water Viscosity as WAT_VISC
2022-11-07 13:55:34 +01:00
Bård Skaflestad bbb91effae Report Water Viscosity as WAT_VISC
A misprint led to erroneously reporting the gas viscosity here.

Reported by: [at]EdmundStephens on GitHub.
2022-11-07 11:48:41 +01:00
Bård Skaflestad 87bf1b6020 Merge pull request #4245 from GitPaean/typo_correction
fixing some typos in MultisegmentWell_impl.hpp
2022-11-06 12:50:38 +01:00
Bård Skaflestad 1c0f1ad4d0 Merge pull request #4243 from blattms/drop-unused-LinearSolverRequireFullSparsityPattern
Remove ununsed ancient LinearSolverRequireFullSparsityPattern option.
2022-11-04 21:47:27 +01:00
Bård Skaflestad 6607121bcc Merge pull request #4239 from GitPaean/well_state_change_num_segments
we do not copy SegmentState if the segment number changes
2022-11-04 21:22:52 +01:00
Bård Skaflestad d095c8c287 Merge pull request #4242 from blattms/reactivate-use-gmres-flexible-solver
[bugfix] recover support for selecting GMRes as solver.
2022-11-04 21:18:30 +01:00
Bård Skaflestad de3de2cf3b Merge pull request #4236 from akva2/wellinterface_move_is_pressurecontrolled
changed: move isPressureControlled to WellInterfaceGeneric
2022-11-04 15:46:51 +01:00
Bård Skaflestad 203ade29b8 Support Variable Length Connection Data in Distributed Wells
With the addition of tracer information in the data::Rates object
we must relax the assumption that the object is POD.  Switch to
using the Point2PointCommunicator protocol for gathering connection
solutions on the well's owner before transferring well solution
objects to the I/O rank.
2022-11-03 11:37:53 +01:00
Bård Skaflestad c541ed45f5 Merge pull request #4235 from totto82/fixOutputGr
fix group switch logging
2022-11-03 11:26:51 +01:00
Bård Skaflestad cbc0a6ce41 Merge pull request #4227 from blattms/spell-fix
Fixed typo: acess -> access
2022-11-01 22:43:46 +01:00
Bård Skaflestad a49f0bc8c2 Merge pull request #4189 from plgbrts/rwgsalt
removed RWGSALT from unsupported keywords list
2022-11-01 22:11:31 +01:00
Bård Skaflestad daf65f6472 Merge pull request #4225 from GitPaean/removing_number_segments
removing unused number_segments from MultisegmentWell
2022-11-01 15:24:22 +01:00
Bård Skaflestad 73466da197 Merge pull request #4224 from akva2/wellinterface_eval_rename_assemble
Rename WellinterfaceEval to WellAssemble
2022-11-01 13:51:08 +01:00
Bård Skaflestad 5b5daadbfe Merge pull request #4198 from akva2/well_constraints
Add class for well constraints
2022-11-01 11:30:44 +01:00
Bård Skaflestad 4c2ebbd445 Merge pull request #4223 from atgeirr/unhide-option
Unhide NewtonMaxIterations.
2022-10-31 17:48:02 +01:00
Bård Skaflestad dea582d296 Merge pull request #4197 from akva2/well_group_constraints
Add class for well group constraints
2022-10-31 16:12:17 +01:00
Bård Skaflestad 278d7a0551 Merge pull request #4188 from akva2/well_bhp_thp_calc
Put well BHP/THP calculations in separate class
2022-10-31 15:17:17 +01:00
Bård Skaflestad 2840e0cc5f Merge pull request #4195 from akva2/well_group_controls
Add class for well group controls
2022-10-31 12:34:34 +01:00
Bård Skaflestad 86bbd38a55 Merge pull request #4185 from blattms/NewtonMaxIterations
Rename option FlowNewtonMaxIterations to NewtonMaxIterations.
2022-10-29 20:48:53 +02:00
Bård Skaflestad 7b499c4f0a Merge pull request #4199 from akva2/well_test
Add class for well tests
2022-10-29 13:49:22 +02:00
Bård Skaflestad 8316c59fef Merge pull request #4210 from akva2/blackoilwellmodel_guiderates
Add class for guide rate handling for BlackoilWellModel
2022-10-29 12:31:45 +02:00
Bård Skaflestad d1d5ff2831 Merge pull request #4208 from akva2/well_convergence
Add class for checking well convergence
2022-10-28 21:26:17 +02:00
Bård Skaflestad f0d4a68c29 Merge pull request #4209 from akva2/blackoilwellmodel_constraints
Add class for BlackoilWellModel constraints
2022-10-28 21:25:08 +02:00
Bård Skaflestad f373c2f908 Merge pull request #4211 from akva2/blackoilwellmodel_restart
Add class for handling restart initialization in BlackoilWellModel
2022-10-28 16:07:43 +02:00
Bård Skaflestad 9b326f91c5 Merge pull request #4216 from akva2/fix_test_names
fixed: some duplicate test case names
2022-10-28 13:35:23 +02:00
Bård Skaflestad dc2f8685d9 Merge pull request #4207 from atgeirr/fix-schedule-multflt-fastassembly
Fix case with MULTFLT in SCHEDULE for the TpfaLinearizer ("fast assembly" path)
2022-10-27 18:17:24 +02:00
Bård Skaflestad 733eb5989e Merge pull request #4212 from OPMUSER/KRNUM
Remove KRNUM from Unsupported Keyword List (Back-Port)
2022-10-27 16:53:04 +02:00
Bård Skaflestad fd145e2cd7 Merge pull request #4204 from tskille/krnum_cases
start regression testing for krnum cases
2022-10-26 14:39:10 +02:00
Bård Skaflestad edda5f5c8a Merge pull request #4205 from akva2/janitoring
Some janitoring
2022-10-26 11:48:41 +02:00
Bård Skaflestad 9378991243 Merge pull request #4171 from akva2/bcdata_members
Make related BC data a single class member
2022-10-18 13:56:45 +02:00
Bård Skaflestad 1f2496829d Merge pull request #4160 from akva2/optimize_tracer_assembly
Optimize tracer assembly
2022-10-18 11:41:17 +02:00
Bård Skaflestad 36ca7d11e9 Merge pull request #4149 from totto82/improve_conv_thp
Improve convergence for newly opened wells with thp control
2022-10-18 10:26:55 +02:00
Bård Skaflestad 77061d97ca Merge pull request #4173 from blattms/fix-4157
[bugfix] Unconditionally compile WellContributions.cpp et al
2022-10-17 18:09:27 +02:00
Bård Skaflestad 629edd3919 Add Serialization Support for std::bitset<3>
Needed in upcoming work for communicating dynamic phase quantities
per segment in a multisegmented well.
2022-10-14 18:29:52 +02:00
Bård Skaflestad 8162b97c0e Merge pull request #4167 from atgeirr/hide-all-vtk-params
Hide all vtk parameters.
2022-10-14 11:30:29 +02:00
Bård Skaflestad 7096343121 Merge pull request #4162 from akva2/use_range_generators
Use range generators for grid iterations
2022-10-13 23:42:10 +02:00
Bård Skaflestad dd61e79e86 Merge pull request #4166 from GitPaean/removing_GTotal
removing the usage of GTotal in the well code
2022-10-13 23:01:43 +02:00
Bård Skaflestad ec83f37afa Merge pull request #4147 from akva2/tracer_begin_optimize
Optimize EclTracerModel::updateStorageCache
2022-10-13 10:47:51 +02:00
Bård Skaflestad 90ddd13bcc Remove Trailing Semicolon on Function's Close Brace
This removes a GCC warning message on higher warning levels.
2022-10-13 09:57:55 +02:00
Bård Skaflestad 0da2b6e558 Merge pull request #4156 from tskille/add_regtest_krnum
start regression testing for SPE1CASE2_KRNUM
2022-10-12 10:39:11 +02:00
Bård Skaflestad 0a3ede1400 Merge pull request #4151 from GitPaean/wecon_only_producer
only enforcing production economic limit to producers.
2022-10-06 15:44:52 +02:00
Bård Skaflestad 9893f9cea3 Merge pull request #4150 from akva2/janitoring
fixed: add missing includes
2022-10-06 15:44:24 +02:00
Bård Skaflestad 0206627aad Merge pull request #4152 from tskille/add_regtest_wvfpexp02
add regression test for model WVFPEXT-02
2022-10-06 15:43:56 +02:00
Bård Skaflestad 4b7ad47b69 Merge pull request #4146 from akva2/update_property_refactor
Refactor property updating in EclProblem
2022-10-05 17:11:39 +02:00
Bård Skaflestad 5f101a3d58 Merge pull request #4144 from akva2/rename_serialize_object
adjust to renaming of serializeObject
2022-10-04 17:18:15 +02:00
Bård Skaflestad 8d85ffd916 Merge pull request #4142 from atgeirr/rename-sims
Rename flow_blackoil to flow_blackoil_legacyassembly and flow_blackoil_tpfa to flow_blackoil
2022-10-04 12:54:13 +02:00
Bård Skaflestad 66fac184ad Merge pull request #4111 from goncalvesmachadoc/test-rvw
Add unit tests for EQUIL with rvw
2022-10-02 22:11:04 +02:00