diff --git a/ApplicationCode/ProjectDataModel/RimStimPlanFractureTemplate.cpp b/ApplicationCode/ProjectDataModel/RimStimPlanFractureTemplate.cpp index 2dd271cf09..78cecaa9bd 100644 --- a/ApplicationCode/ProjectDataModel/RimStimPlanFractureTemplate.cpp +++ b/ApplicationCode/ProjectDataModel/RimStimPlanFractureTemplate.cpp @@ -735,7 +735,7 @@ std::vector RimStimPlanFractureTemplate::adjustedDepthCoordsAroundWellP //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -std::vector RimStimPlanFractureTemplate::getStimPlanTimeValues() +std::vector RimStimPlanFractureTemplate::getStimPlanTimeValues() { if (m_stimPlanFractureDefinitionData.isNull()) loadDataAndUpdate(); return m_stimPlanFractureDefinitionData->timeSteps; @@ -895,7 +895,7 @@ void RimStimPlanFractureTemplate::setupStimPlanCells() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -const std::vector& RimStimPlanFractureTemplate::getStimPlanCells() +const std::vector& RimStimPlanFractureTemplate::getStimPlanCells() const { return m_stimPlanCells; } diff --git a/ApplicationCode/ProjectDataModel/RimStimPlanFractureTemplate.h b/ApplicationCode/ProjectDataModel/RimStimPlanFractureTemplate.h index f303137a0e..743c282227 100644 --- a/ApplicationCode/ProjectDataModel/RimStimPlanFractureTemplate.h +++ b/ApplicationCode/ProjectDataModel/RimStimPlanFractureTemplate.h @@ -56,6 +56,8 @@ public: caf::PdmField showStimPlanMesh; virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue) override; + virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly) override; + void loadDataAndUpdate(); void setFileName(const QString& fileName); const QString& fileName(); @@ -65,40 +67,26 @@ public: std::vector fracturePolygon(RimDefines::UnitSystem fractureUnit); void sortPolygon(std::vector &polygon); - size_t stimPlanGridNumberOfRows() const; - size_t stimPlanGridNumberOfColums() const; - - - std::vector getNegAndPosXcoords() const; - std::vector adjustedDepthCoordsAroundWellPathPosition() const; std::vector getStimPlanTimeValues(); std::vector > getStimPlanPropertyNamesUnits() const; void computeMinMax(const QString& resultName, const QString& unitName, double* minValue, double* maxValue) const; - - void getStimPlanDataAsPolygonsAndValues(std::vector > &cellsAsPolygons, std::vector ¶meterValue, const QString& resultName, const QString& unitName, size_t timeStepIndex); - void setupStimPlanCells(); - const std::vector& getStimPlanCells(); - std::vector getStimPlanRowPolygon(size_t i); - std::vector getStimPlanColPolygon(size_t j); - - std::pair getStimPlanCellAtWellCenter(); - - size_t getGlobalIndexFromIJ(size_t i, size_t j) const; - const RigStimPlanFracTemplateCell& stimPlanCellFromIndex(size_t index) const; - - //TODO: Functions for finding perforated stimPlanCells - //Radial flow: Single cell (at 0,0) - - - - - void loadDataAndUpdate(); //TODO: Update m_stimPlanCells void setDefaultsBasedOnXMLfile(); std::vector> getDataAtTimeIndex(const QString& resultName, const QString& unitName, size_t timeStepIndex) const; - std::vector> getMirroredDataAtTimeIndex(const QString& resultName, const QString& unitName, size_t timeStepIndex) const; - virtual QList calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool* useOptionsOnly) override; + void setupStimPlanCells(); + const std::vector& getStimPlanCells() const; + size_t getGlobalIndexFromIJ(size_t i, size_t j) const; + const RigStimPlanFracTemplateCell& stimPlanCellFromIndex(size_t index) const; + size_t stimPlanGridNumberOfRows() const; + size_t stimPlanGridNumberOfColums() const; + std::pair getStimPlanCellAtWellCenter(); + + + //Functions used by upscaling only + void getStimPlanDataAsPolygonsAndValues(std::vector > &cellsAsPolygons, std::vector ¶meterValue, const QString& resultName, const QString& unitName, size_t timeStepIndex); + std::vector getStimPlanRowPolygon(size_t i); + std::vector getStimPlanColPolygon(size_t j); protected: virtual void defineUiOrdering(QString uiConfigName, caf::PdmUiOrdering& uiOrdering); @@ -114,6 +102,9 @@ private: static QString getAttributeValueString(QXmlStreamReader &xmlStream, QString parameterName); void getGriddingValues(QXmlStreamReader &xmlStream, std::vector& gridValues, size_t& startNegValues); std::vector> getAllDepthDataAtTimeStep(QXmlStreamReader &xmlStream, size_t startingNegValuesXs); + std::vector> getMirroredDataAtTimeIndex(const QString& resultName, const QString& unitName, size_t timeStepIndex) const; + std::vector getNegAndPosXcoords() const; + std::vector adjustedDepthCoordsAroundWellPathPosition() const; bool numberOfParameterValuesOK(std::vector> propertyValuesAtTimestep); bool setPropertyForPolygonDefault(); diff --git a/ApplicationCode/ReservoirDataModel/RigStimPlanFracTemplateCell.cpp b/ApplicationCode/ReservoirDataModel/RigStimPlanFracTemplateCell.cpp index 003594758d..acb46189f6 100644 --- a/ApplicationCode/ReservoirDataModel/RigStimPlanFracTemplateCell.cpp +++ b/ApplicationCode/ReservoirDataModel/RigStimPlanFracTemplateCell.cpp @@ -44,15 +44,6 @@ RigStimPlanFracTemplateCell::~RigStimPlanFracTemplateCell() } -//-------------------------------------------------------------------------------------------------- -/// -//-------------------------------------------------------------------------------------------------- -void RigStimPlanFracTemplateCell::setTransmissibilityInFracture(double valueHorizontal, double valueVertical) -{ - m_transmissibilityInFractureHorizontal = valueHorizontal; - m_transmissibilityInFractureVertical = valueVertical; -} - //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- diff --git a/ApplicationCode/ReservoirDataModel/RigStimPlanFracTemplateCell.h b/ApplicationCode/ReservoirDataModel/RigStimPlanFracTemplateCell.h index a65de27c62..3863f1005b 100644 --- a/ApplicationCode/ReservoirDataModel/RigStimPlanFracTemplateCell.h +++ b/ApplicationCode/ReservoirDataModel/RigStimPlanFracTemplateCell.h @@ -37,18 +37,15 @@ public: virtual ~RigStimPlanFracTemplateCell(); - std::vector getPolygon() const { return m_polygon; } + const std::vector& getPolygon() const { return m_polygon; } double getConductivtyValue() const { return m_concutivityValue; } double getDisplayValue() { return m_displayValue; } size_t getI() const { return m_i; } size_t getJ() const { return m_j; } - double getVerticalTransmissibilityInFracture() { return m_transmissibilityInFractureVertical; } - double getHorizontalTransmissibilityInFracture() { return m_transmissibilityInFractureHorizontal; } void setConductivityValue(double cond) { m_concutivityValue = cond; } void setDisplayValue(double value) { m_displayValue = value; }; - void setTransmissibilityInFracture(double valueHorizontal, double valueVertical); double cellSizeX() const; double cellSizeZ() const; @@ -59,7 +56,4 @@ private: size_t m_i; size_t m_j; - double m_transmissibilityInFractureVertical; - double m_transmissibilityInFractureHorizontal; - -}; \ No newline at end of file +}; diff --git a/doc/fracture_clases.plantuml b/doc/fracture_clases.plantuml index a83c8b1da5..a2c95f270a 100644 --- a/doc/fracture_clases.plantuml +++ b/doc/fracture_clases.plantuml @@ -64,8 +64,7 @@ class RigStimPlanFracTemplateCell{ double m_conductivityValue; size_t m_i; size_t m_j; - double m_transmissibilityInFractureVertical; - double m_transmissibilityInFractureHorizontal; + }