NonlinearSolver.hpp
Go to the documentation of this file.
132 SimulatorReportSingle step(const SimulatorTimerInterface& timer, const TimeStepControlInterface *timeStepControl)
175 std::string msg = "Solver convergence failure - Failed to complete a time step within " + std::to_string(maxIter()) + " iterations.";
179 if (timeStepControl && !timeStepControl->timeStepAccepted(relativeChange, timer.currentStepLength())) {
184 std::string msg = "Relative change in solution for time step was " + std::to_string(relativeChange) + ", which is larger than the tolerance accepted by the timestepping algorithm.";
Defines a type tags and some fundamental properties all models. Definition: NonlinearSolver.hpp:99 int linearIterationsLastStep() const Number of linear solver iterations used in the last call to step(). Definition: NonlinearSolver.hpp:219 void stabilizeNonlinearUpdate(BVector &dx, BVector &dxOld, const Scalar omega) const Definition: NonlinearSolver.hpp:250 Scalar relaxRelTol() const The relaxation relative tolerance. Definition: NonlinearSolver.hpp:268 Scalar relaxMax() const The greatest relaxation factor (i.e. smallest factor) allowed. Definition: NonlinearSolver.hpp:256 int linearizations() const Number of linearizations used in all calls to step(). Definition: NonlinearSolver.hpp:199 int wellIterationsLastStep() const Number of well iterations used in all calls to step(). Definition: NonlinearSolver.hpp:223 int nonlinearIterations() const Number of full nonlinear solver iterations used in all calls to step(). Definition: NonlinearSolver.hpp:203 void setParameters(const SolverParameters ¶m) Set parameters to override those given at construction time. Definition: NonlinearSolver.hpp:280 NonlinearRelaxType relaxType() const The relaxation type (Dampen or SOR). Definition: NonlinearSolver.hpp:264 int minIter() const The minimum number of nonlinear iterations allowed. Definition: NonlinearSolver.hpp:276 int linearIterations() const Number of linear solver iterations used in all calls to step(). Definition: NonlinearSolver.hpp:207 SimulatorReportSingle step(const SimulatorTimerInterface &timer, const TimeStepControlInterface *timeStepControl) Definition: NonlinearSolver.hpp:132 int nonlinearIterationsLastStep() const Number of nonlinear solver iterations used in the last call to step(). Definition: NonlinearSolver.hpp:215 int maxIter() const The maximum number of nonlinear iterations allowed. Definition: NonlinearSolver.hpp:272 const SimulatorReportSingle & failureReport() const return the statistics if the step() method failed Definition: NonlinearSolver.hpp:195 int wellIterations() const Number of well iterations used in all calls to step(). Definition: NonlinearSolver.hpp:211 const PhysicalModel & model() const Reference to physical model. Definition: NonlinearSolver.hpp:231 void detectOscillations(const std::vector< std::vector< Scalar > > &residualHistory, const int it, bool &oscillate, bool &stagnate) const Detect oscillation or stagnation in a given residual history. Definition: NonlinearSolver.hpp:239 NonlinearSolverParameters< Scalar > SolverParameters Definition: NonlinearSolver.hpp:103 NonlinearSolver(const SolverParameters ¶m, std::unique_ptr< PhysicalModel > model) Definition: NonlinearSolver.hpp:114 Scalar relaxIncrement() const The step-change size for the relaxation factor. Definition: NonlinearSolver.hpp:260 std::vector< std::vector< Scalar > > computeFluidInPlace(const std::vector< int > &fipnum) const Definition: NonlinearSolver.hpp:227 PhysicalModel & model() Mutable reference to physical model. Definition: NonlinearSolver.hpp:235 Interface class for SimulatorTimer objects, to be improved. Definition: SimulatorTimerInterface.hpp:34 virtual double currentStepLength() const =0 virtual double simulationTimeElapsed() const =0 Definition: TimeStepControlInterface.hpp:51 virtual bool timeStepAccepted(const double error, const double timeStepJustCompleted) const =0 Definition: blackoilnewtonmethodparams.hpp:31 void stabilizeNonlinearUpdate(BVector &dx, BVector &dxOld, const Scalar omega, NonlinearRelaxType relaxType) void detectOscillations(const std::vector< std::vector< Scalar > > &residualHistory, const int it, const int numPhases, const Scalar relaxRelTol, const int minimumOscillatingPhases, bool &oscillate, bool &stagnate) Detect oscillation or stagnation in a given residual history. Definition: blackoilboundaryratevector.hh:39 @ Dampen typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType get the type alias defined in the property (equivalent to old macro GET_PROP_TYPE(.... Definition: propertysystem.hh:233 std::string to_string(const ConvergenceReport::ReservoirFailure::Type t) The Opm property system, traits with inheritance. Definition: NonlinearSolver.hpp:80 void reset() NonlinearSolverParameters() static void registerParameters() NonlinearRelaxType relaxType_ Definition: NonlinearSolver.hpp:81 Scalar relaxIncrement_ Definition: NonlinearSolver.hpp:83 Definition: NonlinearSolver.hpp:45 static constexpr Scalar value Definition: NonlinearSolver.hpp:45 Definition: NonlinearSolver.hpp:47 static constexpr int value Definition: NonlinearSolver.hpp:47 Definition: NonlinearSolver.hpp:48 static constexpr auto value Definition: NonlinearSolver.hpp:48 A struct for returning timing data from a simulator to its caller. Definition: SimulatorReport.hpp:34 bool time_step_rejected Definition: SimulatorReport.hpp:56 |