Removed unused Well::m_injectionControls, moved m_injectorType to WellInjectionProperties.

This commit is contained in:
Atle Haugan
2014-03-12 10:57:14 +01:00
parent 9c64af0b6b
commit d9772b83eb
4 changed files with 19 additions and 17 deletions

View File

@@ -301,9 +301,9 @@ namespace Opm {
properties.ReservoirInjectionRate = reservoirInjectionRate;
properties.BHPLimit = BHPLimit;
properties.THPLimit = THPLimit;
properties.InjectorType = injectorType;
well->setInjectionProperties(currentStep, properties);
well->setInjectorControlMode(currentStep , controlMode );
well->setInjectorType( currentStep , injectorType );
well->setInPredictionMode(currentStep, true);
if (record->getItem("RATE")->defaultApplied())

View File

@@ -28,11 +28,11 @@
namespace Opm {
Well::Well(const std::string& name, int headI, int headJ, double refDepth, TimeMapConstPtr timeMap , size_t creationTimeStep)
: m_injectorType(new DynamicState<WellInjector::TypeEnum>(timeMap, WellInjector::WATER)),
: //m_injectorType(new DynamicState<WellInjector::TypeEnum>(timeMap, WellInjector::WATER)),
m_injectorControlMode(new DynamicState<WellInjector::ControlModeEnum>(timeMap, WellInjector::RATE)),
m_producerControlMode(new DynamicState<WellProducer::ControlModeEnum>(timeMap, WellProducer::ORAT)),
m_status(new DynamicState<WellCommon::StatusEnum>(timeMap, WellCommon::OPEN)),
m_injectionControls(new DynamicState<int>(timeMap, 0)),
//m_injectionControls(new DynamicState<int>(timeMap, 0)),
m_inPredictionMode(new DynamicState<bool>(timeMap, true)),
m_isProducer(new DynamicState<bool>(timeMap, true)),
m_isAvailableForGroupControl(new DynamicState<bool>(timeMap, true)),
@@ -90,13 +90,13 @@ namespace Opm {
}
WellInjector::TypeEnum Well::getInjectorType(size_t timeStep) const {
return m_injectorType->get(timeStep);
}
// WellInjector::TypeEnum Well::getInjectorType(size_t timeStep) const {
// return m_injectorType->get(timeStep);
// }
void Well::setInjectorType(size_t timeStep, WellInjector::TypeEnum injectorType) {
m_injectorType->add(timeStep , injectorType);
}
// void Well::setInjectorType(size_t timeStep, WellInjector::TypeEnum injectorType) {
// m_injectorType->add(timeStep , injectorType);
// }
WellInjector::ControlModeEnum Well::getInjectorControlMode(size_t timeStep) const {
return m_injectorControlMode->get(timeStep);

View File

@@ -60,16 +60,17 @@ namespace Opm {
double ReservoirInjectionRate;
double BHPLimit;
double THPLimit;
WellInjector::TypeEnum InjectorType;
int InjectionControls;
WellInjectionProperties()
{SurfaceInjectionRate=0.0; ReservoirInjectionRate=0.0;
BHPLimit=0.0; THPLimit=0.0; InjectionControls=0;}
BHPLimit=0.0; THPLimit=0.0; InjectorType=WellInjector::WATER, InjectionControls=0;}
WellInjectionProperties(const WellInjectionProperties& props)
{SurfaceInjectionRate=props.SurfaceInjectionRate;
ReservoirInjectionRate=props.ReservoirInjectionRate;
BHPLimit=props.BHPLimit; THPLimit=props.THPLimit;
InjectionControls=props.InjectionControls;}
InjectorType=props.InjectorType; InjectionControls=props.InjectionControls;}
} WellInjectionProperties;
class Well {
@@ -81,8 +82,8 @@ namespace Opm {
const std::string getGroupName(size_t timeStep) const;
void setGroupName(size_t timeStep , const std::string& groupName);
WellInjector::TypeEnum getInjectorType(size_t timeStep) const;
void setInjectorType(size_t timeStep, WellInjector::TypeEnum injectorType);
// WellInjector::TypeEnum getInjectorType(size_t timeStep) const;
// void setInjectorType(size_t timeStep, WellInjector::TypeEnum injectorType);
WellInjector::ControlModeEnum getInjectorControlMode(size_t timeStep) const;
void setInjectorControlMode(size_t timeStep, WellInjector::ControlModeEnum injectorControlMode);
WellProducer::ControlModeEnum getProducerControlMode(size_t timeStep) const;
@@ -130,11 +131,10 @@ namespace Opm {
size_t m_creationTimeStep;
std::string m_name;
std::shared_ptr<DynamicState<WellInjector::TypeEnum> > m_injectorType;
//std::shared_ptr<DynamicState<WellInjector::TypeEnum> > m_injectorType;
std::shared_ptr<DynamicState<WellInjector::ControlModeEnum> > m_injectorControlMode;
std::shared_ptr<DynamicState<WellProducer::ControlModeEnum> > m_producerControlMode;
std::shared_ptr<DynamicState<WellCommon::StatusEnum> > m_status;
std::shared_ptr<DynamicState<int> > m_injectionControls;
std::shared_ptr<DynamicState<bool> > m_inPredictionMode;
std::shared_ptr<DynamicState<bool> > m_isProducer;

View File

@@ -322,8 +322,10 @@ BOOST_AUTO_TEST_CASE(InjectorType) {
Opm::TimeMapPtr timeMap = createXDaysTimeMap(10);
Opm::Well well("WELL1", 1, 2, 2334.32, timeMap, 0);
well.setInjectorType( 1 , Opm::WellInjector::WATER );
BOOST_CHECK_EQUAL( Opm::WellInjector::WATER , well.getInjectorType( 5 ));
Opm::WellInjectionProperties injectionProps(well.getInjectionProperties(1));
injectionProps.InjectorType = Opm::WellInjector::WATER;
well.setInjectionProperties(1, injectionProps);
BOOST_CHECK_EQUAL( Opm::WellInjector::WATER , well.getInjectionProperties(5).InjectorType);
}