FluidStateBlackoil.hpp
Go to the documentation of this file.
1/*
2 Copyright 2010 SINTEF ICT, Applied Mathematics.
3
4 This file is part of the Open Porous Media project (OPM).
5
6 OPM is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 OPM is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with OPM. If not, see <http://www.gnu.org/licenses/>.
18*/
19
20#ifndef OPM_FLUIDSTATEBLACKOIL_HEADER_INCLUDED
21#define OPM_FLUIDSTATEBLACKOIL_HEADER_INCLUDED
22
23
24#include "BlackoilDefs.hpp"
25
26
27namespace Opm
28{
33 {
41 PhaseToCompMatrix phase_to_comp_; // RB^{-1} in Fortran ordering
51 };
52
53
58 {
59 // Canonical state variables.
60 std::vector<CompVec> surface_volume_density; // z
61 std::vector<PhaseVec> phase_pressure; // p
62
63 // Variables from PVT functions.
64 std::vector<PhaseVec> formation_volume_factor; // B
65 std::vector<PhaseVec> formation_volume_factor_deriv; // dB/dp
66 std::vector<PhaseVec> solution_factor; // R
67 std::vector<PhaseVec> solution_factor_deriv; // dR/dp
68 std::vector<PhaseVec> viscosity; // mu
69
70 // Variables computed from PVT data.
71 // The A matrices are all in Fortran order (or, equivalently,
72 // we store the transposes).
73 std::vector<PhaseToCompMatrix> state_matrix; // A' = (RB^{-1})'
74 std::vector<PhaseVec> phase_volume_density; // u
75 std::vector<Scalar> total_phase_volume_density; // sum(u)
76 std::vector<PhaseVec> saturation; // s = u/sum(u)
77 std::vector<PhaseVec> phase_compressibility; // c
78 std::vector<Scalar> total_compressibility; // cT
79 std::vector<Scalar> experimental_term; // ex = sum(Ai*dA*Ai*z)
80
81 // Variables computed from saturation.
82 std::vector<PhaseVec> relperm; // kr
83 std::vector<PhaseJacobian> relperm_deriv; // dkr/ds
84 std::vector<PhaseVec> mobility; // lambda
85 std::vector<PhaseJacobian> mobility_deriv; // dlambda/ds
86 };
87
88} // end namespace Opm
89
90
91#endif // OPM_FLUIDSTATEBLACKOIL_HEADER_INCLUDED
Definition: BlackoilDefs.hpp:31
Dune::FieldVector< Scalar, numComponents > CompVec
Definition: BlackoilDefs.hpp:40
Dune::FieldVector< Scalar, numPhases > PhaseVec
Definition: BlackoilDefs.hpp:41
double Scalar
Definition: BlackoilDefs.hpp:39
Dune::FieldMatrix< Scalar, numComponents, numPhases > PhaseToCompMatrix
Definition: BlackoilDefs.hpp:43
Dune::FieldMatrix< Scalar, numPhases, numPhases > PhaseJacobian
Definition: BlackoilDefs.hpp:44
Definition: BlackoilFluid.hpp:32
Multiple fluid states for a black oil model.
Definition: FluidStateBlackoil.hpp:58
std::vector< PhaseVec > formation_volume_factor_deriv
Definition: FluidStateBlackoil.hpp:65
std::vector< Scalar > total_compressibility
Definition: FluidStateBlackoil.hpp:78
std::vector< PhaseJacobian > mobility_deriv
Definition: FluidStateBlackoil.hpp:85
std::vector< PhaseVec > phase_pressure
Definition: FluidStateBlackoil.hpp:61
std::vector< PhaseJacobian > relperm_deriv
Definition: FluidStateBlackoil.hpp:83
std::vector< Scalar > total_phase_volume_density
Definition: FluidStateBlackoil.hpp:75
std::vector< Scalar > experimental_term
Definition: FluidStateBlackoil.hpp:79
std::vector< PhaseVec > phase_compressibility
Definition: FluidStateBlackoil.hpp:77
std::vector< PhaseVec > solution_factor
Definition: FluidStateBlackoil.hpp:66
std::vector< PhaseToCompMatrix > state_matrix
Definition: FluidStateBlackoil.hpp:73
std::vector< PhaseVec > formation_volume_factor
Definition: FluidStateBlackoil.hpp:64
std::vector< PhaseVec > relperm
Definition: FluidStateBlackoil.hpp:82
std::vector< PhaseVec > solution_factor_deriv
Definition: FluidStateBlackoil.hpp:67
std::vector< PhaseVec > mobility
Definition: FluidStateBlackoil.hpp:84
std::vector< PhaseVec > saturation
Definition: FluidStateBlackoil.hpp:76
std::vector< PhaseVec > phase_volume_density
Definition: FluidStateBlackoil.hpp:74
std::vector< CompVec > surface_volume_density
Definition: FluidStateBlackoil.hpp:60
std::vector< PhaseVec > viscosity
Definition: FluidStateBlackoil.hpp:68
Fluid state for a black oil model.
Definition: FluidStateBlackoil.hpp:33
CompVec surface_volume_
Definition: FluidStateBlackoil.hpp:35
PhaseVec mobility_
Definition: FluidStateBlackoil.hpp:49
PhaseVec formation_volume_factor_
Definition: FluidStateBlackoil.hpp:39
Scalar total_phase_volume_density_
Definition: FluidStateBlackoil.hpp:38
PhaseVec saturation_
Definition: FluidStateBlackoil.hpp:42
PhaseVec phase_pressure_
Definition: FluidStateBlackoil.hpp:36
Scalar temperature_
Definition: FluidStateBlackoil.hpp:34
PhaseVec solution_factor_
Definition: FluidStateBlackoil.hpp:40
PhaseJacobian dmobility_
Definition: FluidStateBlackoil.hpp:50
PhaseJacobian drelperm_
Definition: FluidStateBlackoil.hpp:48
Scalar total_compressibility_
Definition: FluidStateBlackoil.hpp:44
PhaseVec viscosity_
Definition: FluidStateBlackoil.hpp:46
PhaseToCompMatrix phase_to_comp_
Definition: FluidStateBlackoil.hpp:41
PhaseVec phase_compressibility_
Definition: FluidStateBlackoil.hpp:43
PhaseVec relperm_
Definition: FluidStateBlackoil.hpp:47
Scalar experimental_term_
Definition: FluidStateBlackoil.hpp:45
PhaseVec phase_volume_density_
Definition: FluidStateBlackoil.hpp:37