///////////////////////////////////////////////////////////////////////////////// // // 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 // for more details. // ///////////////////////////////////////////////////////////////////////////////// #include "RigFractureCell.h" #include "RiaLogging.h" #include //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- RigFractureCell::RigFractureCell( std::vector polygon, size_t i, size_t j ) : m_polygon( polygon ) , m_i( i ) , m_j( j ) , m_conductivityValue( 0.0 ) { } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- const std::vector& RigFractureCell::getPolygon() const { return m_polygon; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- double RigFractureCell::getConductivityValue() const { return m_conductivityValue; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- size_t RigFractureCell::getI() const { return m_i; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- size_t RigFractureCell::getJ() const { return m_j; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- bool RigFractureCell::hasNonZeroConductivity() const { return m_conductivityValue > 1e-7; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RigFractureCell::setConductivityValue( double cond ) { m_conductivityValue = 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(); return cvf::UNDEFINED_DOUBLE; } //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- double RigFractureCell::cellSizeZ() const { if ( m_polygon.size() > 2 ) return ( m_polygon[2] - m_polygon[1] ).length(); return cvf::UNDEFINED_DOUBLE; }