NonlinearSolver.hpp File Reference
#include <opm/simulators/timestepping/SimulatorReport.hpp>
#include <opm/common/ErrorMacros.hpp>
#include <opm/simulators/timestepping/SimulatorTimerInterface.hpp>
#include <opm/models/utils/parametersystem.hh>
#include <opm/models/utils/propertysystem.hh>
#include <opm/models/utils/basicproperties.hh>
#include <opm/models/nonlinear/newtonmethodproperties.hh>
#include <opm/common/Exceptions.hpp>
#include <dune/common/fmatrix.hh>
#include <dune/istl/bcrsmatrix.hh>
#include <memory>
Include dependency graph for NonlinearSolver.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Opm::Properties::TTag::FlowNonLinearSolver
 
struct  Opm::Properties::NewtonMaxRelax< TypeTag, MyTypeTag >
 
struct  Opm::Properties::NewtonMinIterations< TypeTag, MyTypeTag >
 
struct  Opm::Properties::NewtonRelaxationType< TypeTag, MyTypeTag >
 
struct  Opm::Properties::NewtonMaxRelax< TypeTag, TTag::FlowNonLinearSolver >
 
struct  Opm::Properties::NewtonMaxIterations< TypeTag, TTag::FlowNonLinearSolver >
 
struct  Opm::Properties::NewtonMinIterations< TypeTag, TTag::FlowNonLinearSolver >
 
struct  Opm::Properties::NewtonRelaxationType< TypeTag, TTag::FlowNonLinearSolver >
 
class  Opm::NonlinearSolver< TypeTag, PhysicalModel >
 
struct  Opm::NonlinearSolver< TypeTag, PhysicalModel >::SolverParameters
 

Namespaces

namespace  Opm
 
namespace  Opm::Properties
 
namespace  Opm::Properties::TTag
 
namespace  Opm::detail
 

Enumerations

enum class  Opm::NonlinearRelaxType { Opm::Dampen , Opm::SOR }
 

Functions

void Opm::detail::detectOscillations (const std::vector< std::vector< double > > &residualHistory, const int it, const int numPhases, const double relaxRelTol, bool &oscillate, bool &stagnate)
 Detect oscillation or stagnation in a given residual history. More...
 
template<class BVector >
void Opm::detail::stabilizeNonlinearUpdate (BVector &dx, BVector &dxOld, const double omega, NonlinearRelaxType relaxType)