My Project
BlackoilModelParametersEbos.hpp
1 /*
2  Copyright 2015 SINTEF ICT, Applied Mathematics.
3 
4  This file is part of the Open Porous Media project (OPM).
5 
6  OPM is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  OPM is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with OPM. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #ifndef OPM_BLACKOILMODELPARAMETERS_EBOS_HEADER_INCLUDED
21 #define OPM_BLACKOILMODELPARAMETERS_EBOS_HEADER_INCLUDED
22 
23 #include <opm/models/utils/propertysystem.hh>
24 #include <opm/models/utils/parametersystem.hh>
25 
26 #include <string>
27 
28 namespace Opm::Properties {
29 
30 namespace TTag {
32 }
33 
34 template<class TypeTag, class MyTypeTag>
36  using type = UndefinedProperty;
37 };
38 template<class TypeTag, class MyTypeTag>
39 struct DbhpMaxRel {
40  using type = UndefinedProperty;
41 };
42 template<class TypeTag, class MyTypeTag>
44  using type = UndefinedProperty;
45 };
46 template<class TypeTag, class MyTypeTag>
48  using type = UndefinedProperty;
49 };
50 template<class TypeTag, class MyTypeTag>
52  using type = UndefinedProperty;
53 };
54 template<class TypeTag, class MyTypeTag>
55 struct ToleranceMb {
56  using type = UndefinedProperty;
57 };
58 template<class TypeTag, class MyTypeTag>
59 struct ToleranceCnv {
60  using type = UndefinedProperty;
61 };
62 template<class TypeTag, class MyTypeTag>
64  using type = UndefinedProperty;
65 };
66 template<class TypeTag, class MyTypeTag>
68  using type = UndefinedProperty;
69 };
70 template<class TypeTag, class MyTypeTag>
72  using type = UndefinedProperty;
73 };
74 template<class TypeTag, class MyTypeTag>
75 struct MaxWelleqIter {
76  using type = UndefinedProperty;
77 };
78 template<class TypeTag, class MyTypeTag>
80  using type = UndefinedProperty;
81 };
82 template<class TypeTag, class MyTypeTag>
84  using type = UndefinedProperty;
85 };
86 template<class TypeTag, class MyTypeTag>
87 struct MaxStrictIter {
88  using type = UndefinedProperty;
89 };
90 template<class TypeTag, class MyTypeTag>
92  using type = UndefinedProperty;
93 };
94 template<class TypeTag, class MyTypeTag>
96  using type = UndefinedProperty;
97 };
98 template<class TypeTag, class MyTypeTag>
100  using type = UndefinedProperty;
101 };
102 template<class TypeTag, class MyTypeTag>
104  using type = UndefinedProperty;
105 };
106 template<class TypeTag, class MyTypeTag>
108  using type = UndefinedProperty;
109 };
110 template<class TypeTag, class MyTypeTag>
112  using type = UndefinedProperty;
113 };
114 // parameters for multisegment wells
115 template<class TypeTag, class MyTypeTag>
117  using type = UndefinedProperty;
118 };
119 template<class TypeTag, class MyTypeTag>
121  using type = UndefinedProperty;
122 };
123 template<class TypeTag, class MyTypeTag>
125  using type = UndefinedProperty;
126 };
127 template<class TypeTag, class MyTypeTag>
129  using type = UndefinedProperty;
130 };
131 template<class TypeTag, class MyTypeTag>
133  using type = UndefinedProperty;
134 };
135 template<class TypeTag, class MyTypeTag>
137  using type = UndefinedProperty;
138 };
139 template<class TypeTag, class MyTypeTag>
141  using type = UndefinedProperty;
142 };
143 template<class TypeTag, class MyTypeTag>
145  using type = UndefinedProperty;
146 };
147 template<class TypeTag, class MyTypeTag>
149  using type = UndefinedProperty;
150 };
151 template<class TypeTag, class MyTypeTag>
153  using type = UndefinedProperty;
154 };
155 template<class TypeTag, class MyTypeTag>
157  using type = UndefinedProperty;
158 };
159 template<class TypeTag, class MyTypeTag>
161  using type = UndefinedProperty;
162 };
163 template<class TypeTag, class MyTypeTag>
165  using type = UndefinedProperty;
166 };
167 
168 template<class TypeTag>
169 struct DbhpMaxRel<TypeTag, TTag::FlowModelParameters> {
170  using type = GetPropType<TypeTag, Scalar>;
171  static constexpr type value = 1.0;
172 };
173 template<class TypeTag>
174 struct DwellFractionMax<TypeTag, TTag::FlowModelParameters> {
175  using type = GetPropType<TypeTag, Scalar>;
176  static constexpr type value = 0.2;
177 };
178 template<class TypeTag>
179 struct MaxResidualAllowed<TypeTag, TTag::FlowModelParameters> {
180  using type = GetPropType<TypeTag, Scalar>;
181  static constexpr type value = 1e7;
182 };
183 template<class TypeTag>
184 struct RelaxedMaxPvFraction<TypeTag, TTag::FlowModelParameters> {
185  using type = GetPropType<TypeTag, Scalar>;
186  static constexpr type value = 0.03;
187 };
188 template<class TypeTag>
189 struct ToleranceMb<TypeTag, TTag::FlowModelParameters> {
190  using type = GetPropType<TypeTag, Scalar>;
191  static constexpr type value = 1e-6;
192 };
193 template<class TypeTag>
194 struct ToleranceCnv<TypeTag, TTag::FlowModelParameters> {
195  using type = GetPropType<TypeTag, Scalar>;
196  static constexpr type value = 1e-2;
197 };
198 template<class TypeTag>
199 struct ToleranceCnvRelaxed<TypeTag, TTag::FlowModelParameters> {
200  using type = GetPropType<TypeTag, Scalar>;
201  static constexpr type value = 1;
202 };
203 template<class TypeTag>
204 struct ToleranceWells<TypeTag, TTag::FlowModelParameters> {
205  using type = GetPropType<TypeTag, Scalar>;
206  static constexpr type value = 1e-4;
207 };
208 template<class TypeTag>
209 struct ToleranceWellControl<TypeTag, TTag::FlowModelParameters> {
210  using type = GetPropType<TypeTag, Scalar>;
211  static constexpr type value = 1e-7;
212 };
213 template<class TypeTag>
214 struct MaxWelleqIter<TypeTag, TTag::FlowModelParameters> {
215  static constexpr int value = 30;
216 };
217 template<class TypeTag>
218 struct UseMultisegmentWell<TypeTag, TTag::FlowModelParameters> {
219  static constexpr bool value = true;
220 };
221 template<class TypeTag>
222 struct MaxSinglePrecisionDays<TypeTag, TTag::FlowModelParameters> {
223  using type = GetPropType<TypeTag, Scalar>;
224  static constexpr type value = 20.0;
225 };
226 template<class TypeTag>
227 struct MaxStrictIter<TypeTag, TTag::FlowModelParameters> {
228  static constexpr int value = 0;
229 };
230 template<class TypeTag>
231 struct SolveWelleqInitially<TypeTag, TTag::FlowModelParameters> {
232  static constexpr bool value = true;
233 };
234 template<class TypeTag>
235 struct UpdateEquationsScaling<TypeTag, TTag::FlowModelParameters> {
236  static constexpr bool value = false;
237 };
238 template<class TypeTag>
239 struct UseUpdateStabilization<TypeTag, TTag::FlowModelParameters> {
240  static constexpr bool value = true;
241 };
242 template<class TypeTag>
243 struct MatrixAddWellContributions<TypeTag, TTag::FlowModelParameters> {
244  static constexpr bool value = false;
245 };
246 template<class TypeTag>
247 struct TolerancePressureMsWells<TypeTag, TTag::FlowModelParameters> {
248  using type = GetPropType<TypeTag, Scalar>;
249  static constexpr type value = 0.01*1e5;
250 };
251 template<class TypeTag>
252 struct MaxPressureChangeMsWells<TypeTag, TTag::FlowModelParameters> {
253  using type = GetPropType<TypeTag, Scalar>;
254  static constexpr type value = 10*1e5;
255 };
256 template<class TypeTag>
257 struct MaxNewtonIterationsWithInnerWellIterations<TypeTag, TTag::FlowModelParameters> {
258  static constexpr int value = 8;
259 };
260 template<class TypeTag>
261 struct MaxInnerIterMsWells<TypeTag, TTag::FlowModelParameters> {
262  static constexpr int value = 100;
263 };
264 template<class TypeTag>
265 struct MaxInnerIterWells<TypeTag, TTag::FlowModelParameters> {
266  static constexpr int value = 50;
267 };
268 template<class TypeTag>
269 struct ShutUnsolvableWells<TypeTag, TTag::FlowModelParameters> {
270  static constexpr bool value = false;
271 };
272 template<class TypeTag>
273 struct AlternativeWellRateInit<TypeTag, TTag::FlowModelParameters> {
274  static constexpr bool value = true;
275 };
276 template<class TypeTag>
277 struct StrictOuterIterWells<TypeTag, TTag::FlowModelParameters> {
278  static constexpr int value = 99;
279 };
280 template<class TypeTag>
281 struct StrictInnerIterWells<TypeTag, TTag::FlowModelParameters> {
282  static constexpr int value = 40;
283 };
284 template<class TypeTag>
285 struct RegularizationFactorMsw<TypeTag, TTag::FlowModelParameters> {
286  using type = GetPropType<TypeTag, Scalar>;
287  static constexpr type value = 1;
288 };
289 template<class TypeTag>
290 struct EnableWellOperabilityCheck<TypeTag, TTag::FlowModelParameters> {
291  static constexpr bool value = true;
292 };
293 template<class TypeTag>
294 struct EnableWellOperabilityCheckIter<TypeTag, TTag::FlowModelParameters> {
295  static constexpr bool value = false;
296 };
297 template<class TypeTag>
298 struct RelaxedWellFlowTol<TypeTag, TTag::FlowModelParameters> {
299  using type = GetPropType<TypeTag, Scalar>;
300  static constexpr type value = 1;
301 };
302 template<class TypeTag>
303 struct RelaxedPressureTolMsw<TypeTag, TTag::FlowModelParameters> {
304  using type = GetPropType<TypeTag, Scalar>;
305  static constexpr type value = 0.5e5;
306 };
307 template<class TypeTag>
308 struct MaximumNumberOfWellSwitches<TypeTag, TTag::FlowModelParameters> {
309  static constexpr int value = 3;
310 };
311 
312 // if openMP is available, determine the number threads per process automatically.
313 #if _OPENMP
314 template<class TypeTag>
315 struct ThreadsPerProcess<TypeTag, TTag::FlowModelParameters> {
316  static constexpr int value = -1;
317 };
318 #endif
319 
320 } // namespace Opm::Properties
321 
322 namespace Opm
323 {
325  template <class TypeTag>
327  {
328  private:
329  using Scalar = GetPropType<TypeTag, Properties::Scalar>;
330 
331  public:
340  double relaxed_max_pv_fraction_;
350  // TODO: it might need to distinguish between rate control and pressure control later
356 
359 
362 
365 
368 
371 
374 
377 
380 
383 
386 
390 
393 
396 
399 
402 
409 
411  std::string deck_file_name_;
412 
415 
420 
423 
424 
425 
428  {
429  dbhp_max_rel_= EWOMS_GET_PARAM(TypeTag, Scalar, DbhpMaxRel);
430  dwell_fraction_max_ = EWOMS_GET_PARAM(TypeTag, Scalar, DwellFractionMax);
431  max_residual_allowed_ = EWOMS_GET_PARAM(TypeTag, Scalar, MaxResidualAllowed);
432  relaxed_max_pv_fraction_ = EWOMS_GET_PARAM(TypeTag, Scalar, RelaxedMaxPvFraction);
433  tolerance_mb_ = EWOMS_GET_PARAM(TypeTag, Scalar, ToleranceMb);
434  tolerance_cnv_ = EWOMS_GET_PARAM(TypeTag, Scalar, ToleranceCnv);
435  tolerance_cnv_relaxed_ = EWOMS_GET_PARAM(TypeTag, Scalar, ToleranceCnvRelaxed);
436  tolerance_wells_ = EWOMS_GET_PARAM(TypeTag, Scalar, ToleranceWells);
437  tolerance_well_control_ = EWOMS_GET_PARAM(TypeTag, Scalar, ToleranceWellControl);
438  max_welleq_iter_ = EWOMS_GET_PARAM(TypeTag, int, MaxWelleqIter);
439  use_multisegment_well_ = EWOMS_GET_PARAM(TypeTag, bool, UseMultisegmentWell);
440  tolerance_pressure_ms_wells_ = EWOMS_GET_PARAM(TypeTag, Scalar, TolerancePressureMsWells);
441  relaxed_tolerance_flow_well_ = EWOMS_GET_PARAM(TypeTag, Scalar, RelaxedWellFlowTol);
442  relaxed_tolerance_pressure_ms_well_ = EWOMS_GET_PARAM(TypeTag, Scalar, RelaxedPressureTolMsw);
443  max_pressure_change_ms_wells_ = EWOMS_GET_PARAM(TypeTag, Scalar, MaxPressureChangeMsWells);
444  max_inner_iter_ms_wells_ = EWOMS_GET_PARAM(TypeTag, int, MaxInnerIterMsWells);
445  strict_inner_iter_wells_ = EWOMS_GET_PARAM(TypeTag, int, StrictInnerIterWells);
446  strict_outer_iter_wells_ = EWOMS_GET_PARAM(TypeTag, int, StrictOuterIterWells);
447  regularization_factor_ms_wells_ = EWOMS_GET_PARAM(TypeTag, Scalar, RegularizationFactorMsw);
448  max_niter_inner_well_iter_ = EWOMS_GET_PARAM(TypeTag, int, MaxNewtonIterationsWithInnerWellIterations);
449  shut_unsolvable_wells_ = EWOMS_GET_PARAM(TypeTag, bool, ShutUnsolvableWells);
450  max_inner_iter_wells_ = EWOMS_GET_PARAM(TypeTag, int, MaxInnerIterWells);
451  maxSinglePrecisionTimeStep_ = EWOMS_GET_PARAM(TypeTag, Scalar, MaxSinglePrecisionDays) *24*60*60;
452  max_strict_iter_ = EWOMS_GET_PARAM(TypeTag, int, MaxStrictIter);
453  solve_welleq_initially_ = EWOMS_GET_PARAM(TypeTag, bool, SolveWelleqInitially);
454  update_equations_scaling_ = EWOMS_GET_PARAM(TypeTag, bool, UpdateEquationsScaling);
455  use_update_stabilization_ = EWOMS_GET_PARAM(TypeTag, bool, UseUpdateStabilization);
456  matrix_add_well_contributions_ = EWOMS_GET_PARAM(TypeTag, bool, MatrixAddWellContributions);
457  check_well_operability_ = EWOMS_GET_PARAM(TypeTag, bool, EnableWellOperabilityCheck);
458  check_well_operability_iter_ = EWOMS_GET_PARAM(TypeTag, bool, EnableWellOperabilityCheckIter);
459  max_number_of_well_switches_ = EWOMS_GET_PARAM(TypeTag, int, MaximumNumberOfWellSwitches);
460  deck_file_name_ = EWOMS_GET_PARAM(TypeTag, std::string, EclDeckFileName);
461  }
462 
463  static void registerParameters()
464  {
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");
473  EWOMS_REGISTER_PARAM(TypeTag, Scalar, ToleranceWells, "Well convergence 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");
485  EWOMS_REGISTER_PARAM(TypeTag, bool, ShutUnsolvableWells, "Shut unsolvable wells");
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, RegularizationFactorMsw, "Regularization factor for ms 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, MaxStrictIter, "Maximum number of Newton iterations before relaxed tolerances are 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");
498  }
499  };
500 } // namespace Opm
501 
502 #endif // OPM_BLACKOILMODELPARAMETERS_EBOS_HEADER_INCLUDED
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: BlackoilPhases.hpp:26
Solver parameters for the BlackoilModel.
Definition: BlackoilModelParametersEbos.hpp:327
double tolerance_cnv_relaxed_
Relaxed local convergence tolerance (used when iter >= max_strict_iter_).
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
int max_strict_iter_
Maximum number of Newton iterations before we give up on the CNV convergence criterion.
Definition: BlackoilModelParametersEbos.hpp:392
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
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
int regularization_factor_ms_wells_
Regularization factor for ms 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:87
Definition: BlackoilModelParametersEbos.hpp:75
Definition: BlackoilModelParametersEbos.hpp:164
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