20#ifndef OPM_BLACKOILMODELPARAMETERS_EBOS_HEADER_INCLUDED
21#define OPM_BLACKOILMODELPARAMETERS_EBOS_HEADER_INCLUDED
23#include <opm/models/utils/propertysystem.hh>
24#include <opm/models/utils/parametersystem.hh>
28namespace Opm::Properties {
34template<
class TypeTag,
class MyTypeTag>
38template<
class TypeTag,
class MyTypeTag>
42template<
class TypeTag,
class MyTypeTag>
46template<
class TypeTag,
class MyTypeTag>
50template<
class TypeTag,
class MyTypeTag>
54template<
class TypeTag,
class MyTypeTag>
58template<
class TypeTag,
class MyTypeTag>
62template<
class TypeTag,
class MyTypeTag>
66template<
class TypeTag,
class MyTypeTag>
70template<
class TypeTag,
class MyTypeTag>
74template<
class TypeTag,
class MyTypeTag>
78template<
class TypeTag,
class MyTypeTag>
82template<
class TypeTag,
class MyTypeTag>
86template<
class TypeTag,
class MyTypeTag>
90template<
class TypeTag,
class MyTypeTag>
94template<
class TypeTag,
class MyTypeTag>
98template<
class TypeTag,
class MyTypeTag>
102template<
class TypeTag,
class MyTypeTag>
106template<
class TypeTag,
class MyTypeTag>
110template<
class TypeTag,
class MyTypeTag>
115template<
class TypeTag,
class MyTypeTag>
119template<
class TypeTag,
class MyTypeTag>
123template<
class TypeTag,
class MyTypeTag>
127template<
class TypeTag,
class MyTypeTag>
131template<
class TypeTag,
class MyTypeTag>
135template<
class TypeTag,
class MyTypeTag>
139template<
class TypeTag,
class MyTypeTag>
143template<
class TypeTag,
class MyTypeTag>
147template<
class TypeTag,
class MyTypeTag>
151template<
class TypeTag,
class MyTypeTag>
155template<
class TypeTag,
class MyTypeTag>
159template<
class TypeTag,
class MyTypeTag>
163template<
class TypeTag,
class MyTypeTag>
168template<
class TypeTag>
171 static constexpr type value = 1.0;
173template<
class TypeTag>
176 static constexpr type value = 0.2;
178template<
class TypeTag>
181 static constexpr type value = 1
e7;
183template<
class TypeTag>
186 static constexpr type value = 0.03;
188template<
class TypeTag>
191 static constexpr type value = 1
e-6;
193template<
class TypeTag>
196 static constexpr type value = 1
e-2;
198template<
class TypeTag>
201 static constexpr type value = 1;
203template<
class TypeTag>
206 static constexpr type value = 1
e-4;
208template<
class TypeTag>
211 static constexpr type value = 1
e-7;
213template<
class TypeTag>
215 static constexpr int value = 30;
217template<
class TypeTag>
219 static constexpr bool value =
true;
221template<
class TypeTag>
224 static constexpr type value = 20.0;
226template<
class TypeTag>
228 static constexpr int value = 0;
230template<
class TypeTag>
232 static constexpr bool value =
true;
234template<
class TypeTag>
236 static constexpr bool value =
false;
238template<
class TypeTag>
240 static constexpr bool value =
true;
242template<
class TypeTag>
244 static constexpr bool value =
false;
246template<
class TypeTag>
249 static constexpr type value = 0.01*1
e5;
251template<
class TypeTag>
254 static constexpr type value = 10*1
e5;
256template<
class TypeTag>
258 static constexpr int value = 8;
260template<
class TypeTag>
262 static constexpr int value = 100;
264template<
class TypeTag>
266 static constexpr int value = 50;
268template<
class TypeTag>
270 static constexpr bool value =
true;
272template<
class TypeTag>
274 static constexpr bool value =
true;
276template<
class TypeTag>
278 static constexpr int value = 6;
280template<
class TypeTag>
282 static constexpr int value = 40;
284template<
class TypeTag>
287 static constexpr type value = 100;
289template<
class TypeTag>
291 static constexpr bool value =
true;
293template<
class TypeTag>
295 static constexpr bool value =
false;
297template<
class TypeTag>
300 static constexpr type value = 1
e-3;
302template<
class TypeTag>
305 static constexpr type value = 1.0e4;
307template<
class TypeTag>
309 static constexpr int value = 3;
314template<
class TypeTag>
316 static constexpr int value = -1;
325 template <
class TypeTag>
340 double relaxed_max_pv_fraction_;
463 static void registerParameters()
465 EWOMS_REGISTER_PARAM(TypeTag, Scalar, DbhpMaxRel,
"Maximum relative change of the bottom-hole pressure in a single iteration");
466 EWOMS_REGISTER_PARAM(TypeTag, Scalar, DwellFractionMax,
"Maximum absolute change of a well's volume fraction in a single iteration");
467 EWOMS_REGISTER_PARAM(TypeTag, Scalar, MaxResidualAllowed,
"Absolute maximum tolerated for residuals without cutting the time step size");
468 EWOMS_REGISTER_PARAM(TypeTag, Scalar, RelaxedMaxPvFraction,
"The fraction of the pore volume of the reservoir "
469 "where the volumetric error (CNV) may be voilated during strict Newton iterations.");
470 EWOMS_REGISTER_PARAM(TypeTag, Scalar, ToleranceMb,
"Tolerated mass balance error relative to total mass present");
471 EWOMS_REGISTER_PARAM(TypeTag, Scalar, ToleranceCnv,
"Local convergence tolerance (Maximum of local saturation errors)");
472 EWOMS_REGISTER_PARAM(TypeTag, Scalar, ToleranceCnvRelaxed,
"Relaxed local convergence tolerance that applies for iterations after the iterations with the strict tolerance");
474 EWOMS_REGISTER_PARAM(TypeTag, Scalar, ToleranceWellControl,
"Tolerance for the well control equations");
475 EWOMS_REGISTER_PARAM(TypeTag,
int, MaxWelleqIter,
"Maximum number of iterations to determine solution the well equations");
476 EWOMS_REGISTER_PARAM(TypeTag,
bool, UseMultisegmentWell,
"Use the well model for multi-segment wells instead of the one for single-segment wells");
477 EWOMS_REGISTER_PARAM(TypeTag, Scalar, TolerancePressureMsWells,
"Tolerance for the pressure equations for multi-segment wells");
478 EWOMS_REGISTER_PARAM(TypeTag, Scalar, RelaxedWellFlowTol,
"Relaxed tolerance for the well flow residual");
479 EWOMS_REGISTER_PARAM(TypeTag, Scalar, RelaxedPressureTolMsw,
"Relaxed tolerance for the MSW pressure solution");
480 EWOMS_REGISTER_PARAM(TypeTag, Scalar, MaxPressureChangeMsWells,
"Maximum relative pressure change for a single iteration of the multi-segment well model");
481 EWOMS_REGISTER_PARAM(TypeTag,
int, MaxInnerIterMsWells,
"Maximum number of inner iterations for multi-segment wells");
482 EWOMS_REGISTER_PARAM(TypeTag,
int, StrictInnerIterWells,
"Number of inner well iterations with strict tolerance");
483 EWOMS_REGISTER_PARAM(TypeTag,
int, StrictOuterIterWells,
"Number of newton iterations for which wells are checked with strict tolerance");
484 EWOMS_REGISTER_PARAM(TypeTag,
int, MaxNewtonIterationsWithInnerWellIterations,
"Maximum newton iterations with inner well iterations");
486 EWOMS_REGISTER_PARAM(TypeTag,
int, MaxInnerIterWells,
"Maximum number of inner iterations for standard wells");
487 EWOMS_REGISTER_PARAM(TypeTag,
bool, AlternativeWellRateInit,
"Use alternative well rate initialization procedure");
488 EWOMS_REGISTER_PARAM(TypeTag, Scalar, RegularizationFactorWells,
"Regularization factor for wells");
489 EWOMS_REGISTER_PARAM(TypeTag, Scalar, MaxSinglePrecisionDays,
"Maximum time step size where single precision floating point arithmetic can be used solving for the linear systems of equations");
490 EWOMS_REGISTER_PARAM(TypeTag,
int, MinStrictCnvIter,
"Minimum number of Newton iterations before relaxed tolerances can be used for the CNV convergence criterion");
491 EWOMS_REGISTER_PARAM(TypeTag,
bool, SolveWelleqInitially,
"Fully solve the well equations before each iteration of the reservoir model");
492 EWOMS_REGISTER_PARAM(TypeTag,
bool, UpdateEquationsScaling,
"Update scaling factors for mass balance equations during the run");
493 EWOMS_REGISTER_PARAM(TypeTag,
bool, UseUpdateStabilization,
"Try to detect and correct oscillations or stagnation during the Newton method");
494 EWOMS_REGISTER_PARAM(TypeTag,
bool, MatrixAddWellContributions,
"Explicitly specify the influences of wells between cells in the Jacobian and preconditioner matrices");
495 EWOMS_REGISTER_PARAM(TypeTag,
bool, EnableWellOperabilityCheck,
"Enable the well operability checking");
496 EWOMS_REGISTER_PARAM(TypeTag,
bool, EnableWellOperabilityCheckIter,
"Enable the well operability checking during iterations");
497 EWOMS_REGISTER_PARAM(TypeTag,
int, MaximumNumberOfWellSwitches,
"Maximum number of times a well can switch to the same control");
Definition AquiferInterface.hpp:35
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition BlackoilPhases.hpp:27
Solver parameters for the BlackoilModel.
Definition BlackoilModelParametersEbos.hpp:327
double tolerance_cnv_relaxed_
Relaxed local convergence tolerance (can be used when iter >= min_strict_cnv_iter_ && cnvViolatedPV <...
Definition BlackoilModelParametersEbos.hpp:346
int max_niter_inner_well_iter_
Maximum newton iterations with inner well iterations.
Definition BlackoilModelParametersEbos.hpp:376
double dbhp_max_rel_
Max relative change in bhp in single iteration.
Definition BlackoilModelParametersEbos.hpp:333
double tolerance_wells_
Well convergence tolerance.
Definition BlackoilModelParametersEbos.hpp:348
bool shut_unsolvable_wells_
Whether to shut unsolvable well.
Definition BlackoilModelParametersEbos.hpp:379
int max_inner_iter_ms_wells_
Maximum inner iteration number for ms wells.
Definition BlackoilModelParametersEbos.hpp:364
bool matrix_add_well_contributions_
Whether to add influences of wells between cells to the matrix and preconditioner matrix.
Definition BlackoilModelParametersEbos.hpp:414
bool solve_welleq_initially_
Solve well equation initially.
Definition BlackoilModelParametersEbos.hpp:395
bool use_update_stabilization_
Try to detect oscillation or stagnation.
Definition BlackoilModelParametersEbos.hpp:401
double tolerance_pressure_ms_wells_
Tolerance for the pressure equations for multisegment wells.
Definition BlackoilModelParametersEbos.hpp:353
std::string deck_file_name_
The file name of the deck.
Definition BlackoilModelParametersEbos.hpp:411
double tolerance_cnv_
Local convergence tolerance (max of local saturation errors).
Definition BlackoilModelParametersEbos.hpp:344
bool update_equations_scaling_
Update scaling factors for mass balance equations.
Definition BlackoilModelParametersEbos.hpp:398
double relaxed_tolerance_flow_well_
Relaxed tolerance for for the well flow residual.
Definition BlackoilModelParametersEbos.hpp:355
double tolerance_mb_
Relative mass balance tolerance (total mass balance error).
Definition BlackoilModelParametersEbos.hpp:342
double relaxed_tolerance_pressure_ms_well_
Relaxed tolerance for the MSW pressure solution.
Definition BlackoilModelParametersEbos.hpp:358
double max_pressure_change_ms_wells_
Maximum pressure change over an iteratio for ms wells.
Definition BlackoilModelParametersEbos.hpp:361
bool check_well_operability_
Whether to check well operability.
Definition BlackoilModelParametersEbos.hpp:417
int min_strict_cnv_iter_
Minimum number of Newton iterations before we can use relaxed CNV convergence criterion.
Definition BlackoilModelParametersEbos.hpp:392
BlackoilModelParametersEbos()
Construct from user parameters or defaults.
Definition BlackoilModelParametersEbos.hpp:427
bool use_multisegment_well_
Whether to use MultisegmentWell to handle multisegment wells it is something temporary before the mul...
Definition BlackoilModelParametersEbos.hpp:408
double max_residual_allowed_
Absolute max limit for residuals.
Definition BlackoilModelParametersEbos.hpp:337
int strict_outer_iter_wells_
Newton iteration where wells are stricly convergent.
Definition BlackoilModelParametersEbos.hpp:370
double tolerance_well_control_
Tolerance for the well control equations.
Definition BlackoilModelParametersEbos.hpp:351
double maxSinglePrecisionTimeStep_
Tolerance for time step in seconds where single precision can be used for solving for the Jacobian.
Definition BlackoilModelParametersEbos.hpp:389
int strict_inner_iter_wells_
Strict inner iteration number for wells.
Definition BlackoilModelParametersEbos.hpp:367
int max_number_of_well_switches_
Maximum number of times a well can switch to the same controt.
Definition BlackoilModelParametersEbos.hpp:422
double regularization_factor_wells_
Regularization factor for wells.
Definition BlackoilModelParametersEbos.hpp:373
double dwell_fraction_max_
Max absolute change in well volume fraction in single iteration.
Definition BlackoilModelParametersEbos.hpp:335
bool check_well_operability_iter_
Whether to check well operability during iterations.
Definition BlackoilModelParametersEbos.hpp:419
int max_inner_iter_wells_
Maximum inner iteration number for standard wells.
Definition BlackoilModelParametersEbos.hpp:382
int max_welleq_iter_
Maximum iteration number of the well equation solution.
Definition BlackoilModelParametersEbos.hpp:385
Definition BlackoilModelParametersEbos.hpp:160
Definition BlackoilModelParametersEbos.hpp:39
Definition BlackoilModelParametersEbos.hpp:43
Definition BlackoilModelParametersEbos.hpp:35
Definition BlackoilModelParametersEbos.hpp:111
Definition BlackoilModelParametersEbos.hpp:107
Definition BlackoilModelParametersEbos.hpp:103
Definition BlackoilModelParametersEbos.hpp:124
Definition BlackoilModelParametersEbos.hpp:156
Definition BlackoilModelParametersEbos.hpp:148
Definition BlackoilModelParametersEbos.hpp:120
Definition BlackoilModelParametersEbos.hpp:47
Definition BlackoilModelParametersEbos.hpp:83
Definition BlackoilModelParametersEbos.hpp:75
Definition BlackoilModelParametersEbos.hpp:164
Definition BlackoilModelParametersEbos.hpp:87
Definition BlackoilModelParametersEbos.hpp:144
Definition BlackoilModelParametersEbos.hpp:51
Definition BlackoilModelParametersEbos.hpp:140
Definition BlackoilModelParametersEbos.hpp:132
Definition BlackoilModelParametersEbos.hpp:152
Definition BlackoilModelParametersEbos.hpp:91
Definition BlackoilModelParametersEbos.hpp:128
Definition BlackoilModelParametersEbos.hpp:136
Definition BlackoilModelParametersEbos.hpp:31
Definition BlackoilModelParametersEbos.hpp:63
Definition BlackoilModelParametersEbos.hpp:59
Definition BlackoilModelParametersEbos.hpp:55
Definition BlackoilModelParametersEbos.hpp:116
Definition BlackoilModelParametersEbos.hpp:71
Definition BlackoilModelParametersEbos.hpp:67
Definition BlackoilModelParametersEbos.hpp:95
Definition BlackoilModelParametersEbos.hpp:79
Definition BlackoilModelParametersEbos.hpp:99