A nonlinear solver class suitable for general fully-implicit models, as well as pressure, transport and sequential models.
More...
|
| NonlinearSolver (const SolverParameters ¶m, std::unique_ptr< PhysicalModel > model) |
| Construct solver for a given model. More...
|
|
SimulatorReport | step (const SimulatorTimerInterface &timer, ReservoirState &reservoir_state, WellState &well_state) |
| Take a single forward step, after which the states will be modified according to the physical model. More...
|
|
SimulatorReport | step (const SimulatorTimerInterface &timer, const ReservoirState &initial_reservoir_state, const WellState &initial_well_state, ReservoirState &reservoir_state, WellState &well_state) |
| Take a single forward step, after which the states will be modified according to the physical model. More...
|
|
const SimulatorReport & | failureReport () const |
| return the statistics if the step() method failed
|
|
int | linearizations () const |
| Number of linearizations used in all calls to step().
|
|
int | nonlinearIterations () const |
| Number of full nonlinear solver iterations used in all calls to step().
|
|
int | linearIterations () const |
| Number of linear solver iterations used in all calls to step().
|
|
int | wellIterations () const |
| Number of well iterations used in all calls to step().
|
|
int | nonlinearIterationsLastStep () const |
| Number of nonlinear solver iterations used in the last call to step().
|
|
int | linearIterationsLastStep () const |
| Number of linear solver iterations used in the last call to step().
|
|
int | wellIterationsLastStep () const |
| Number of well iterations used in all calls to step().
|
|
std::vector< std::vector< double > > | computeFluidInPlace (const ReservoirState &x, const std::vector< int > &fipnum) const |
| Compute fluid in place. More...
|
|
std::vector< std::vector< double > > | computeFluidInPlace (const std::vector< int > &fipnum) const |
|
const PhysicalModel & | model () const |
| Reference to physical model.
|
|
PhysicalModel & | model () |
| Mutable reference to physical model.
|
|
void | detectOscillations (const std::vector< std::vector< double >> &residual_history, const int it, bool &oscillate, bool &stagnate) const |
| Detect oscillation or stagnation in a given residual history.
|
|
template<class BVector > |
void | stabilizeNonlinearUpdate (BVector &dx, BVector &dxOld, const double omega) const |
| Apply a stabilization to dx, depending on dxOld and relaxation parameters. More...
|
|
double | relaxMax () const |
| The greatest relaxation factor (i.e. smallest factor) allowed.
|
|
double | relaxIncrement () const |
| The step-change size for the relaxation factor.
|
|
enum RelaxType | relaxType () const |
| The relaxation type (DAMPEN or SOR).
|
|
double | relaxRelTol () const |
| The relaxation relative tolerance.
|
|
int | maxIter () const |
| The maximum number of nonlinear iterations allowed.
|
|
int | minIter () const |
| The minimum number of nonlinear iterations allowed.
|
|
void | setParameters (const SolverParameters ¶m) |
| Set parameters to override those given at construction time.
|
|
template<class PhysicalModel>
class Opm::NonlinearSolver< PhysicalModel >
A nonlinear solver class suitable for general fully-implicit models, as well as pressure, transport and sequential models.