mirror of
https://github.com/OPM/opm-simulators.git
synced 2024-12-23 16:00:01 -06:00
48 lines
1.3 KiB
C++
48 lines
1.3 KiB
C++
#ifndef OPM_INJECTORSPECIFICATION_HPP
|
|
#define OPM_INJECTORSPECIFICATION_HPP
|
|
|
|
namespace Opm {
|
|
|
|
class InjectionSpecification {
|
|
public:
|
|
enum Component {
|
|
GAS, OIL, WATER
|
|
};
|
|
|
|
enum ControlMode {
|
|
NONE, RATE, REIN, RESV, VREP, WGRA, FLD
|
|
};
|
|
|
|
InjectionSpecification();
|
|
InjectionSpecification(const InjectionSpecification& orig);
|
|
virtual ~InjectionSpecification();
|
|
|
|
Component component();
|
|
void set_component(Component comp);
|
|
|
|
ControlMode control_mode();
|
|
void set_control_mode(ControlMode mode);
|
|
|
|
/// \returns 0 if no limit, else the target/limit of the surface injection
|
|
/// rate.
|
|
double surface_injection_target();
|
|
void set_surface_injection_target(double target);
|
|
|
|
/// \returns 0 if no limit, else the target/limit of the reinjection fraction
|
|
double reinjection_fraction_target();
|
|
void set_reinjection_fraction_target(double target);
|
|
|
|
/// \returns 0 if no limit, else the target/limit of the BHP
|
|
double BHP_target();
|
|
void set_BHP_target(double target);
|
|
private:
|
|
Component component_;
|
|
ControlMode control_mode_;
|
|
double surface_injection_target_;
|
|
double reinjection_fraction_target_;
|
|
double BHP_target_;
|
|
};
|
|
}
|
|
#endif /* OPM_INJECTORSPECIFICATION_HPP */
|
|
|