Streamline improvement (#7435)

* Use updated generator. Switch to using priority list for seeds. Fix phase reporting and sign issues. Fix step size when growing.
* Reduce memory footprint by simplifying viz. code and filter out unused tracers early
* Remove unused viz. code.
This commit is contained in:
jonjenssen
2021-03-02 01:53:31 +01:00
committed by GitHub
parent 562ec1a398
commit 766ea6aab2
14 changed files with 302 additions and 813 deletions

View File

@@ -34,6 +34,11 @@ class RigGridBase;
class RigResultAccessor;
class RigEclipseCaseData;
//--------------------------------------------------------------------------------------------------
/// Specialized data access for streamline generation. Operates using flow rate in meters/day
/// calculated by dividing the FLR values by the cell face area.
/// NOTE: Positive rate values are flow out of a cell, negative values are flow into a cell
//--------------------------------------------------------------------------------------------------
class RimStreamlineDataAccess
{
public:
@@ -42,11 +47,12 @@ public:
bool setupDataAccess( RigMainGrid* grid, RigEclipseCaseData* data, std::list<RiaDefines::PhaseType> phases, int timeIdx );
double faceValueDividedByArea( RigCell cell, cvf::StructGridInterface::FaceType faceIdx, RiaDefines::PhaseType phase ) const;
double combinedFaceValueByArea( RigCell cell,
cvf::StructGridInterface::FaceType faceIdx,
std::list<RiaDefines::PhaseType> phases,
RiaDefines::PhaseType& dominantPhaseOut ) const;
double faceRate( RigCell cell, cvf::StructGridInterface::FaceType faceIdx, RiaDefines::PhaseType phase ) const;
double combinedFaceRate( RigCell cell,
cvf::StructGridInterface::FaceType faceIdx,
std::list<RiaDefines::PhaseType> phases,
double direction,
RiaDefines::PhaseType& dominantPhaseOut ) const;
const RigMainGrid* grid() const { return m_grid; }
@@ -55,12 +61,8 @@ protected:
getDataAccessor( cvf::StructGridInterface::FaceType faceIdx, RiaDefines::PhaseType phase, int timeIdx );
QString gridResultNameFromPhase( RiaDefines::PhaseType phase, cvf::StructGridInterface::FaceType faceIdx ) const;
double posFaceValueDividedByArea( RigCell cell,
cvf::StructGridInterface::FaceType faceIdx,
RiaDefines::PhaseType phase ) const;
double negFaceValueDividedByArea( RigCell cell,
cvf::StructGridInterface::FaceType faceIdx,
RiaDefines::PhaseType phase ) const;
double posFaceRate( RigCell cell, cvf::StructGridInterface::FaceType faceIdx, RiaDefines::PhaseType phase ) const;
double negFaceRate( RigCell cell, cvf::StructGridInterface::FaceType faceIdx, RiaDefines::PhaseType phase ) const;
private:
RigMainGrid* m_grid;