Opm::BlackoilModelParameters< Scalar > Struct Template Reference

Solver parameters for the BlackoilModel. More...

#include <BlackoilModelParameters.hpp>

Public Member Functions

 BlackoilModelParameters ()
 Construct from user parameters or defaults. More...
 

Static Public Member Functions

static void registerParameters ()
 

Public Attributes

Scalar dbhp_max_rel_
 Max relative change in bhp in single iteration. More...
 
Scalar dwell_fraction_max_
 Max absolute change in well volume fraction in single iteration. More...
 
Scalar max_residual_allowed_
 Absolute max limit for residuals. More...
 
Scalar relaxed_max_pv_fraction_
 
Scalar tolerance_mb_
 Relative mass balance tolerance (total mass balance error). More...
 
Scalar tolerance_mb_relaxed_
 Relaxed mass balance tolerance (can be used when iter >= min_strict_mb_iter_). More...
 
Scalar tolerance_energy_balance_
 Relative energy balance tolerance (total energy balance error). More...
 
Scalar tolerance_energy_balance_relaxed_
 Relaxed energy balance tolerance (can be used when iter >= min_strict_mb_iter_). More...
 
Scalar tolerance_cnv_
 Local convergence tolerance (max of local saturation errors). More...
 
Scalar tolerance_cnv_relaxed_
 Relaxed local convergence tolerance (can be used when iter >= min_strict_cnv_iter_ && cnvViolatedPV < relaxed_max_pv_fraction_). More...
 
Scalar tolerance_cnv_energy_
 Local energy convergence tolerance (max of local energy errors). More...
 
Scalar tolerance_cnv_energy_relaxed_
 Relaxed local energy convergence tolerance (can be used when iter >= min_strict_cnv_iter_ && cnvViolatedPV < relaxed_max_pv_fraction_). More...
 
Scalar tolerance_wells_
 Well convergence tolerance. More...
 
Scalar tolerance_well_control_
 Tolerance for the well control equations. More...
 
Scalar tolerance_pressure_ms_wells_
 Tolerance for the pressure equations for multisegment wells. More...
 
Scalar relaxed_tolerance_flow_well_
 Relaxed tolerance for for the well flow residual. More...
 
Scalar relaxed_tolerance_pressure_ms_well_
 Relaxed tolerance for the MSW pressure solution. More...
 
Scalar max_pressure_change_ms_wells_
 Maximum pressure change over an iteratio for ms wells. More...
 
int max_inner_iter_ms_wells_
 Maximum inner iteration number for ms wells. More...
 
int strict_inner_iter_wells_
 Strict inner iteration number for wells. More...
 
int strict_outer_iter_wells_
 Newton iteration where wells are stricly convergent. More...
 
Scalar regularization_factor_wells_
 Regularization factor for wells. More...
 
int max_niter_inner_well_iter_
 Maximum newton iterations with inner well iterations. More...
 
bool shut_unsolvable_wells_
 Whether to shut unsolvable well. More...
 
int max_inner_iter_wells_
 Maximum inner iteration number for standard wells. More...
 
int max_welleq_iter_
 Maximum iteration number of the well equation solution. More...
 
Scalar maxSinglePrecisionTimeStep_
 
int min_strict_cnv_iter_
 Minimum number of Newton iterations before we can use relaxed CNV convergence criterion. More...
 
int min_strict_mb_iter_
 Minimum number of Newton iterations before we can use relaxed MB convergence criterion. More...
 
bool solve_welleq_initially_
 Solve well equation initially. More...
 
bool update_equations_scaling_
 Update scaling factors for mass balance equations. More...
 
bool use_update_stabilization_
 Try to detect oscillation or stagnation. More...
 
bool use_multisegment_well_
 
std::string deck_file_name_
 The file name of the deck. More...
 
bool matrix_add_well_contributions_
 Whether to add influences of wells between cells to the matrix and preconditioner matrix. More...
 
bool check_well_operability_
 Whether to check well operability. More...
 
bool check_well_operability_iter_
 Whether to check well operability during iterations. More...
 
int max_number_of_well_switches_
 Maximum number of times a well can switch to the same controt. More...
 
bool use_average_density_ms_wells_
 Whether to approximate segment densities by averaging over segment and its outlet. More...
 
bool local_well_solver_control_switching_
 Whether to allow control switching during local well solutions. More...
 
bool use_implicit_ipr_
 Whether to use implicit IPR for thp stability checks and solution search. More...
 
int network_max_strict_iterations_
 Maximum number of iterations in the network solver before relaxing tolerance. More...
 
int network_max_iterations_
 Maximum number of iterations in the network solver before giving up. More...
 
std::string nonlinear_solver_
 Nonlinear solver type: newton or nldd. More...
 
DomainSolveApproach local_solve_approach_ {DomainSolveApproach::Jacobi}
 'jacobi' and 'gauss-seidel' supported. More...
 
int max_local_solve_iterations_
 
Scalar local_tolerance_scaling_mb_
 
Scalar local_tolerance_scaling_cnv_
 
int nldd_num_initial_newton_iter_ {1}
 
int num_local_domains_ {0}
 
Scalar local_domain_partition_imbalance_ {1.03}
 
std::string local_domain_partition_method_
 
DomainOrderingMeasure local_domain_ordering_ {DomainOrderingMeasure::MaxPressure}
 
bool write_partitions_ {false}
 

Detailed Description

template<class Scalar>
struct Opm::BlackoilModelParameters< Scalar >

Solver parameters for the BlackoilModel.

Constructor & Destructor Documentation

◆ BlackoilModelParameters()

template<class Scalar >
Opm::BlackoilModelParameters< Scalar >::BlackoilModelParameters ( )

Construct from user parameters or defaults.

Member Function Documentation

◆ registerParameters()

template<class Scalar >
static void Opm::BlackoilModelParameters< Scalar >::registerParameters ( )
static

Member Data Documentation

◆ check_well_operability_

template<class Scalar >
bool Opm::BlackoilModelParameters< Scalar >::check_well_operability_

Whether to check well operability.

◆ check_well_operability_iter_

template<class Scalar >
bool Opm::BlackoilModelParameters< Scalar >::check_well_operability_iter_

Whether to check well operability during iterations.

◆ dbhp_max_rel_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::dbhp_max_rel_

Max relative change in bhp in single iteration.

◆ deck_file_name_

template<class Scalar >
std::string Opm::BlackoilModelParameters< Scalar >::deck_file_name_

The file name of the deck.

◆ dwell_fraction_max_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::dwell_fraction_max_

Max absolute change in well volume fraction in single iteration.

◆ local_domain_ordering_

template<class Scalar >
DomainOrderingMeasure Opm::BlackoilModelParameters< Scalar >::local_domain_ordering_ {DomainOrderingMeasure::MaxPressure}

◆ local_domain_partition_imbalance_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::local_domain_partition_imbalance_ {1.03}

◆ local_domain_partition_method_

template<class Scalar >
std::string Opm::BlackoilModelParameters< Scalar >::local_domain_partition_method_

◆ local_solve_approach_

template<class Scalar >
DomainSolveApproach Opm::BlackoilModelParameters< Scalar >::local_solve_approach_ {DomainSolveApproach::Jacobi}

'jacobi' and 'gauss-seidel' supported.

◆ local_tolerance_scaling_cnv_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::local_tolerance_scaling_cnv_

◆ local_tolerance_scaling_mb_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::local_tolerance_scaling_mb_

◆ local_well_solver_control_switching_

template<class Scalar >
bool Opm::BlackoilModelParameters< Scalar >::local_well_solver_control_switching_

Whether to allow control switching during local well solutions.

◆ matrix_add_well_contributions_

template<class Scalar >
bool Opm::BlackoilModelParameters< Scalar >::matrix_add_well_contributions_

Whether to add influences of wells between cells to the matrix and preconditioner matrix.

Referenced by Opm::BlackoilModel< TypeTag >::BlackoilModel(), and Opm::StandardWell< TypeTag >::jacobianContainsWellContributions().

◆ max_inner_iter_ms_wells_

template<class Scalar >
int Opm::BlackoilModelParameters< Scalar >::max_inner_iter_ms_wells_

Maximum inner iteration number for ms wells.

◆ max_inner_iter_wells_

template<class Scalar >
int Opm::BlackoilModelParameters< Scalar >::max_inner_iter_wells_

Maximum inner iteration number for standard wells.

◆ max_local_solve_iterations_

template<class Scalar >
int Opm::BlackoilModelParameters< Scalar >::max_local_solve_iterations_

◆ max_niter_inner_well_iter_

template<class Scalar >
int Opm::BlackoilModelParameters< Scalar >::max_niter_inner_well_iter_

Maximum newton iterations with inner well iterations.

◆ max_number_of_well_switches_

template<class Scalar >
int Opm::BlackoilModelParameters< Scalar >::max_number_of_well_switches_

Maximum number of times a well can switch to the same controt.

◆ max_pressure_change_ms_wells_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::max_pressure_change_ms_wells_

Maximum pressure change over an iteratio for ms wells.

◆ max_residual_allowed_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::max_residual_allowed_

Absolute max limit for residuals.

◆ max_welleq_iter_

template<class Scalar >
int Opm::BlackoilModelParameters< Scalar >::max_welleq_iter_

Maximum iteration number of the well equation solution.

◆ maxSinglePrecisionTimeStep_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::maxSinglePrecisionTimeStep_

Tolerance for time step in seconds where single precision can be used for solving for the Jacobian

◆ min_strict_cnv_iter_

template<class Scalar >
int Opm::BlackoilModelParameters< Scalar >::min_strict_cnv_iter_

Minimum number of Newton iterations before we can use relaxed CNV convergence criterion.

Referenced by Opm::BlackoilModel< TypeTag >::getReservoirConvergence().

◆ min_strict_mb_iter_

template<class Scalar >
int Opm::BlackoilModelParameters< Scalar >::min_strict_mb_iter_

Minimum number of Newton iterations before we can use relaxed MB convergence criterion.

Referenced by Opm::BlackoilModel< TypeTag >::getReservoirConvergence().

◆ network_max_iterations_

template<class Scalar >
int Opm::BlackoilModelParameters< Scalar >::network_max_iterations_

Maximum number of iterations in the network solver before giving up.

◆ network_max_strict_iterations_

template<class Scalar >
int Opm::BlackoilModelParameters< Scalar >::network_max_strict_iterations_

Maximum number of iterations in the network solver before relaxing tolerance.

◆ nldd_num_initial_newton_iter_

template<class Scalar >
int Opm::BlackoilModelParameters< Scalar >::nldd_num_initial_newton_iter_ {1}

◆ nonlinear_solver_

template<class Scalar >
std::string Opm::BlackoilModelParameters< Scalar >::nonlinear_solver_

◆ num_local_domains_

template<class Scalar >
int Opm::BlackoilModelParameters< Scalar >::num_local_domains_ {0}

◆ regularization_factor_wells_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::regularization_factor_wells_

Regularization factor for wells.

◆ relaxed_max_pv_fraction_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::relaxed_max_pv_fraction_

◆ relaxed_tolerance_flow_well_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::relaxed_tolerance_flow_well_

Relaxed tolerance for for the well flow residual.

◆ relaxed_tolerance_pressure_ms_well_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::relaxed_tolerance_pressure_ms_well_

Relaxed tolerance for the MSW pressure solution.

◆ shut_unsolvable_wells_

template<class Scalar >
bool Opm::BlackoilModelParameters< Scalar >::shut_unsolvable_wells_

Whether to shut unsolvable well.

◆ solve_welleq_initially_

template<class Scalar >
bool Opm::BlackoilModelParameters< Scalar >::solve_welleq_initially_

Solve well equation initially.

◆ strict_inner_iter_wells_

template<class Scalar >
int Opm::BlackoilModelParameters< Scalar >::strict_inner_iter_wells_

Strict inner iteration number for wells.

◆ strict_outer_iter_wells_

template<class Scalar >
int Opm::BlackoilModelParameters< Scalar >::strict_outer_iter_wells_

Newton iteration where wells are stricly convergent.

◆ tolerance_cnv_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::tolerance_cnv_

Local convergence tolerance (max of local saturation errors).

Referenced by Opm::BlackoilModel< TypeTag >::characteriseCnvPvSplit(), and Opm::BlackoilModel< TypeTag >::getReservoirConvergence().

◆ tolerance_cnv_energy_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::tolerance_cnv_energy_

Local energy convergence tolerance (max of local energy errors).

Referenced by Opm::BlackoilModel< TypeTag >::getReservoirConvergence().

◆ tolerance_cnv_energy_relaxed_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::tolerance_cnv_energy_relaxed_

Relaxed local energy convergence tolerance (can be used when iter >= min_strict_cnv_iter_ && cnvViolatedPV < relaxed_max_pv_fraction_).

Referenced by Opm::BlackoilModel< TypeTag >::getReservoirConvergence().

◆ tolerance_cnv_relaxed_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::tolerance_cnv_relaxed_

Relaxed local convergence tolerance (can be used when iter >= min_strict_cnv_iter_ && cnvViolatedPV < relaxed_max_pv_fraction_).

Referenced by Opm::BlackoilModel< TypeTag >::characteriseCnvPvSplit(), and Opm::BlackoilModel< TypeTag >::getReservoirConvergence().

◆ tolerance_energy_balance_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::tolerance_energy_balance_

Relative energy balance tolerance (total energy balance error).

Referenced by Opm::BlackoilModel< TypeTag >::getReservoirConvergence().

◆ tolerance_energy_balance_relaxed_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::tolerance_energy_balance_relaxed_

Relaxed energy balance tolerance (can be used when iter >= min_strict_mb_iter_).

Referenced by Opm::BlackoilModel< TypeTag >::getReservoirConvergence().

◆ tolerance_mb_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::tolerance_mb_

Relative mass balance tolerance (total mass balance error).

Referenced by Opm::BlackoilModel< TypeTag >::getReservoirConvergence(), and Opm::BlackoilModel< TypeTag >::updateTUNING().

◆ tolerance_mb_relaxed_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::tolerance_mb_relaxed_

Relaxed mass balance tolerance (can be used when iter >= min_strict_mb_iter_).

Referenced by Opm::BlackoilModel< TypeTag >::getReservoirConvergence().

◆ tolerance_pressure_ms_wells_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::tolerance_pressure_ms_wells_

Tolerance for the pressure equations for multisegment wells.

◆ tolerance_well_control_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::tolerance_well_control_

Tolerance for the well control equations.

◆ tolerance_wells_

template<class Scalar >
Scalar Opm::BlackoilModelParameters< Scalar >::tolerance_wells_

Well convergence tolerance.

◆ update_equations_scaling_

template<class Scalar >
bool Opm::BlackoilModelParameters< Scalar >::update_equations_scaling_

Update scaling factors for mass balance equations.

Referenced by Opm::BlackoilModel< TypeTag >::prepareStep().

◆ use_average_density_ms_wells_

template<class Scalar >
bool Opm::BlackoilModelParameters< Scalar >::use_average_density_ms_wells_

Whether to approximate segment densities by averaging over segment and its outlet.

◆ use_implicit_ipr_

template<class Scalar >
bool Opm::BlackoilModelParameters< Scalar >::use_implicit_ipr_

Whether to use implicit IPR for thp stability checks and solution search.

◆ use_multisegment_well_

template<class Scalar >
bool Opm::BlackoilModelParameters< Scalar >::use_multisegment_well_

Whether to use MultisegmentWell to handle multisegment wells it is something temporary before the multisegment well model is considered to be well developed and tested. if it is false, we will handle multisegment wells as standard wells, which will be the default behavoir for the moment. Later, we might set it to be true by default if necessary

Referenced by Opm::BlackoilWellModel< TypeTag >::initFromRestartFile(), and Opm::BlackoilWellModel< TypeTag >::prepareDeserialize().

◆ use_update_stabilization_

template<class Scalar >
bool Opm::BlackoilModelParameters< Scalar >::use_update_stabilization_

Try to detect oscillation or stagnation.

Referenced by Opm::BlackoilModel< TypeTag >::nonlinearIterationNewton().

◆ write_partitions_

template<class Scalar >
bool Opm::BlackoilModelParameters< Scalar >::write_partitions_ {false}

The documentation for this struct was generated from the following file: