mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Started reading the gruptree
This commit is contained in:
parent
d2e4f5d664
commit
eedb506ad0
62
opm/core/InjectionSpecification.cpp
Normal file
62
opm/core/InjectionSpecification.cpp
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
#include <opm/core/InjectionSpecification.hpp>
|
||||||
|
namespace Opm {
|
||||||
|
|
||||||
|
InjectionSpecification::InjectionSpecification()
|
||||||
|
: component_(WATER), control_mode_(NONE), surface_injection_target_(0.0),
|
||||||
|
reinjection_fraction_target_(0.0), BHP_target_(0.0) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
InjectionSpecification::InjectionSpecification(const InjectionSpecification& orig) {
|
||||||
|
}
|
||||||
|
|
||||||
|
InjectionSpecification::~InjectionSpecification() {
|
||||||
|
}
|
||||||
|
|
||||||
|
InjectionSpecification::Component InjectionSpecification::component() {
|
||||||
|
return component_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void InjectionSpecification::set_component(InjectionSpecification::Component comp) {
|
||||||
|
component_ = comp;
|
||||||
|
}
|
||||||
|
|
||||||
|
InjectionSpecification::ControlMode InjectionSpecification::control_mode() {
|
||||||
|
return control_mode_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void InjectionSpecification::set_control_mode(InjectionSpecification::ControlMode mode) {
|
||||||
|
control_mode_ = mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// \returns 0 if no limit, else the target/limit of the surface Injector
|
||||||
|
/// rate.
|
||||||
|
double InjectionSpecification::surface_injection_target() {
|
||||||
|
return surface_injection_target_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void InjectionSpecification::set_surface_injection_target(double target) {
|
||||||
|
surface_injection_target_ = target;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// \returns 0 if no limit, else the target/limit of the reInjector fraction
|
||||||
|
|
||||||
|
double InjectionSpecification::reinjection_fraction_target() {
|
||||||
|
return reinjection_fraction_target_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void InjectionSpecification::set_reinjection_fraction_target(double target) {
|
||||||
|
reinjection_fraction_target_ = target;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// \returns 0 if no limit, else the target/limit of the BHP
|
||||||
|
|
||||||
|
double InjectionSpecification::BHP_target() {
|
||||||
|
return BHP_target_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void InjectionSpecification::set_BHP_target(double target) {
|
||||||
|
BHP_target_ = target;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Opm
|
47
opm/core/InjectionSpecification.hpp
Normal file
47
opm/core/InjectionSpecification.hpp
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
#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 */
|
||||||
|
|
73
opm/core/ProductionSpecification.cpp
Normal file
73
opm/core/ProductionSpecification.cpp
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
#include <opm/core/ProductionSpecification.hpp>
|
||||||
|
|
||||||
|
namespace Opm {
|
||||||
|
ProductionSpecification::ProductionSpecification() :
|
||||||
|
component_(OIL),
|
||||||
|
control_mode_(NONE_CM),
|
||||||
|
procedure_(NONE_P),
|
||||||
|
oil_production_target_(-1.0),
|
||||||
|
water_production_target_(-1.0),
|
||||||
|
liquid_production_target_(-1.0),
|
||||||
|
BHP_target_(-1.0)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
ProductionSpecification::~ProductionSpecification() {
|
||||||
|
}
|
||||||
|
|
||||||
|
void ProductionSpecification::set_BHP_target(double BHP_target_) {
|
||||||
|
this->BHP_target_ = BHP_target_;
|
||||||
|
}
|
||||||
|
|
||||||
|
double ProductionSpecification::get_BHP_target() const {
|
||||||
|
return BHP_target_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ProductionSpecification::set_liquid_production_target(double liquid_production_target_) {
|
||||||
|
this->liquid_production_target_ = liquid_production_target_;
|
||||||
|
}
|
||||||
|
|
||||||
|
double ProductionSpecification::get_liquid_production_target() const {
|
||||||
|
return liquid_production_target_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ProductionSpecification::set_water_production_target(double water_production_target_) {
|
||||||
|
this->water_production_target_ = water_production_target_;
|
||||||
|
}
|
||||||
|
|
||||||
|
double ProductionSpecification::get_water_production_target() const {
|
||||||
|
return water_production_target_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ProductionSpecification::set_oil_production_target(double oil_production_target_) {
|
||||||
|
this->oil_production_target_ = oil_production_target_;
|
||||||
|
}
|
||||||
|
|
||||||
|
double ProductionSpecification::get_oil_production_target() const {
|
||||||
|
return oil_production_target_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ProductionSpecification::set_procedure(ProductionSpecification::Procedure procedure_) {
|
||||||
|
this->procedure_ = procedure_;
|
||||||
|
}
|
||||||
|
|
||||||
|
ProductionSpecification::Procedure ProductionSpecification::get_procedure() const {
|
||||||
|
return procedure_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ProductionSpecification::set_control_mode(ProductionSpecification::ControlMode control_mode_) {
|
||||||
|
this->control_mode_ = control_mode_;
|
||||||
|
}
|
||||||
|
|
||||||
|
ProductionSpecification::ControlMode ProductionSpecification::get_control_mode() const {
|
||||||
|
return control_mode_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ProductionSpecification::set_component(ProductionSpecification::Component component_) {
|
||||||
|
this->component_ = component_;
|
||||||
|
}
|
||||||
|
|
||||||
|
ProductionSpecification::Component ProductionSpecification::get_component() const {
|
||||||
|
return component_;
|
||||||
|
}
|
||||||
|
}
|
52
opm/core/ProductionSpecification.hpp
Normal file
52
opm/core/ProductionSpecification.hpp
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
#ifndef OPM_PRODUCTIONSPECIFICATION_HPP
|
||||||
|
#define OPM_PRODUCTIONSPECIFICATION_HPP
|
||||||
|
|
||||||
|
namespace Opm {
|
||||||
|
class ProductionSpecification {
|
||||||
|
public:
|
||||||
|
enum Component {
|
||||||
|
GAS, OIL, WATER
|
||||||
|
};
|
||||||
|
|
||||||
|
enum ControlMode {
|
||||||
|
NONE_CM, ORAT, WRAT, REIN, RESV, VREP, WGRA, FLD
|
||||||
|
};
|
||||||
|
|
||||||
|
enum Procedure {
|
||||||
|
WELL, RATE, NONE_P
|
||||||
|
};
|
||||||
|
|
||||||
|
ProductionSpecification();
|
||||||
|
virtual ~ProductionSpecification();
|
||||||
|
|
||||||
|
|
||||||
|
void set_BHP_target(double BHP_target_);
|
||||||
|
double get_BHP_target() const;
|
||||||
|
void set_liquid_production_target(double liquid_production_target_);
|
||||||
|
double get_liquid_production_target() const;
|
||||||
|
void set_water_production_target(double water_production_target_);
|
||||||
|
double get_water_production_target() const;
|
||||||
|
void set_oil_production_target(double oil_production_target_);
|
||||||
|
double get_oil_production_target() const;
|
||||||
|
void set_procedure(Procedure procedure_);
|
||||||
|
Procedure get_procedure() const;
|
||||||
|
void set_control_mode(ControlMode control_mode_);
|
||||||
|
ControlMode get_control_mode() const;
|
||||||
|
void set_component(Component component_);
|
||||||
|
Component get_component() const;
|
||||||
|
private:
|
||||||
|
Component component_;
|
||||||
|
ControlMode control_mode_;
|
||||||
|
Procedure procedure_;
|
||||||
|
|
||||||
|
double oil_production_target_;
|
||||||
|
double water_production_target_;
|
||||||
|
double liquid_production_target_;
|
||||||
|
double BHP_target_;
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* OPM_PRODUCTIONSPECIFICATION_HPP */
|
||||||
|
|
20
opm/core/WellsGroup.cpp
Normal file
20
opm/core/WellsGroup.cpp
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
/*
|
||||||
|
* File: WellsGroup.cpp
|
||||||
|
* Author: kjetilo
|
||||||
|
*
|
||||||
|
* Created on March 27, 2012, 9:27 AM
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "WellsGroup.hpp"
|
||||||
|
namespace Opm {
|
||||||
|
AbstractWellsGroup::AbstractWellsGroup() {
|
||||||
|
}
|
||||||
|
|
||||||
|
AbstractWellsGroup::~AbstractWellsGroup() {
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::string& AbstractWellsGroup::get_name() {
|
||||||
|
return name_;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
30
opm/core/WellsGroup.hpp
Normal file
30
opm/core/WellsGroup.hpp
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
#ifndef OPM_WELLSGROUP_HPP
|
||||||
|
#define OPM_WELLSGROUP_HPP
|
||||||
|
#include <opm/core/InjectionSpecification.hpp>
|
||||||
|
#include <opm/core/ProductionSpecification.hpp>
|
||||||
|
|
||||||
|
|
||||||
|
namespace Opm {
|
||||||
|
class AbstractWellsGroup {
|
||||||
|
public:
|
||||||
|
AbstractWellsGroup(const std::string& name);
|
||||||
|
virtual ~AbstractWellsGroup();
|
||||||
|
|
||||||
|
const std::string& get_name();
|
||||||
|
const ProductionSpecification& get_production_specification() const;
|
||||||
|
const InjectionSpecification& get_injection_specification() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
std::string name_;
|
||||||
|
ProductionSpecification production_specification_;
|
||||||
|
InjectionSpecification injection_specification_;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
class WellsGroup : public AbstractWellsGroup {
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
#endif /* OPM_WELLSGROUP_HPP */
|
||||||
|
|
Loading…
Reference in New Issue
Block a user