mirror of
https://github.com/OPM/opm-simulators.git
synced 2024-12-18 21:43:27 -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