Helper class for relperm upscaling applications.  
 More...
#include <RelPermUtils.hpp>
Helper class for relperm upscaling applications. 
 
      
        
          | Opm::RelPermUpscaleHelper::RelPermUpscaleHelper  | 
          ( | 
          int  | 
          mpi_rank,  | 
        
        
           | 
           | 
          std::map< std::string, std::string > &  | 
          options_  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Default constructor. 
- Parameters
 - 
  
    | [in] | mpi_rank | Rank of this process (for parallel simulations).  | 
    | [in] | options | Options structure. | 
  
   
Uses the following options: fluids 
 
 
      
        
          | void Opm::RelPermUpscaleHelper::calculateCellPressureGradients  | 
          ( | 
          const std::array< int, 3 > &  | 
          res | ) | 
           | 
        
      
 
Find cell center pressure gradient for every cell. 
- Parameters
 - 
  
    | [in] | res | The number of cells in each direction. | 
  
   
Uses the following options: gravity, waterDensity, oilDensity 
 
 
      
        
          | void Opm::RelPermUpscaleHelper::calculateMinMaxCapillaryPressure  | 
          ( | 
           | ) | 
           | 
        
      
 
Calculate minimum and maximum capillary pressures. 
Uses the following options: maxPermContrast, minPerm, gravity, linsolver_tolerance 
 
 
      
        
          | void Opm::RelPermUpscaleHelper::checkCriticalSaturations  | 
          ( | 
           | ) | 
           | 
        
      
 
Check that input relperm curevs specify critical saturations. 
 
 
      
        
          | void Opm::RelPermUpscaleHelper::collectResults  | 
          ( | 
           | ) | 
           | 
        
      
 
Collect results from all MPI nodes. 
 
 
      
        
          | std::vector<std::vector<double> > Opm::RelPermUpscaleHelper::getRelPerm  | 
          ( | 
          int  | 
          phase | ) | 
           const | 
        
      
 
Calculate relperm values from phase permeabilities. 
- Parameters
 - 
  
    | [in] | phase | The phase to calculate values for (0-indexed).  | 
  
   
- Returns
 - The phase permeability tensor values.
 
First index is voigt index, second index is pressure point. 
 
 
      
        
          | void Opm::RelPermUpscaleHelper::sanityCheckInput  | 
          ( | 
          Opm::DeckConstPtr  | 
          deck,  | 
        
        
           | 
           | 
          double  | 
          minPerm,  | 
        
        
           | 
           | 
          double  | 
          maxPerm,  | 
        
        
           | 
           | 
          double  | 
          minPoro  | 
        
        
           | 
          ) | 
           |  | 
        
      
 
Do sanity checks for input file. 
- Parameters
 - 
  
    | [in] | deck | The deck to sanity check.  | 
    | [in] | minPerm | Minimum permeability.  | 
    | [in] | maxPerm | Maximum permeability.  | 
    | [in] | minPoro | Minimum porosity. | 
  
   
Throws error string. 
 
 
      
        
          | void Opm::RelPermUpscaleHelper::setupBoundaryConditions  | 
          ( | 
           | ) | 
           | 
        
      
 
Setup requested boundary conditions. 
Uses the following options: bc 
 
 
      
        
          | double Opm::RelPermUpscaleHelper::tesselateGrid  | 
          ( | 
          Opm::DeckConstPtr  | 
          deck | ) | 
           | 
        
      
 
Tesselate grid. 
- Parameters
 - 
  
    | [in] | deck | The grid to tesselate.  | 
    | [in] | options | Option structure. | 
  
   
Uses the following options: linsolver_tolerance, linsolver_verbosity, linsolver_type, linsolver_max_iterations, linsolver_smooth_steps, linsolver_prolongate_factor, minPerm 
- Returns
 - Time used for tesselation. 
 
 
 
      
        
          | void Opm::RelPermUpscaleHelper::upscaleCapillaryPressure  | 
          ( | 
           | ) | 
           | 
        
      
 
Upscale capillary pressure. 
Uses the following options: saturationThreshold 
 
 
      
        
          | std::tuple<double,double> Opm::RelPermUpscaleHelper::upscalePermeability  | 
          ( | 
          int  | 
          mpi_rank | ) | 
           | 
        
      
 
Upscale permeabilities. 
- Parameters
 - 
  
    | [in] | mpi_rank | MPI rank of this process. | 
  
   
Uses the following options: minPerm, maxPermContrast 
- Returns
 - Tuple with (total time, time per point). 
 
 
 
      
        
          | void Opm::RelPermUpscaleHelper::upscaleSinglePhasePermeability  | 
          ( | 
           | ) | 
           | 
        
      
 
Upscale single phase permeability. 
 
 
      
        
          | bool Opm::RelPermUpscaleHelper::anisotropic_input | 
        
      
 
Whether input eclipse file has diagonal anisotrophy. 
 
 
Boundary conditions to use. 
 
 
      
        
          | bool Opm::RelPermUpscaleHelper::doEclipseCheck | 
        
      
 
Whether to check that input relperm curves include relperm at critical saturation points. 
 
 
      
        
          | std::vector<MonotCubicInterpolator> Opm::RelPermUpscaleHelper::InvJfunctions | 
        
      
 
Inverse of the loaded J-functions. 
 
 
      
        
          | bool Opm::RelPermUpscaleHelper::isMaster | 
        
      
 
Whether this is the master MPI node or not. 
 
 
      
        
          | std::array<std::array<std::vector<MonotCubicInterpolator>,2>,3> Opm::RelPermUpscaleHelper::Krfunctions | 
        
      
 
Relperm-curves for each (component->phase->stone type) 
 
 
Tensor of upscaled results. 
 
 
      
        
          | int Opm::RelPermUpscaleHelper::points | 
        
      
 
Number of saturation points to upscale for. 
 
 
      
        
          | double Opm::RelPermUpscaleHelper::poreVolume | 
        
      
 
 
      
        
          | std::vector<double> Opm::RelPermUpscaleHelper::pressurePoints | 
        
      
 
Vector of capillary pressure points between Swor and Swir. 
 
 
      
        
          | std::vector<int> Opm::RelPermUpscaleHelper::satnums | 
        
      
 
 
      
        
          | std::string Opm::RelPermUpscaleHelper::saturationstring | 
        
      
 
 
      
        
          | std::vector<MonotCubicInterpolator> Opm::RelPermUpscaleHelper::SwPcfunctions | 
        
      
 
Holds Sw(Pc) for each rocktype. 
 
 
      
        
          | int Opm::RelPermUpscaleHelper::tensorElementCount | 
        
      
 
Number of independent elements in resulting tensor. 
 
 
      
        
          | size_t Opm::RelPermUpscaleHelper::tesselatedCells | 
        
      
 
Number of "active" cells (Sintef interpretation of "active") 
 
 
      
        
          | bool Opm::RelPermUpscaleHelper::upscaleBothPhases | 
        
      
 
Whether to upscale both phases. 
 
 
      
        
          | double Opm::RelPermUpscaleHelper::volume | 
        
      
 
 
      
        
          | std::vector<double> Opm::RelPermUpscaleHelper::WaterSaturation | 
        
      
 
Re-upscaled water saturation for the computed pressure points. 
 
 
The documentation for this class was generated from the following file: