opm-simulators
Toggle main menu visibility
Loading...
Searching...
No Matches
WellConvergence.hpp
1
/*
2
Copyright 2017 SINTEF Digital, Mathematics and Cybernetics.
3
Copyright 2017 Statoil ASA.
4
Copyright 2016 - 2017 IRIS AS.
5
6
This file is part of the Open Porous Media project (OPM).
7
8
OPM is free software: you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation, either version 3 of the License, or
11
(at your option) any later version.
12
13
OPM is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
GNU General Public License for more details.
17
18
You should have received a copy of the GNU General Public License
19
along with OPM. If not, see <http://www.gnu.org/licenses/>.
20
*/
21
22
23
#ifndef OPM_WELL_CONVERGENCE_HEADER_INCLUDED
24
#define OPM_WELL_CONVERGENCE_HEADER_INCLUDED
25
26
#include <vector>
27
28
namespace
Opm
29
{
30
31
class
ConvergenceReport
;
32
class
DeferredLogger
;
33
template
<
typename
Scalar,
typename
IndexTraits>
class
WellInterfaceGeneric
;
34
template
<
typename
Scalar,
typename
IndexTraits>
class
WellState
;
35
36
template
<
typename
Scalar,
typename
IndexTraits>
37
class
WellConvergence
38
{
39
public
:
40
explicit
WellConvergence(
const
WellInterfaceGeneric<Scalar, IndexTraits>
& well)
41
: well_(well)
42
{}
43
44
struct
Tolerances
{
45
Scalar
bhp
;
46
Scalar
thp
;
47
Scalar
rates
;
48
Scalar
grup
;
49
Scalar
max_residual_allowed
;
50
};
51
52
// checking the convergence of the well control equations
53
void
checkConvergenceControlEq(
const
WellState<Scalar, IndexTraits>
& well_state,
54
const
Tolerances
& tolerances,
55
const
Scalar well_control_residual,
56
const
bool
well_is_stopped,
57
ConvergenceReport
& report,
58
DeferredLogger
& deferred_logger)
const
;
59
60
void
checkConvergencePolyMW(
const
std::vector<Scalar>& res,
61
const
int
Bhp,
62
const
Scalar maxResidualAllowed,
63
ConvergenceReport
& report)
const
;
64
65
private
:
66
const
WellInterfaceGeneric<Scalar, IndexTraits>
& well_;
67
};
68
69
}
70
71
#endif
// OPM_WELL_CONVERGENCE_HEADER_INCLUDED
Opm::ConvergenceReport
Represents the convergence status of the whole simulator, to make it possible to query and store the ...
Definition
ConvergenceReport.hpp:38
Opm::DeferredLogger
Definition
DeferredLogger.hpp:57
Opm::WellInterfaceGeneric
Definition
WellInterfaceGeneric.hpp:53
Opm::WellState
The state of a set of wells, tailored for use by the fully implicit blackoil simulator.
Definition
WellState.hpp:66
Opm
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition
blackoilbioeffectsmodules.hh:43
Opm::WellConvergence::Tolerances
Definition
WellConvergence.hpp:44
Opm::WellConvergence::Tolerances::thp
Scalar thp
Tolerance for thp controlled well.
Definition
WellConvergence.hpp:46
Opm::WellConvergence::Tolerances::rates
Scalar rates
Tolerance for a rate controlled well.
Definition
WellConvergence.hpp:47
Opm::WellConvergence::Tolerances::bhp
Scalar bhp
Tolerance for bhp controlled well.
Definition
WellConvergence.hpp:45
Opm::WellConvergence::Tolerances::max_residual_allowed
Scalar max_residual_allowed
Max residual allowd.
Definition
WellConvergence.hpp:49
Opm::WellConvergence::Tolerances::grup
Scalar grup
Tolerance for a grup controlled well.
Definition
WellConvergence.hpp:48
opm
simulators
wells
WellConvergence.hpp
Generated by
1.17.0