NewtonIterationBlackoilSimple.hpp
Go to the documentation of this file.
1 /*
2  Copyright 2014 SINTEF ICT, Applied Mathematics.
3  Copyright 2014 IRIS AS
4 
5  This file is part of the Open Porous Media project (OPM).
6 
7  OPM is free software: you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation, either version 3 of the License, or
10  (at your option) any later version.
11 
12  OPM is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with OPM. If not, see <http://www.gnu.org/licenses/>.
19 */
20 
21 #ifndef OPM_NEWTONITERATIONBLACKOILSIMPLE_HEADER_INCLUDED
22 #define OPM_NEWTONITERATIONBLACKOILSIMPLE_HEADER_INCLUDED
23 
24 
26 #include <opm/core/utility/parameters/ParameterGroup.hpp>
27 #include <opm/core/linalg/LinearSolverInterface.hpp>
28 #include <memory>
29 
30 namespace Opm
31 {
32 
38  {
39  public:
45  NewtonIterationBlackoilSimple(const parameter::ParameterGroup& param,
46  const boost::any& parallelInformation=boost::any());
47 
54 
56  virtual int iterations () const { return iterations_; }
57 
59  virtual const boost::any& parallelInformation() const;
60 
61  private:
62  std::unique_ptr<LinearSolverInterface> linsolver_;
63  mutable int iterations_;
64  boost::any parallelInformation_;
65  };
66 
67 } // namespace Opm
68 
69 
70 #endif // OPM_NEWTONITERATIONBLACKOILSIMPLE_HEADER_INCLUDED
Definition: LinearisedBlackoilResidual.hpp:47
LinearisedBlackoilResidual::ADB::V SolutionVector
Return type for linearSolve(). A simple, non-ad vector type.
Definition: NewtonIterationBlackoilInterface.hpp:35
virtual const boost::any & parallelInformation() const
Get the information about the parallelization of the grid.
Definition: AdditionalObjectDeleter.hpp:22
virtual int iterations() const
Definition: NewtonIterationBlackoilSimple.hpp:56
NewtonIterationBlackoilSimple(const parameter::ParameterGroup &param, const boost::any &parallelInformation=boost::any())
Interface class for (linear) solvers for the fully implicit black-oil system.
Definition: NewtonIterationBlackoilInterface.hpp:31
Definition: NewtonIterationBlackoilSimple.hpp:37
virtual SolutionVector computeNewtonIncrement(const LinearisedBlackoilResidual &residual) const