20 #ifndef OPM_POLYMERUTILITIES_HEADER_INCLUDED
21 #define OPM_POLYMERUTILITIES_HEADER_INCLUDED
24 #include <opm/core/grid.h>
25 #include <opm/core/props/IncompPropertiesInterface.hpp>
26 #include <opm/core/props/BlackoilPropertiesInterface.hpp>
27 #include <opm/polymer/PolymerProperties.hpp>
28 #include <opm/polymer/PolymerState.hpp>
29 #include <opm/polymer/PolymerBlackoilState.hpp>
30 #include <opm/core/props/rock/RockCompressibility.hpp>
31 #include <opm/core/utility/SparseVector.hpp>
47 const std::vector<int>& cells,
48 const std::vector<double>& s,
49 const std::vector<double>& c,
50 const std::vector<double>& cmax,
51 std::vector<double>& totmob);
65 const std::vector<int>& cells,
66 const std::vector<double>& s,
67 const std::vector<double>& c,
68 const std::vector<double>& cmax,
69 std::vector<double>& totmob,
70 std::vector<double>& omega);
82 const std::vector<int>& cells,
83 const std::vector<double>& s,
84 const std::vector<double>& c,
85 const std::vector<double>& cmax,
86 std::vector<double>& fractional_flows);
101 const std::vector<int>& cells,
102 const std::vector<double>& p,
103 const std::vector<double>& T,
104 const std::vector<double>& z,
105 const std::vector<double>& s,
106 const std::vector<double>& c,
107 const std::vector<double>& cmax,
108 std::vector<double>& fractional_flows);
130 const PolymerState& state,
131 const std::vector<double>& transport_src,
132 const std::vector<double>& inj_c,
159 const PolymerBlackoilState& state,
160 const std::vector<double>& transport_src,
161 const std::vector<double>& inj_c,
175 const std::vector<double>& s,
176 const std::vector<double>& c,
187 const std::vector<double>& pv,
188 const std::vector<double>& cmax);
199 const BlackoilPropertiesInterface& props,
201 const PolymerBlackoilState& state,
202 const RockCompressibility* rock_comp);
210 #endif // OPM_POLYMERUTILITIES_HEADER_INCLUDED
void computeInjectedProduced(const IncompPropertiesInterface &props, const Opm::PolymerProperties &polyprops, const PolymerState &state, const std::vector< double > &transport_src, const std::vector< double > &inj_c, const double dt, double *injected, double *produced, double &polyinj, double &polyprod)
Computes injected and produced volumes of all phases, and injected and produced polymer mass...
Definition: polymerUtilities.cpp:193
void computeTotalMobilityOmega(const Opm::IncompPropertiesInterface &props, const Opm::PolymerProperties &polyprops, const std::vector< int > &cells, const std::vector< double > &s, const std::vector< double > &c, const std::vector< double > &cmax, std::vector< double > &totmob, std::vector< double > &omega)
Computes total mobility and omega for a set of s/c values.
Definition: polymerUtilities.cpp:67
Definition: PolymerProperties.hpp:43
void computeFractionalFlow(const Opm::IncompPropertiesInterface &props, const Opm::PolymerProperties &polyprops, const std::vector< int > &cells, const std::vector< double > &s, const std::vector< double > &c, const std::vector< double > &cmax, std::vector< double > &fractional_flows)
Computes the fractional flow for each cell in the cells argument.
Definition: polymerUtilities.cpp:104
void computeTotalMobility(const Opm::IncompPropertiesInterface &props, const Opm::PolymerProperties &polyprops, const std::vector< int > &cells, const std::vector< double > &s, const std::vector< double > &c, const std::vector< double > &cmax, std::vector< double > &totmob)
Computes total mobility for a set of s/c values.
Definition: polymerUtilities.cpp:35
double computePolymerAdsorbed(const IncompPropertiesInterface &props, const Opm::PolymerProperties &polyprops, const std::vector< double > &pv, const std::vector< double > &cmax)
Computes total absorbed polymer mass over all grid cells.
Definition: polymerUtilities.cpp:368
double computePolymerMass(const std::vector< double > &pv, const std::vector< double > &s, const std::vector< double > &c, const double dps)
Computes total polymer mass over all grid cells.
Definition: polymerUtilities.cpp:343