Fracture : Move code to cpp

This commit is contained in:
Magne Sjaastad
2018-03-08 20:35:47 +01:00
parent 12b7ddf90b
commit 64845d796c
4 changed files with 154 additions and 49 deletions

View File

@@ -22,16 +22,63 @@
#include <QString>
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RigFractureCell::RigFractureCell(std::vector<cvf::Vec3d> polygon, size_t i, size_t j)
: m_polygon(polygon)
, m_i(i)
, m_j(j)
, m_concutivityValue(0.0)
{
m_polygon = polygon;
m_i = i;
m_j = j;
m_concutivityValue = 0.0;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
const std::vector<cvf::Vec3d>& RigFractureCell::getPolygon() const
{
return m_polygon;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
double RigFractureCell::getConductivtyValue() const
{
return m_concutivityValue;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
size_t RigFractureCell::getI() const
{
return m_i;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
size_t RigFractureCell::getJ() const
{
return m_j;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RigFractureCell::hasNonZeroConductivity() const
{
return m_concutivityValue > 1e-7;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RigFractureCell::setConductivityValue(double cond)
{
m_concutivityValue = cond;
}
//--------------------------------------------------------------------------------------------------
@@ -39,8 +86,8 @@ RigFractureCell::RigFractureCell(std::vector<cvf::Vec3d> polygon, size_t i, size
//--------------------------------------------------------------------------------------------------
double RigFractureCell::cellSizeX() const
{
//The polygon corners are always stored in the same order
if (m_polygon.size()>1) return (m_polygon[1] - m_polygon[0]).length();
// The polygon corners are always stored in the same order
if (m_polygon.size() > 1) return (m_polygon[1] - m_polygon[0]).length();
return cvf::UNDEFINED_DOUBLE;
}
@@ -49,8 +96,6 @@ double RigFractureCell::cellSizeX() const
//--------------------------------------------------------------------------------------------------
double RigFractureCell::cellSizeZ() const
{
if (m_polygon.size()>2) return (m_polygon[2] - m_polygon[1]).length();
if (m_polygon.size() > 2) return (m_polygon[2] - m_polygon[1]).length();
return cvf::UNDEFINED_DOUBLE;
}

View File

@@ -33,13 +33,13 @@ class RigFractureCell
public:
RigFractureCell(std::vector<cvf::Vec3d> polygon, size_t i, size_t j);
const std::vector<cvf::Vec3d>& getPolygon() const { return m_polygon; }
double getConductivtyValue() const { return m_concutivityValue; }
size_t getI() const { return m_i; }
size_t getJ() const { return m_j; }
const std::vector<cvf::Vec3d>& getPolygon() const;
double getConductivtyValue() const;
size_t getI() const;
size_t getJ() const;
bool hasNonZeroConductivity() const { return m_concutivityValue > 1e-7; }
void setConductivityValue(double cond) { m_concutivityValue = cond; }
bool hasNonZeroConductivity() const;
void setConductivityValue(double cond);
double cellSizeX() const;
double cellSizeZ() const;
@@ -50,4 +50,3 @@ private:
size_t m_i;
size_t m_j;
};

View File

@@ -17,17 +17,58 @@
/////////////////////////////////////////////////////////////////////////////////
#include "RigFractureGrid.h"
#include "RiaLogging.h"
#include <QString>
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RigFractureGrid::RigFractureGrid()
: m_iCellCount(0),
m_jCellCount(0)
: m_iCellCount(0)
, m_jCellCount(0)
{
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RigFractureGrid::setFractureCells(std::vector<RigFractureCell> fractureCells)
{
m_fractureCells = fractureCells;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RigFractureGrid::setWellCenterFractureCellIJ(std::pair<size_t, size_t> wellCenterFractureCellIJ)
{
m_wellCenterFractureCellIJ = wellCenterFractureCellIJ;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RigFractureGrid::setICellCount(size_t iCellCount)
{
m_iCellCount = iCellCount;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RigFractureGrid::setJCellCount(size_t jCellCount)
{
m_jCellCount = jCellCount;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
const std::vector<RigFractureCell>& RigFractureGrid::fractureCells() const
{
return m_fractureCells;
}
//--------------------------------------------------------------------------------------------------
@@ -50,7 +91,7 @@ const RigFractureCell& RigFractureGrid::cellFromIndex(size_t index) const
}
else
{
//TODO: Better error handling?
// TODO: Better error handling?
RiaLogging::error(QString("Requesting non-existent StimPlanCell"));
RiaLogging::error(QString("Returning cell 0, results will be invalid"));
const RigFractureCell& cell = m_fractureCells[0];
@@ -58,4 +99,26 @@ const RigFractureCell& RigFractureGrid::cellFromIndex(size_t index) const
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
size_t RigFractureGrid::jCellCount() const
{
return m_jCellCount;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
size_t RigFractureGrid::iCellCount() const
{
return m_iCellCount;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::pair<size_t, size_t> RigFractureGrid::fractureCellAtWellCenter() const
{
return m_wellCenterFractureCellIJ;
}

View File

@@ -31,23 +31,22 @@ class RigFractureCell;
///
//==================================================================================================
class RigFractureGrid : public cvf::Object
{
public:
RigFractureGrid();
void setFractureCells(std::vector<RigFractureCell> fractureCells) { m_fractureCells = fractureCells; }
void setWellCenterFractureCellIJ(std::pair<size_t, size_t> wellCenterFractureCellIJ) { m_wellCenterFractureCellIJ = wellCenterFractureCellIJ; }
void setICellCount(size_t iCellCount) { m_iCellCount = iCellCount; }
void setJCellCount(size_t jCellCount) { m_jCellCount = jCellCount; }
void setFractureCells(std::vector<RigFractureCell> fractureCells);
void setWellCenterFractureCellIJ(std::pair<size_t, size_t> wellCenterFractureCellIJ);
void setICellCount(size_t iCellCount);
void setJCellCount(size_t jCellCount);
const std::vector<RigFractureCell>& fractureCells() const { return m_fractureCells; }
const std::vector<RigFractureCell>& fractureCells() const;
size_t getGlobalIndexFromIJ(size_t i, size_t j) const;
const RigFractureCell& cellFromIndex(size_t index) const;
size_t jCellCount() const { return m_jCellCount; }
size_t iCellCount() const { return m_iCellCount; }
size_t jCellCount() const;
size_t iCellCount() const;
std::pair<size_t, size_t> fractureCellAtWellCenter() const { return m_wellCenterFractureCellIJ; }
std::pair<size_t, size_t> fractureCellAtWellCenter() const;
private:
std::vector<RigFractureCell> m_fractureCells;
@@ -55,4 +54,3 @@ private:
size_t m_iCellCount;
size_t m_jCellCount;
};