mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-09 23:16:00 -06:00
Fracture : Move code to cpp
This commit is contained in:
parent
12b7ddf90b
commit
64845d796c
@ -1,17 +1,17 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2017 - Statoil ASA
|
||||
//
|
||||
//
|
||||
// ResInsight is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
//
|
||||
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||
//
|
||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||
// for more details.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
@ -22,35 +22,80 @@
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
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;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -1,37 +1,78 @@
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Copyright (C) 2017 - Statoil ASA
|
||||
//
|
||||
//
|
||||
// ResInsight is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
//
|
||||
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||
//
|
||||
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
|
||||
// for more details.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
size_t RigFractureGrid::getGlobalIndexFromIJ(size_t i, size_t j) const
|
||||
{
|
||||
@ -39,7 +80,7 @@ size_t RigFractureGrid::getGlobalIndexFromIJ(size_t i, size_t j) const
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
const RigFractureCell& RigFractureGrid::cellFromIndex(size_t index) const
|
||||
{
|
||||
@ -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;
|
||||
}
|
||||
|
@ -31,28 +31,26 @@ 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;
|
||||
std::pair<size_t, size_t> m_wellCenterFractureCellIJ;
|
||||
size_t m_iCellCount;
|
||||
size_t m_jCellCount;
|
||||
std::vector<RigFractureCell> m_fractureCells;
|
||||
std::pair<size_t, size_t> m_wellCenterFractureCellIJ;
|
||||
size_t m_iCellCount;
|
||||
size_t m_jCellCount;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user