|
using | IndexMapType = std::vector< int > |
|
using | IndexMapStorageType = std::vector< IndexMapType > |
|
using | P2PCommunicatorType = Dune::Point2PointCommunicator< Dune::SimpleMessageBuffer > |
|
using | MessageBufferType = typename P2PCommunicatorType::MessageBufferType |
|
typedef Dune::InverseOperatorResult | InverseOperatorResult |
|
using | CommSeq = Dune::Amg::SequentialInformation |
|
template<int Dim> |
using | OpFSeq = Dune::MatrixAdapter< Dune::BCRSMatrix< Dune::FieldMatrix< double, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > > > |
|
template<int Dim> |
using | OpBSeq = Dune::MatrixAdapter< Dune::BCRSMatrix< Opm::MatrixBlock< double, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > > > |
|
template<int Dim, bool overlap> |
using | OpW = WellModelMatrixAdapter< Dune::BCRSMatrix< MatrixBlock< double, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, overlap > |
|
template<int Dim, bool overlap> |
using | OpWG = WellModelGhostLastMatrixAdapter< Dune::BCRSMatrix< MatrixBlock< double, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, overlap > |
|
using | CommPar = Dune::OwnerOverlapCopyCommunication< int, int > |
|
template<int Dim> |
using | OpFPar = Dune::OverlappingSchwarzOperator< Dune::BCRSMatrix< Dune::FieldMatrix< double, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, CommPar > |
|
template<int Dim> |
using | OpBPar = Dune::OverlappingSchwarzOperator< Dune::BCRSMatrix< MatrixBlock< double, Dim, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, Dune::BlockVector< Dune::FieldVector< double, Dim > >, CommPar > |
|
using | RegionId = int |
|
|
enum class | NonlinearRelaxType { Dampen
, SOR
} |
|
enum class | DomainSolveApproach { Jacobi
, GaussSeidel
} |
| Solver approach for NLDD. More...
|
|
enum class | DomainOrderingMeasure { AveragePressure
, MaxPressure
, Residual
} |
| Measure to use for domain ordering. More...
|
|
enum class | ColoringType { SYMMETRIC
, LOWER
, UPPER
} |
| Specify coloring type. More...
|
|
enum class | MILU_VARIANT {
ILU = 0
, MILU_1 = 1
, MILU_2 = 2
, MILU_3 = 3
,
MILU_4 = 4
} |
|
enum class | TimeStepControlType { SimpleIterationCount
, PID
, PIDAndIterationCount
, HardCodedTimeStep
} |
|
enum class | FileOutputMode { OUTPUT_NONE = 0
, OUTPUT_LOG_ONLY = 1
, OUTPUT_ALL = 3
} |
|
|
PhaseUsage | phaseUsage (const Phases &phases) |
| Determine the active phases. More...
|
|
PhaseUsage | phaseUsageFromDeck (const EclipseState &eclipseState) |
|
PhaseUsage | phaseUsageFromDeck (const Deck &deck) |
|
void | printPRTHeader (const int nprocs, const int nthreads, const std::string ¶meters, std::string_view moduleVersion, std::string_view compileTimestamp) |
|
void | printFlowBanner (int nprocs, int threads, std::string_view moduleVersionName) |
|
void | printFlowTrailer (int nprocs, int nthreads, const double total_setup_time, const double deck_read_time, const SimulatorReport &report, const SimulatorReportSingle &localsolves_report) |
|
int | eclPositionalParameter (Dune::ParameterTree &tree, std::set< std::string > &seenParams, std::string &errorMsg, const char **argv, int paramIdx) |
|
template<class Vector , class Grid , class Matrix > |
std::tuple< std::unique_ptr< Dune::OverlappingSchwarzOperator< Matrix, Vector, Vector, Dune::OwnerOverlapCopyCommunication< int, int > > >, std::unique_ptr< typename TracerSolverSelector< Matrix, Vector >::type > > | createParallelFlexibleSolver (const Grid &, const Matrix &, const PropertyTree &) |
|
template<class Vector , class Matrix > |
std::tuple< std::unique_ptr< Dune::OverlappingSchwarzOperator< Matrix, Vector, Vector, Dune::OwnerOverlapCopyCommunication< int, int > > >, std::unique_ptr< typename TracerSolverSelector< Matrix, Vector >::type > > | createParallelFlexibleSolver (const Dune::CpGrid &grid, const Matrix &M, const PropertyTree &prm) |
|
template<class TypeTag > |
int | flowMain (int argc, char **argv, bool outputCout, bool outputFiles) |
|
template<class GridView , class Element > |
std::pair< std::vector< int >, int > | partitionCells (const std::string &method, const int num_local_domains, const GridView &grid_view, const std::vector< Well > &wells, const ZoltanPartitioningControl< Element > &zoltan_ctrl) |
|
std::pair< std::vector< int >, int > | partitionCellsFromFile (const std::string &filename, const int num_cells) |
|
std::pair< std::vector< int >, int > | partitionCellsSimple (const int num_cells, const int num_domains) |
|
DomainOrderingMeasure | domainOrderingMeasureFromString (const std::string_view measure) |
|
template<class Graph > |
std::tuple< std::vector< int >, int, std::vector< std::size_t > > | colorVerticesWelshPowell (const Graph &graph) |
| Color the vertices of graph. More...
|
|
template<class Graph > |
std::vector< std::size_t > | reorderVerticesPreserving (const std::vector< int > &colors, int noColors, const std::vector< std::size_t > &verticesPerColor, const Graph &graph) |
| ! Reorder colored graph preserving order of vertices with the same color. More...
|
|
template<class Graph > |
std::vector< std::size_t > | reorderVerticesSpheres (const std::vector< int > &colors, int noColors, const std::vector< std::size_t > &verticesPerColor, const Graph &graph, typename Graph::VertexDescriptor root) |
| ! Reorder Vetrices in spheres More...
|
|
template<class M > |
Opm::SparseTable< std::size_t > | getMatrixRowColoring (const M &matrix, ColoringType coloringType) |
| Given a matrix and dependecy type, returns a SparseTable grouping the rows by which can be executed in parallel without breaking dependencies. More...
|
|
MILU_VARIANT | convertString2Milu (const std::string &milu) |
|
template<class T1 > |
auto | accumulateMaskedValues (const T1 &container, const std::vector< double > *maskContainer) -> decltype(container[0] *(*maskContainer)[0]) |
| Accumulates entries masked with 1. More...
|
|
template<typename C > |
auto | setUseFixedOrder (C criterion, bool booleanValue) -> decltype(criterion.setUseFixedOrder(booleanValue)) |
|
template<typename C > |
void | setUseFixedOrder (C,...) |
|
template<class Communication > |
void | extendCommunicatorWithWells (const Communication &comm, std::shared_ptr< Communication > &commRW, const int nw) |
|
PropertyTree | setupPropertyTree (FlowLinearSolverParameters p, bool linearSolverMaxIterSet, bool linearSolverReductionSet) |
|
PropertyTree | setupCPRW (const std::string &conf, const FlowLinearSolverParameters &p) |
|
PropertyTree | setupCPR (const std::string &conf, const FlowLinearSolverParameters &p) |
|
PropertyTree | setupAMG (const std::string &conf, const FlowLinearSolverParameters &p) |
|
PropertyTree | setupILU (const std::string &conf, const FlowLinearSolverParameters &p) |
|
PropertyTree | setupDILU (const std::string &conf, const FlowLinearSolverParameters &p) |
|
PropertyTree | setupUMFPack (const std::string &conf, const FlowLinearSolverParameters &p) |
|
std::string | to_string (const ConvergenceReport::ReservoirFailure::Type t) |
|
std::string | to_string (const ConvergenceReport::Severity s) |
|
std::string | to_string (const ConvergenceReport::WellFailure::Type t) |
|
std::string | to_string (const ConvergenceReport::WellFailure &wf) |
|
template<class TypeTag > |
void | registerEclTimeSteppingParameters () |
|
ConvergenceReport | gatherConvergenceReport (const ConvergenceReport &local_report, Parallel::Communication communicator) |
|
Opm::DeferredLogger | gatherDeferredLogger (const Opm::DeferredLogger &local_deferredlogger, Parallel::Communication communicator) |
| Create a global log combining local logs. More...
|
|
std::string | moduleVersionName () |
|
std::string | moduleVersionHash () |
|
std::string | moduleVersion () |
|
std::string | compileTimestamp () |
|
RestartValue | loadParallelRestart (const EclipseIO *eclIO, Action::State &actionState, SummaryState &summaryState, const std::vector< RestartKey > &solutionKeys, const std::vector< RestartKey > &extraKeys, Parallel::Communication comm) |
|
void | eclStateBroadcast (Parallel::Communication comm, EclipseState &eclState, Schedule &schedule, SummaryConfig &summaryConfig, UDQState &udqState, Action::State &actionState, WellTestState &wtestState) |
| Broadcasts an eclipse state from root node in parallel runs. ! More...
|
|
template<class T > |
void | eclBroadcast (Parallel::Communication, T &) |
|
void | ensureOutputDirExists (const std::string &cmdline_output_dir) |
|
void | prepareResultOutputDirectory (const std::string &baseName, const std::filesystem::path &outputDir) |
|
std::unique_ptr< ParseContext > | setupParseContext (const bool exitOnAllErrors) |
|
FileOutputMode | setupLogging (Parallel::Communication &comm, const std::string &deck_filename, const std::string &cmdline_output_dir, const std::string &cmdline_output, bool output_cout_, const std::string &stdout_log_id, const bool allRanksDbgLog) |
|
void | readDeck (Parallel::Communication comm, const std::string &deckFilename, std::shared_ptr< EclipseState > &eclipseState, std::shared_ptr< Schedule > &schedule, std::unique_ptr< UDQState > &udqState, std::unique_ptr< Action::State > &actionState, std::unique_ptr< WellTestState > &wtestState, std::shared_ptr< SummaryConfig > &summaryConfig, std::shared_ptr< Python > python, const std::string &parsingStrictness, bool initFromRestart, bool checkDeck, const std::optional< int > &outputInterval) |
| Reads the deck and creates all necessary objects if needed. More...
|
|
void | verifyValidCellGeometry (Parallel::Communication comm, const EclipseState &eclipseState) |
|
std::map< std::string, std::string > | setupZoltanParams (const std::string &conf) |
|
bool | operator< (const ParallelWellInfo &well1, const ParallelWellInfo &well2) |
|
bool | operator== (const ParallelWellInfo &well1, const ParallelWellInfo &well2) |
|
bool | operator!= (const ParallelWellInfo &well1, const ParallelWellInfo &well2) |
|
bool | operator< (const std::pair< std::string, bool > &pair, const ParallelWellInfo &well) |
|
bool | operator< (const ParallelWellInfo &well, const std::pair< std::string, bool > &pair) |
|
bool | operator== (const std::pair< std::string, bool > &pair, const ParallelWellInfo &well) |
|
bool | operator== (const ParallelWellInfo &well, const std::pair< std::string, bool > &pair) |
|
bool | operator!= (const std::pair< std::string, bool > &pair, const ParallelWellInfo &well) |
|
bool | operator!= (const ParallelWellInfo &well, const std::pair< std::string, bool > &pair) |
|
std::vector< double > | connectionProdIndStandard (const WellProdIndexCalculator &wellPICalc, const std::vector< double > &connMobility) |
|
double | wellProdIndStandard (const WellProdIndexCalculator &wellPICalc, const std::vector< double > &connMobility) |
|
|
std::optional< std::function< std::vector< int >(const Dune::CpGrid &)> > | externalLoadBalancer |
| optional functor returning external load balancing information More...
|
|
This file contains a set of helper functions used by VFPProd / VFPInj.
◆ CommPar
using Opm::CommPar = typedef Dune::OwnerOverlapCopyCommunication<int, int> |
◆ CommSeq
using Opm::CommSeq = typedef Dune::Amg::SequentialInformation |
◆ IndexMapStorageType
◆ IndexMapType
◆ InverseOperatorResult
◆ MessageBufferType
◆ OpBPar
template<int Dim>
using Opm::OpBPar = typedef Dune::OverlappingSchwarzOperator<Dune::BCRSMatrix<MatrixBlock<double, Dim, Dim> >, Dune::BlockVector<Dune::FieldVector<double, Dim> >, Dune::BlockVector<Dune::FieldVector<double, Dim> >, CommPar> |
◆ OpBSeq
template<int Dim>
using Opm::OpBSeq = typedef Dune::MatrixAdapter<Dune::BCRSMatrix<Opm::MatrixBlock<double, Dim, Dim> >, Dune::BlockVector<Dune::FieldVector<double, Dim> >, Dune::BlockVector<Dune::FieldVector<double, Dim> >> |
◆ OpFPar
template<int Dim>
using Opm::OpFPar = typedef Dune::OverlappingSchwarzOperator<Dune::BCRSMatrix<Dune::FieldMatrix<double, Dim, Dim> >, Dune::BlockVector<Dune::FieldVector<double, Dim> >, Dune::BlockVector<Dune::FieldVector<double, Dim> >, CommPar> |
◆ OpFSeq
template<int Dim>
using Opm::OpFSeq = typedef Dune::MatrixAdapter<Dune::BCRSMatrix<Dune::FieldMatrix<double, Dim, Dim> >, Dune::BlockVector<Dune::FieldVector<double, Dim> >, Dune::BlockVector<Dune::FieldVector<double, Dim> >> |
◆ OpW
template<int Dim, bool overlap>
using Opm::OpW = typedef WellModelMatrixAdapter<Dune::BCRSMatrix<MatrixBlock<double, Dim, Dim> >, Dune::BlockVector<Dune::FieldVector<double, Dim> >, Dune::BlockVector<Dune::FieldVector<double, Dim> >, overlap> |
◆ OpWG
template<int Dim, bool overlap>
◆ P2PCommunicatorType
◆ RegionId
◆ ColoringType
Specify coloring type.
The coloring types have been implemented initially to parallelize DILU preconditioner and parallel sparse triangular solves. Symmetric coloring will create a dependency from row i to j if both element A_ij and A_ji exists. Lower coloring creates a dependency from row i to j (where i < j) if A_ij is nonzero. Upper coloring creates a dependecy from row i to j (where i > j) if A_ij is nonzero.
Enumerator |
---|
SYMMETRIC | |
LOWER | |
UPPER | |
◆ DomainOrderingMeasure
Measure to use for domain ordering.
Enumerator |
---|
AveragePressure | |
MaxPressure | |
Residual | |
◆ DomainSolveApproach
Solver approach for NLDD.
Enumerator |
---|
Jacobi | |
GaussSeidel | |
◆ FileOutputMode
Enumerator |
---|
OUTPUT_NONE | No file output.
|
OUTPUT_LOG_ONLY | Output only to log files, no ECLIPSE output.
|
OUTPUT_ALL | Output to all files.
|
◆ MILU_VARIANT
Enumerator |
---|
ILU | Do not perform modified ILU.
|
MILU_1 | sum(dropped entries)
|
MILU_2 | sum(dropped entries)
|
MILU_3 | sum(|dropped entries|)
|
MILU_4 | sum(dropped entries)
|
◆ NonlinearRelaxType
◆ TimeStepControlType
Enumerator |
---|
SimpleIterationCount | |
PID | |
PIDAndIterationCount | |
HardCodedTimeStep | |
◆ accumulateMaskedValues()
template<class T1 >
auto Opm::accumulateMaskedValues |
( |
const T1 & |
container, |
|
|
const std::vector< double > * |
maskContainer |
|
) |
| -> decltype(container[0] *(*maskContainer)[0]) |
Accumulates entries masked with 1.
- Parameters
-
container | The container whose values to accumulate. |
maskContainer | null pointer or a pointer to a container with entries 0 and 1. Only values at indices with a 1 stored will be accumulated. If null then all values will be accumulated |
- Returns
- the summ of all entries that should be represented.
◆ colorVerticesWelshPowell()
template<class Graph >
std::tuple< std::vector< int >, int, std::vector< std::size_t > > Opm::colorVerticesWelshPowell |
( |
const Graph & |
graph | ) |
|
◆ compileTimestamp()
std::string Opm::compileTimestamp |
( |
| ) |
|
◆ connectionProdIndStandard()
std::vector< double > Opm::connectionProdIndStandard |
( |
const WellProdIndexCalculator & |
wellPICalc, |
|
|
const std::vector< double > & |
connMobility |
|
) |
| |
Compute connection-level productivity index values for all connections in a well.
- Parameters
-
[in] | wellPICalc | Productivity index calculator. |
[in] | connMobility | Phase mobility for each connection. Typically derived from dynamic flow state conditions in cells intersected by well's connections. Must have one value for each wellPICalc.numConnections()
well connection. |
- Returns
- Connection-level steady-state productivity index values for all connections.
◆ convertString2Milu()
MILU_VARIANT Opm::convertString2Milu |
( |
const std::string & |
milu | ) |
|
◆ createParallelFlexibleSolver() [1/2]
template<class Vector , class Matrix >
std::tuple< std::unique_ptr< Dune::OverlappingSchwarzOperator< Matrix, Vector, Vector, Dune::OwnerOverlapCopyCommunication< int, int > > >, std::unique_ptr< typename TracerSolverSelector< Matrix, Vector >::type > > Opm::createParallelFlexibleSolver |
( |
const Dune::CpGrid & |
grid, |
|
|
const Matrix & |
M, |
|
|
const PropertyTree & |
prm |
|
) |
| |
◆ createParallelFlexibleSolver() [2/2]
template<class Vector , class Grid , class Matrix >
std::tuple< std::unique_ptr< Dune::OverlappingSchwarzOperator< Matrix, Vector, Vector, Dune::OwnerOverlapCopyCommunication< int, int > > >, std::unique_ptr< typename TracerSolverSelector< Matrix, Vector >::type > > Opm::createParallelFlexibleSolver |
( |
const Grid & |
, |
|
|
const Matrix & |
, |
|
|
const PropertyTree & |
|
|
) |
| |
◆ domainOrderingMeasureFromString()
◆ eclBroadcast()
◆ eclPositionalParameter()
int Opm::eclPositionalParameter |
( |
Dune::ParameterTree & |
tree, |
|
|
std::set< std::string > & |
seenParams, |
|
|
std::string & |
errorMsg, |
|
|
const char ** |
argv, |
|
|
int |
paramIdx |
|
) |
| |
◆ eclStateBroadcast()
void Opm::eclStateBroadcast |
( |
Parallel::Communication |
comm, |
|
|
EclipseState & |
eclState, |
|
|
Schedule & |
schedule, |
|
|
SummaryConfig & |
summaryConfig, |
|
|
UDQState & |
udqState, |
|
|
Action::State & |
actionState, |
|
|
WellTestState & |
wtestState |
|
) |
| |
Broadcasts an eclipse state from root node in parallel runs. !
- Parameters
-
eclState | EclipseState to broadcast ! |
schedule | Schedule to broadcast ! |
summaryConfig | SummaryConfig to broadcast |
◆ ensureOutputDirExists()
void Opm::ensureOutputDirExists |
( |
const std::string & |
cmdline_output_dir | ) |
|
◆ extendCommunicatorWithWells()
template<class Communication >
void Opm::extendCommunicatorWithWells |
( |
const Communication & |
comm, |
|
|
std::shared_ptr< Communication > & |
commRW, |
|
|
const int |
nw |
|
) |
| |
◆ flowMain()
template<class TypeTag >
int Opm::flowMain |
( |
int |
argc, |
|
|
char ** |
argv, |
|
|
bool |
outputCout, |
|
|
bool |
outputFiles |
|
) |
| |
◆ gatherConvergenceReport()
◆ gatherDeferredLogger()
◆ getMatrixRowColoring()
template<class M >
Opm::SparseTable< std::size_t > Opm::getMatrixRowColoring |
( |
const M & |
matrix, |
|
|
ColoringType |
coloringType |
|
) |
| |
Given a matrix and dependecy type, returns a SparseTable grouping the rows by which can be executed in parallel without breaking dependencies.
This coloring algorithm interprets the sparsity structure of a matrix as a graph. Each row is given a color or level where all the rows in the same level only have dependencies from lower levels. The level computation is done with dynamic programming, and to improve caching the rows in the same level stay in matrix order. - Parameters
-
matrix | A dune sparse matrix |
coloringType | The coloringtype determines what constitutes a dependency, see ColoringType definition above |
- Returns
- SparseTable with rows of the matrix grouped into least number of groups while dependencies only come from groups with lower index
References LOWER, SYMMETRIC, and UPPER.
Referenced by Dune::MultithreadDILU< M, X, Y >::MultithreadDILU().
◆ loadParallelRestart()
RestartValue Opm::loadParallelRestart |
( |
const EclipseIO * |
eclIO, |
|
|
Action::State & |
actionState, |
|
|
SummaryState & |
summaryState, |
|
|
const std::vector< RestartKey > & |
solutionKeys, |
|
|
const std::vector< RestartKey > & |
extraKeys, |
|
|
Parallel::Communication |
comm |
|
) |
| |
◆ moduleVersion()
std::string Opm::moduleVersion |
( |
| ) |
|
◆ moduleVersionHash()
std::string Opm::moduleVersionHash |
( |
| ) |
|
Return a (short) git hash for the current version of the module if this is a Release build (as defined by CMake), or "debug" for Debug builds.
◆ moduleVersionName()
std::string Opm::moduleVersionName |
( |
| ) |
|
Return the version name of the module, for example "2015.10" (for a release branch) or "2016.04-pre" (for a master branch).
◆ operator!=() [1/3]
bool Opm::operator!= |
( |
const ParallelWellInfo & |
well, |
|
|
const std::pair< std::string, bool > & |
pair |
|
) |
| |
◆ operator!=() [2/3]
◆ operator!=() [3/3]
bool Opm::operator!= |
( |
const std::pair< std::string, bool > & |
pair, |
|
|
const ParallelWellInfo & |
well |
|
) |
| |
◆ operator<() [1/3]
bool Opm::operator< |
( |
const ParallelWellInfo & |
well, |
|
|
const std::pair< std::string, bool > & |
pair |
|
) |
| |
◆ operator<() [2/3]
◆ operator<() [3/3]
bool Opm::operator< |
( |
const std::pair< std::string, bool > & |
pair, |
|
|
const ParallelWellInfo & |
well |
|
) |
| |
◆ operator==() [1/3]
bool Opm::operator== |
( |
const ParallelWellInfo & |
well, |
|
|
const std::pair< std::string, bool > & |
pair |
|
) |
| |
◆ operator==() [2/3]
◆ operator==() [3/3]
bool Opm::operator== |
( |
const std::pair< std::string, bool > & |
pair, |
|
|
const ParallelWellInfo & |
well |
|
) |
| |
◆ partitionCells()
template<class GridView , class Element >
std::pair< std::vector< int >, int > Opm::partitionCells |
( |
const std::string & |
method, |
|
|
const int |
num_local_domains, |
|
|
const GridView & |
grid_view, |
|
|
const std::vector< Well > & |
wells, |
|
|
const ZoltanPartitioningControl< Element > & |
zoltan_ctrl |
|
) |
| |
Partition rank's interior cells.
- Parameters
-
[in] | method | Partitioning method. Supported values are "zoltan" , "simple" , or a filename with the extension ".partition" . The "zoltan" method invokes the Zoltan graph partitioning package and requires both MPI and an active Zoltan library. The "simple" method uses a one-dimensional load-balanced approach, and the filename method will read a precomputed partition vector from the named file. |
[in] | num_local_domains | Number of subdomains. Not used when explicit partitioning is input from a file. |
[in] | comm | MPI Communication object for exchanging globally unique cell IDs and for communication within the Zoltan library. Not used unless . |
[in] | grid_view | View of rank's cells, both interior and overlap cells. Not used unless . |
[in] | wells | Collection of simulation model wells. Not used unless . |
[in] | zoltan_ctrl | Control parameters for local Zoltan-based partitioning. Not used unless . |
- Returns
- Partition vector–subdomain ID for each cell in
grid_view traversal order for its interior cells–and the number of subdomains on current rank.
◆ partitionCellsFromFile()
std::pair< std::vector< int >, int > Opm::partitionCellsFromFile |
( |
const std::string & |
filename, |
|
|
const int |
num_cells |
|
) |
| |
Read a partitioning from file, assumed to contain one number per cell, its partition number. - Returns
- pair containing a partition vector (partition number for each cell), and the number of partitions.
◆ partitionCellsSimple()
std::pair< std::vector< int >, int > Opm::partitionCellsSimple |
( |
const int |
num_cells, |
|
|
const int |
num_domains |
|
) |
| |
Trivially simple partitioner assigning partitions en bloc, consecutively by cell index. - Returns
- pair containing a partition vector (partition number for each cell), and the number of partitions.
◆ phaseUsage()
PhaseUsage Opm::phaseUsage |
( |
const Phases & |
phases | ) |
|
◆ phaseUsageFromDeck() [1/2]
PhaseUsage Opm::phaseUsageFromDeck |
( |
const Deck & |
deck | ) |
|
Looks at presence of WATER, OIL and GAS keywords in deck to determine active phases.
◆ phaseUsageFromDeck() [2/2]
PhaseUsage Opm::phaseUsageFromDeck |
( |
const EclipseState & |
eclipseState | ) |
|
◆ prepareResultOutputDirectory()
void Opm::prepareResultOutputDirectory |
( |
const std::string & |
baseName, |
|
|
const std::filesystem::path & |
outputDir |
|
) |
| |
◆ printFlowBanner()
void Opm::printFlowBanner |
( |
int |
nprocs, |
|
|
int |
threads, |
|
|
std::string_view |
moduleVersionName |
|
) |
| |
◆ printFlowTrailer()
void Opm::printFlowTrailer |
( |
int |
nprocs, |
|
|
int |
nthreads, |
|
|
const double |
total_setup_time, |
|
|
const double |
deck_read_time, |
|
|
const SimulatorReport & |
report, |
|
|
const SimulatorReportSingle & |
localsolves_report |
|
) |
| |
◆ printPRTHeader()
void Opm::printPRTHeader |
( |
const int |
nprocs, |
|
|
const int |
nthreads, |
|
|
const std::string & |
parameters, |
|
|
std::string_view |
moduleVersion, |
|
|
std::string_view |
compileTimestamp |
|
) |
| |
◆ readDeck()
void Opm::readDeck |
( |
Parallel::Communication |
comm, |
|
|
const std::string & |
deckFilename, |
|
|
std::shared_ptr< EclipseState > & |
eclipseState, |
|
|
std::shared_ptr< Schedule > & |
schedule, |
|
|
std::unique_ptr< UDQState > & |
udqState, |
|
|
std::unique_ptr< Action::State > & |
actionState, |
|
|
std::unique_ptr< WellTestState > & |
wtestState, |
|
|
std::shared_ptr< SummaryConfig > & |
summaryConfig, |
|
|
std::shared_ptr< Python > |
python, |
|
|
const std::string & |
parsingStrictness, |
|
|
bool |
initFromRestart, |
|
|
bool |
checkDeck, |
|
|
const std::optional< int > & |
outputInterval |
|
) |
| |
Reads the deck and creates all necessary objects if needed.
If pointers already contains objects then they are used otherwise they are created and can be used outside later.
◆ registerEclTimeSteppingParameters()
template<class TypeTag >
void Opm::registerEclTimeSteppingParameters |
( |
| ) |
|
◆ reorderVerticesPreserving()
template<class Graph >
std::vector< std::size_t > Opm::reorderVerticesPreserving |
( |
const std::vector< int > & |
colors, |
|
|
int |
noColors, |
|
|
const std::vector< std::size_t > & |
verticesPerColor, |
|
|
const Graph & |
graph |
|
) |
| |
◆ reorderVerticesSpheres()
template<class Graph >
std::vector< std::size_t > Opm::reorderVerticesSpheres |
( |
const std::vector< int > & |
colors, |
|
|
int |
noColors, |
|
|
const std::vector< std::size_t > & |
verticesPerColor, |
|
|
const Graph & |
graph, |
|
|
typename Graph::VertexDescriptor |
root |
|
) |
| |
◆ setupAMG()
◆ setupCPR()
◆ setupCPRW()
◆ setupDILU()
◆ setupILU()
◆ setupLogging()
FileOutputMode Opm::setupLogging |
( |
Parallel::Communication & |
comm, |
|
|
const std::string & |
deck_filename, |
|
|
const std::string & |
cmdline_output_dir, |
|
|
const std::string & |
cmdline_output, |
|
|
bool |
output_cout_, |
|
|
const std::string & |
stdout_log_id, |
|
|
const bool |
allRanksDbgLog |
|
) |
| |
◆ setupParseContext()
std::unique_ptr< ParseContext > Opm::setupParseContext |
( |
const bool |
exitOnAllErrors | ) |
|
◆ setupPropertyTree()
◆ setupUMFPack()
◆ setupZoltanParams()
std::map< std::string, std::string > Opm::setupZoltanParams |
( |
const std::string & |
conf | ) |
|
◆ setUseFixedOrder() [1/2]
template<typename C >
auto Opm::setUseFixedOrder |
( |
C |
criterion, |
|
|
bool |
booleanValue |
|
) |
| -> decltype(criterion.setUseFixedOrder(booleanValue))
|
◆ setUseFixedOrder() [2/2]
template<typename C >
void Opm::setUseFixedOrder |
( |
C |
, |
|
|
|
... |
|
) |
| |
◆ to_string() [1/4]
Referenced by Dune::CartesianIndexMapper< Dune::ALUGrid< 3, 3, Dune::cube, Dune::nonconforming > >::cartesianCoordinate(), Opm::MultisegmentWell< TypeTag >::checkOperabilityUnderTHPLimit(), Opm::StandardWell< TypeTag >::checkOperabilityUnderTHPLimit(), Opm::MultisegmentWell< TypeTag >::computeWellPotentials(), Opm::MultisegmentWell< TypeTag >::computeWellPotentialWithTHP(), Opm::EQUIL::DeckDependent::equilnum(), Opm::BlackoilWellModel< TypeTag >::getDomainWellConvergence(), Opm::BlackoilWellModel< TypeTag >::getWellConvergence(), Opm::EQUIL::Details::horizontalSubdivision(), Opm::EQUIL::DeckDependent::InitialStateComputer< FluidSystem, Grid, GridView, ElementMapper, CartesianIndexMapper >::InitialStateComputer(), logAndCheckForExceptionsAndThrow(), Opm::BlackoilModel< TypeTag >::nonlinearIterationNewton(), Opm::PackUnPackWBPData::pack(), Opm::SimulatorFullyImplicitBlackoil< TypeTag >::runStep(), Opm::ISTLSolver< TypeTag >::setActiveSolver(), Opm::ISTLSolver< TypeTag >::shouldCreateSolver(), Opm::WellInterface< TypeTag >::solveWellEquation(), Opm::WellInterface< TypeTag >::solveWellForTesting(), Opm::NonlinearSolver< TypeTag, PhysicalModel >::step(), Opm::cuistl::toDebugString(), Opm::BlackoilWellModel< TypeTag >::updateWellControlsAndNetwork(), Opm::WellInterface< TypeTag >::volumetricSurfaceRateForConnection(), Opm::GridDataOutput::SimMeshDataAccessor< GridView, partitions >::writeCellTypes(), Opm::GridDataOutput::SimMeshDataAccessor< GridView, partitions >::writeConnectivity(), Opm::GridDataOutput::SimMeshDataAccessor< GridView, partitions >::writeGridPoints(), Opm::GridDataOutput::SimMeshDataAccessor< GridView, partitions >::writeGridPoints_AOS(), Opm::GridDataOutput::SimMeshDataAccessor< GridView, partitions >::writeGridPoints_SOA(), and Opm::GridDataOutput::SimMeshDataAccessor< GridView, partitions >::writeOffsetsCells().
◆ to_string() [2/4]
◆ to_string() [3/4]
◆ to_string() [4/4]
◆ verifyValidCellGeometry()
◆ wellProdIndStandard()
double Opm::wellProdIndStandard |
( |
const WellProdIndexCalculator & |
wellPICalc, |
|
|
const std::vector< double > & |
connMobility |
|
) |
| |
Compute well-level productivity index value.
- Parameters
-
[in] | wellPICalc | Productivity index calculator. |
[in] | connMobility | Phase mobility for each connection. Typically derived from dynamic flow state conditions in cells intersected by well's connections. Must have one value for each wellPICalc.numConnections()
well connection. |
- Returns
- Well-level steady-state productivity index value.
◆ externalLoadBalancer
std::optional<std::function<std::vector<int>(const Dune::CpGrid&)> > Opm::externalLoadBalancer |
|
extern |
|