|
| template<class K > |
| using | FMat4 = Dune::FieldMatrix< K, 4, 4 > |
| |
| template<class M > |
| using | FieldFunct = std::function< typename M::field_type(const typename M::field_type &)> |
| |
|
| constexpr bool | is_alignment (std::size_t value) noexcept |
| |
| template<class GridView > |
| std::size_t | countLocalInteriorCellsGridView (const GridView &gridView) |
| | Get the number of local interior cells in a grid view. More...
|
| |
| template<class Grid > |
| std::size_t | countLocalInteriorCells (const Grid &grid) |
| | Get the number of local interior cells in a grid. More...
|
| |
| template<class Grid > |
| std::size_t | countGlobalCells (const Grid &grid) |
| | Get the number of cells of a global grid. More...
|
| |
| void | checkAllMPIProcesses () |
| |
| void | mergeParallelLogFiles (std::string_view output_dir, std::string_view deck_filename, bool enableLoggingFalloutWarning) |
| |
| void | handleExtraConvergenceOutput (const SimulatorReport &report, std::string_view option, std::string_view optionName, std::string_view output_dir, std::string_view base_name) |
| |
| template<class Scalar > |
| void | hideUnusedParameters () |
| | Hides unused runtime parameters. More...
|
| |
| int | eclPositionalParameter (std::function< void(const std::string &, const std::string &)> addKey, std::set< std::string > &seenParams, std::string &errorMsg, const char **argv, int paramIdx) |
| |
| template<class Scalar > |
| void | detectOscillations (const std::vector< std::vector< Scalar > > &residualHistory, const int it, const int numPhases, const Scalar relaxRelTol, const int minimumOscillatingPhases, bool &oscillate, bool &stagnate) |
| | Detect oscillation or stagnation in a given residual history. More...
|
| |
| template<class BVector , class Scalar > |
| void | stabilizeNonlinearUpdate (BVector &dx, BVector &dxOld, const Scalar omega, NonlinearRelaxType relaxType) |
| |
| template<typename... T> |
| constexpr void | ignoreUnused (T &&...) noexcept |
| | Utility to silence "unused variable" warnings in lambdas. More...
|
| |
| void | registerSimulatorParameters () |
| |
| void | logTuning (const Tuning &tuning) |
| | Log tuning parameters. More...
|
| |
| template<class Grid , class CartMapper , class W > |
| void | setWellConnections (const Grid &grid, const CartMapper &cartMapper, const W &wells, const std::unordered_map< std::string, std::set< int > > &possibleFutureConnections, bool useWellConn, std::vector< std::set< int > > &wellGraph, int numJacobiBlocks) |
| | Find cell IDs for wells contained in local grid. More...
|
| |
| template<class Grid , class Mapper > |
| void | findOverlapAndInterior (const Grid &grid, const Mapper &mapper, std::vector< int > &overlapRows, std::vector< int > &interiorRows) |
| | Find the rows corresponding to overlap cells. More...
|
| |
| template<class Grid > |
| std::size_t | numMatrixRowsToUseInSolver (const Grid &grid, bool ownerFirst) |
| | If ownerFirst=true, returns the number of interior cells in grid, else just numCells(). More...
|
| |
| void | copyParValues (std::any ¶llelInformation, std::size_t size, Dune::OwnerOverlapCopyCommunication< int, int > &comm) |
| | Copy values in parallel. More...
|
| |
| template<class Matrix > |
| void | makeOverlapRowsInvalid (Matrix &matrix, const std::vector< int > &overlapRows) |
| |
| template<class Matrix , class Grid > |
| std::unique_ptr< Matrix > | blockJacobiAdjacency (const Grid &grid, const std::vector< int > &cell_part, std::size_t nonzeroes, const std::vector< std::set< int > > &wellConnectionsGraph) |
| |
| template<typename K , int m, int n> |
| static void | invertMatrix (Dune::FieldMatrix< K, m, n > &matrix) |
| |
| template<typename K > |
| static void | invertMatrix (Dune::FieldMatrix< K, 1, 1 > &matrix) |
| |
| template<typename K > |
| static void | invertMatrix (Dune::FieldMatrix< K, 2, 2 > &matrix) |
| |
| template<typename K > |
| static void | invertMatrix (Dune::FieldMatrix< K, 3, 3 > &matrix) |
| |
| template<template< class K > class Matrix, typename K > |
| static K | adjugateMatrix4 (const Matrix< K > &matrix, Matrix< K > &inverse) |
| |
| template<template< class K > class Matrix, typename K > |
| static K | invertMatrix4 (const Matrix< K > &matrix, Matrix< K > &inverse) |
| |
| template<typename K > |
| static void | invertMatrix (Dune::FieldMatrix< K, 4, 4 > &matrix) |
| |
| template<typename K > |
| static void | invertMatrix (Dune::DynamicMatrix< K > &matrix) |
| |
| template<typename T > |
| T | identityFunctor (const T &) |
| |
| template<typename T > |
| T | oneFunctor (const T &) |
| |
| template<typename T > |
| T | signFunctor (const T &) |
| |
| template<typename T > |
| T | isPositiveFunctor (const T &) |
| |
| template<typename T > |
| T | absFunctor (const T &) |
| |
| template<typename M > |
| void | milu0_decomposition (M &A, FieldFunct< M > absFunctor=signFunctor< typename M::field_type >, FieldFunct< M > signFunctor=oneFunctor< typename M::field_type >, std::vector< typename M::block_type > *diagonal=nullptr) |
| |
| template<class M > |
| void | milu0_decomposition (M &A, std::vector< typename M::block_type > *diagonal) |
| |
| template<class M > |
| void | milun_decomposition (const M &A, int n, MILU_VARIANT milu, M &ILU, Reorderer &ordering, Reorderer &inverseOrdering) |
| |
| template<class M > |
| void | ghost_last_bilu0_decomposition (M &A, std::size_t interiorSize) |
| | Compute Blocked ILU0 decomposition, when we know junk ghost rows are located at the end of A. More...
|
| |
| template<class M , class CRS , class InvVector > |
| void | convertToCRS (const M &A, CRS &lower, CRS &upper, InvVector &inv) |
| | compute ILU decomposition of A. A is overwritten by its decomposition More...
|
| |
| template<class PI > |
| size_t | set_interiorSize (size_t N, size_t interiorSize, const PI &comm) |
| |
| template<> |
| size_t | set_interiorSize (size_t N, size_t interiorSize, const Dune::OwnerOverlapCopyCommunication< int, int > &comm) |
| |
| void | writeJsonToStream (const Opm::PropertyTree &prm, std::ostream &os) |
| | Write a single property tree in JSON format to the stream. More...
|
| |
| void | writeJsonToStream (const std::vector< Opm::PropertyTree > &prms, std::ostream &os) |
| | Write a vector of property trees in JSON format to the stream. More...
|
| |
| template<class VectorOrSingle , class Comm > |
| void | printLinearSolverParameters (const FlowLinearSolverParameters ¶meters, const VectorOrSingle &prm, const Comm &comm) |
| | Print the linear solver parameters to the log if requested. More...
|
| |
| template<class Comm > |
| void | printLinearSolverParameters (const std::vector< FlowLinearSolverParameters > ¶meters, int activeSolverNum, const std::vector< Opm::PropertyTree > &prm, const Comm &comm) |
| | Print the linear solver parameters to the log if requested. More...
|
| |
| template<class TA , class TB , class TC , class PositiveSign > |
| static void | multMatrixImpl (const TA &A, const TB &B, TC &ret, const PositiveSign) |
| | calculates ret = A * B More...
|
| |
| template<class TA , class TB , class TC , class PositiveSign > |
| static void | multMatrixTransposedImpl (const TA &A, const TB &B, TC &ret, const PositiveSign) |
| |
| template<class DenseMatrixA , class DenseMatrixB , class DenseMatrixC > |
| static void | multMatrixTransposed (const DenseMatrixA &A, const DenseMatrixB &B, DenseMatrixC &ret) |
| | calculates ret = A^T * B More...
|
| |
| template<class DenseMatrixA , class DenseMatrixB , class DenseMatrixC > |
| static void | negativeMultMatrixTransposed (const DenseMatrixA &A, const DenseMatrixB &B, DenseMatrixC &ret) |
| | calculates ret = -A^T * B More...
|
| |
| template<class K > |
| static Dune::DynamicMatrix< K > | multMatrix (const Dune::DynamicMatrix< K > &A, const Dune::DynamicMatrix< K > &B) |
| | calculates ret = A * B More...
|
| |
| void | logTimer (const AdaptiveSimulatorTimer &substep_timer) |
| |
| std::set< std::string > | consistentlyFailingWells (const std::vector< StepReport > &sr, bool requireRepeatedFailures) |
| |
| void | registerAdaptiveParameters () |
| |
| std::tuple< TimeStepControlType, std::unique_ptr< TimeStepControlInterface >, bool > | createController (const UnitSystem &unitSystem) |
| |
| template<class Scalar > |
| Scalar | pressureAverage (const Scalar pressurePvHydrocarbon, const Scalar pvHydrocarbon, const Scalar pressurePv, const Scalar pv, const bool hydrocarbon) |
| | Calculates average pressure value. More...
|
| |
| template<class Scalar > |
| std::vector< Scalar > | pressureAverage (const std::vector< Scalar > &pressurePvHydrocarbon, const std::vector< Scalar > &pvHydrocarbon, const std::vector< Scalar > &pressurePv, const std::vector< Scalar > &pv, const bool hydrocarbon) |
| | Calculates average pressure value for a vector. More...
|
| |
| template<class Scalar > |
| VFPEvaluation< Scalar > | operator+ (VFPEvaluation< Scalar > lhs, const VFPEvaluation< Scalar > &rhs) |
| |
| template<class Scalar > |
| VFPEvaluation< Scalar > | operator- (VFPEvaluation< Scalar > lhs, const VFPEvaluation< Scalar > &rhs) |
| |
| template<class Scalar > |
| VFPEvaluation< Scalar > | operator* (Scalar lhs, const VFPEvaluation< Scalar > &rhs) |
| |
| template<typename T > |
| T | getFlo (const VFPProdTable &table, const T &aqua, const T &liquid, const T &vapour) |
| |
| template<typename T > |
| T | getFlo (const VFPInjTable &table, const T &aqua, const T &liquid, const T &vapour) |
| |
| template<typename T > |
| T | getWFR (const VFPProdTable &table, const T &aqua, const T &liquid, const T &vapour) |
| |
| template<typename T > |
| T | getGFR (const VFPProdTable &table, const T &aqua, const T &liquid, const T &vapour) |
| |
| template<typename T > |
| const T & | getTable (const std::map< int, std::reference_wrapper< const T > > &tables, int table_id) |
| |
| template<typename T > |
| bool | hasTable (const std::map< int, std::reference_wrapper< const T > > &tables, int table_id) |
| |
| template<typename TYPE , typename TABLE > |
| TYPE | getType (const TABLE &table) |
| |
◆ FieldFunct
◆ FMat4
◆ absFunctor()
template<typename T >
| T Opm::detail::absFunctor |
( |
const T & |
| ) |
|
◆ adjugateMatrix4()
template<template< class K > class Matrix, typename K >
| static K Opm::detail::adjugateMatrix4 |
( |
const Matrix< K > & |
matrix, |
|
|
Matrix< K > & |
inverse |
|
) |
| |
|
inlinestatic |
Compute the adjugate of a 4x4 matrix and return its determinant. The inverse of the matrix is the adjugate divided by the determinant.
◆ blockJacobiAdjacency()
template<class Matrix , class Grid >
| std::unique_ptr< Matrix > Opm::detail::blockJacobiAdjacency |
( |
const Grid & |
grid, |
|
|
const std::vector< int > & |
cell_part, |
|
|
std::size_t |
nonzeroes, |
|
|
const std::vector< std::set< int > > & |
wellConnectionsGraph |
|
) |
| |
Create sparsity pattern for block-Jacobi matrix based on partitioning of grid. Do not initialize the values, that is done in copyMatToBlockJac()
◆ checkAllMPIProcesses()
| void Opm::detail::checkAllMPIProcesses |
( |
| ) |
|
◆ consistentlyFailingWells()
| std::set< std::string > Opm::detail::consistentlyFailingWells |
( |
const std::vector< StepReport > & |
sr, |
|
|
bool |
requireRepeatedFailures |
|
) |
| |
◆ convertToCRS()
template<class M , class CRS , class InvVector >
| void Opm::detail::convertToCRS |
( |
const M & |
A, |
|
|
CRS & |
lower, |
|
|
CRS & |
upper, |
|
|
InvVector & |
inv |
|
) |
| |
◆ copyParValues()
| void Opm::detail::copyParValues |
( |
std::any & |
parallelInformation, |
|
|
std::size_t |
size, |
|
|
Dune::OwnerOverlapCopyCommunication< int, int > & |
comm |
|
) |
| |
◆ countGlobalCells()
template<class Grid >
| std::size_t Opm::detail::countGlobalCells |
( |
const Grid & |
grid | ) |
|
◆ countLocalInteriorCells()
template<class Grid >
| std::size_t Opm::detail::countLocalInteriorCells |
( |
const Grid & |
grid | ) |
|
Get the number of local interior cells in a grid.
- Template Parameters
-
- Parameters
-
| [in] | grid | Grid for which to count interior cells. |
- Returns
- The number of interior cells in the partition of the grid stored on this process.
References countLocalInteriorCellsGridView().
◆ countLocalInteriorCellsGridView()
template<class GridView >
| std::size_t Opm::detail::countLocalInteriorCellsGridView |
( |
const GridView & |
gridView | ) |
|
◆ createController()
◆ detectOscillations()
template<class Scalar >
| void Opm::detail::detectOscillations |
( |
const std::vector< std::vector< Scalar > > & |
residualHistory, |
|
|
const int |
it, |
|
|
const int |
numPhases, |
|
|
const Scalar |
relaxRelTol, |
|
|
const int |
minimumOscillatingPhases, |
|
|
bool & |
oscillate, |
|
|
bool & |
stagnate |
|
) |
| |
◆ eclPositionalParameter()
| int Opm::detail::eclPositionalParameter |
( |
std::function< void(const std::string &, const std::string &)> |
addKey, |
|
|
std::set< std::string > & |
seenParams, |
|
|
std::string & |
errorMsg, |
|
|
const char ** |
argv, |
|
|
int |
paramIdx |
|
) |
| |
◆ findOverlapAndInterior()
template<class Grid , class Mapper >
| void Opm::detail::findOverlapAndInterior |
( |
const Grid & |
grid, |
|
|
const Mapper & |
mapper, |
|
|
std::vector< int > & |
overlapRows, |
|
|
std::vector< int > & |
interiorRows |
|
) |
| |
◆ getFlo() [1/2]
template<typename T >
| T Opm::detail::getFlo |
( |
const VFPInjTable & |
table, |
|
|
const T & |
aqua, |
|
|
const T & |
liquid, |
|
|
const T & |
vapour |
|
) |
| |
Computes the flo parameter according to the flo_type_ for injection tables - Returns
- Production rate of oil, gas or liquid.
◆ getFlo() [2/2]
template<typename T >
| T Opm::detail::getFlo |
( |
const VFPProdTable & |
table, |
|
|
const T & |
aqua, |
|
|
const T & |
liquid, |
|
|
const T & |
vapour |
|
) |
| |
Computes the flo parameter according to the flo_type_ for production tables - Returns
- Production rate of oil, gas or liquid.
◆ getGFR()
template<typename T >
| T Opm::detail::getGFR |
( |
const VFPProdTable & |
table, |
|
|
const T & |
aqua, |
|
|
const T & |
liquid, |
|
|
const T & |
vapour |
|
) |
| |
◆ getTable()
template<typename T >
| const T & Opm::detail::getTable |
( |
const std::map< int, std::reference_wrapper< const T > > & |
tables, |
|
|
int |
table_id |
|
) |
| |
Returns the table from the map if found, or throws an exception
◆ getType()
template<typename TYPE , typename TABLE >
| TYPE Opm::detail::getType |
( |
const TABLE & |
table | ) |
|
◆ getWFR()
template<typename T >
| T Opm::detail::getWFR |
( |
const VFPProdTable & |
table, |
|
|
const T & |
aqua, |
|
|
const T & |
liquid, |
|
|
const T & |
vapour |
|
) |
| |
◆ ghost_last_bilu0_decomposition()
template<class M >
| void Opm::detail::ghost_last_bilu0_decomposition |
( |
M & |
A, |
|
|
std::size_t |
interiorSize |
|
) |
| |
◆ handleExtraConvergenceOutput()
| void Opm::detail::handleExtraConvergenceOutput |
( |
const SimulatorReport & |
report, |
|
|
std::string_view |
option, |
|
|
std::string_view |
optionName, |
|
|
std::string_view |
output_dir, |
|
|
std::string_view |
base_name |
|
) |
| |
◆ hasTable()
template<typename T >
| bool Opm::detail::hasTable |
( |
const std::map< int, std::reference_wrapper< const T > > & |
tables, |
|
|
int |
table_id |
|
) |
| |
Check whether we have a table with the table number
◆ hideUnusedParameters()
template<class Scalar >
| void Opm::detail::hideUnusedParameters |
( |
| ) |
|
Hides unused runtime parameters.
◆ identityFunctor()
template<typename T >
| T Opm::detail::identityFunctor |
( |
const T & |
| ) |
|
◆ ignoreUnused()
template<typename... T>
| constexpr void Opm::detail::ignoreUnused |
( |
T && |
... | ) |
|
|
constexprnoexcept |
Utility to silence "unused variable" warnings in lambdas.
◆ invertMatrix() [1/6]
template<typename K >
| static void Opm::detail::invertMatrix |
( |
Dune::DynamicMatrix< K > & |
matrix | ) |
|
|
inlinestatic |
◆ invertMatrix() [2/6]
template<typename K >
| static void Opm::detail::invertMatrix |
( |
Dune::FieldMatrix< K, 1, 1 > & |
matrix | ) |
|
|
inlinestatic |
◆ invertMatrix() [3/6]
template<typename K >
| static void Opm::detail::invertMatrix |
( |
Dune::FieldMatrix< K, 2, 2 > & |
matrix | ) |
|
|
inlinestatic |
◆ invertMatrix() [4/6]
template<typename K >
| static void Opm::detail::invertMatrix |
( |
Dune::FieldMatrix< K, 3, 3 > & |
matrix | ) |
|
|
inlinestatic |
◆ invertMatrix() [5/6]
template<typename K >
| static void Opm::detail::invertMatrix |
( |
Dune::FieldMatrix< K, 4, 4 > & |
matrix | ) |
|
|
inlinestatic |
◆ invertMatrix() [6/6]
template<typename K , int m, int n>
| static void Opm::detail::invertMatrix |
( |
Dune::FieldMatrix< K, m, n > & |
matrix | ) |
|
|
inlinestatic |
◆ invertMatrix4()
template<template< class K > class Matrix, typename K >
| static K Opm::detail::invertMatrix4 |
( |
const Matrix< K > & |
matrix, |
|
|
Matrix< K > & |
inverse |
|
) |
| |
|
inlinestatic |
invert 4x4 Matrix without changing the original matrix
The cofactor expansion is used by default. It is branch free and roughly an order of magnitude faster than a pivoted LU at this size, which matters because every diagonal block of the ILU decomposition goes through here.
Its determinant is however the product of the four column scales, so it underflows for blocks whose residuals are insensitive to some of the primary variables - a cell in which a phase is absent or immobile - even though those blocks are perfectly well invertible. Dividing the adjugate by such a determinant is unreliable, so fall back to Dune's invert(), which uses Gaussian elimination with partial pivoting and reports a matrix as singular only when a pivot is exactly zero. Block sizes 5 and above already use that routine.
Referenced by invertMatrix().
◆ is_alignment()
| constexpr bool Opm::detail::is_alignment |
( |
std::size_t |
value | ) |
|
|
inlineconstexprnoexcept |
◆ isPositiveFunctor()
template<typename T >
| T Opm::detail::isPositiveFunctor |
( |
const T & |
| ) |
|
◆ logTimer()
◆ logTuning()
| void Opm::detail::logTuning |
( |
const Tuning & |
tuning | ) |
|
◆ makeOverlapRowsInvalid()
template<class Matrix >
| void Opm::detail::makeOverlapRowsInvalid |
( |
Matrix & |
matrix, |
|
|
const std::vector< int > & |
overlapRows |
|
) |
| |
◆ mergeParallelLogFiles()
| void Opm::detail::mergeParallelLogFiles |
( |
std::string_view |
output_dir, |
|
|
std::string_view |
deck_filename, |
|
|
bool |
enableLoggingFalloutWarning |
|
) |
| |
◆ milu0_decomposition() [1/2]
template<typename M >
| void Opm::detail::milu0_decomposition |
( |
M & |
A, |
|
|
FieldFunct< M > |
absFunctor = signFunctor< typename M::field_type >, |
|
|
FieldFunct< M > |
signFunctor = oneFunctor< typename M::field_type >, |
|
|
std::vector< typename M::block_type > * |
diagonal = nullptr |
|
) |
| |
◆ milu0_decomposition() [2/2]
template<class M >
| void Opm::detail::milu0_decomposition |
( |
M & |
A, |
|
|
std::vector< typename M::block_type > * |
diagonal |
|
) |
| |
◆ milun_decomposition()
◆ multMatrix()
template<class K >
| static Dune::DynamicMatrix< K > Opm::detail::multMatrix |
( |
const Dune::DynamicMatrix< K > & |
A, |
|
|
const Dune::DynamicMatrix< K > & |
B |
|
) |
| |
|
inlinestatic |
◆ multMatrixImpl()
template<class TA , class TB , class TC , class PositiveSign >
| static void Opm::detail::multMatrixImpl |
( |
const TA & |
A, |
|
|
const TB & |
B, |
|
|
TC & |
ret, |
|
|
const |
PositiveSign |
|
) |
| |
|
inlinestatic |
◆ multMatrixTransposed()
template<class DenseMatrixA , class DenseMatrixB , class DenseMatrixC >
| static void Opm::detail::multMatrixTransposed |
( |
const DenseMatrixA & |
A, |
|
|
const DenseMatrixB & |
B, |
|
|
DenseMatrixC & |
ret |
|
) |
| |
|
inlinestatic |
◆ multMatrixTransposedImpl()
template<class TA , class TB , class TC , class PositiveSign >
| static void Opm::detail::multMatrixTransposedImpl |
( |
const TA & |
A, |
|
|
const TB & |
B, |
|
|
TC & |
ret, |
|
|
const |
PositiveSign |
|
) |
| |
|
inlinestatic |
◆ negativeMultMatrixTransposed()
template<class DenseMatrixA , class DenseMatrixB , class DenseMatrixC >
| static void Opm::detail::negativeMultMatrixTransposed |
( |
const DenseMatrixA & |
A, |
|
|
const DenseMatrixB & |
B, |
|
|
DenseMatrixC & |
ret |
|
) |
| |
|
inlinestatic |
◆ numMatrixRowsToUseInSolver()
template<class Grid >
| std::size_t Opm::detail::numMatrixRowsToUseInSolver |
( |
const Grid & |
grid, |
|
|
bool |
ownerFirst |
|
) |
| |
If ownerFirst=true, returns the number of interior cells in grid, else just numCells().
If cells in grid is ordered so that interior/owner cells come before overlap/copy cells, the method returns the number of interior cells numInterior. In the linear solver only the first numInterior rows of the matrix are needed.
Referenced by Opm::ISTLSolver< TypeTag >::initialize(), and Opm::ISTLSolverTPSA< TypeTag >::initialize().
◆ oneFunctor()
template<typename T >
| T Opm::detail::oneFunctor |
( |
const T & |
| ) |
|
◆ operator*()
◆ operator+()
◆ operator-()
◆ pressureAverage() [1/2]
template<class Scalar >
| Scalar Opm::detail::pressureAverage |
( |
const Scalar |
pressurePvHydrocarbon, |
|
|
const Scalar |
pvHydrocarbon, |
|
|
const Scalar |
pressurePv, |
|
|
const Scalar |
pv, |
|
|
const bool |
hydrocarbon |
|
) |
| |
Calculates average pressure value.
◆ pressureAverage() [2/2]
template<class Scalar >
| std::vector< Scalar > Opm::detail::pressureAverage |
( |
const std::vector< Scalar > & |
pressurePvHydrocarbon, |
|
|
const std::vector< Scalar > & |
pvHydrocarbon, |
|
|
const std::vector< Scalar > & |
pressurePv, |
|
|
const std::vector< Scalar > & |
pv, |
|
|
const bool |
hydrocarbon |
|
) |
| |
Calculates average pressure value for a vector.
◆ printLinearSolverParameters() [1/2]
template<class VectorOrSingle , class Comm >
◆ printLinearSolverParameters() [2/2]
Print the linear solver parameters to the log if requested.
- Parameters
-
| parameters | The vector of linear solver parameters. |
| activeSolverNum | The index of the active solver. |
| prm | The vector property tree containing the parameters. |
| comm | The communication object to check if we are on the IO rank. |
This function will only print the parameters if the linear_solver_print_json_definition_ flag is set to true for the active solver. It will print the prm in JSON format.
- Template Parameters
-
| Comm | The type of the communication object, which should support rank() method. |
References printLinearSolverParameters().
◆ registerAdaptiveParameters()
| void Opm::detail::registerAdaptiveParameters |
( |
| ) |
|
◆ registerSimulatorParameters()
| void Opm::detail::registerSimulatorParameters |
( |
| ) |
|
◆ set_interiorSize() [1/2]
template<>
| size_t Opm::detail::set_interiorSize |
( |
size_t |
N, |
|
|
size_t |
interiorSize, |
|
|
const Dune::OwnerOverlapCopyCommunication< int, int > & |
comm |
|
) |
| |
◆ set_interiorSize() [2/2]
template<class PI >
| size_t Opm::detail::set_interiorSize |
( |
size_t |
N, |
|
|
size_t |
interiorSize, |
|
|
const PI & |
comm |
|
) |
| |
◆ setWellConnections()
template<class Grid , class CartMapper , class W >
| void Opm::detail::setWellConnections |
( |
const Grid & |
grid, |
|
|
const CartMapper & |
cartMapper, |
|
|
const W & |
wells, |
|
|
const std::unordered_map< std::string, std::set< int > > & |
possibleFutureConnections, |
|
|
bool |
useWellConn, |
|
|
std::vector< std::set< int > > & |
wellGraph, |
|
|
int |
numJacobiBlocks |
|
) |
| |
Find cell IDs for wells contained in local grid.
Cell IDs of wells stored in a graph, so it can be used to create an adjacency pattern. Only relevant when the UseWellContribusion option is set to true - Template Parameters
-
| The | type of the DUNE grid. |
| Well | vector type |
- Parameters
-
| grid | The grid where we look for overlap cells. |
| wells | List of wells contained in grid. |
| useWellConn | Boolean that is true when UseWellContribusion is true |
| wellGraph | Cell IDs of well cells stored in a graph. |
◆ signFunctor()
template<typename T >
| T Opm::detail::signFunctor |
( |
const T & |
| ) |
|
◆ stabilizeNonlinearUpdate()
template<class BVector , class Scalar >
| void Opm::detail::stabilizeNonlinearUpdate |
( |
BVector & |
dx, |
|
|
BVector & |
dxOld, |
|
|
const Scalar |
omega, |
|
|
NonlinearRelaxType |
relaxType |
|
) |
| |
◆ writeJsonToStream() [1/2]
| void Opm::detail::writeJsonToStream |
( |
const Opm::PropertyTree & |
prm, |
|
|
std::ostream & |
os |
|
) |
| |
|
inline |
◆ writeJsonToStream() [2/2]
| void Opm::detail::writeJsonToStream |
( |
const std::vector< Opm::PropertyTree > & |
prms, |
|
|
std::ostream & |
os |
|
) |
| |
|
inline |
Write a vector of property trees in JSON format to the stream.
- Note
- Helper function to write a property tree in JSON format to the log.
References writeJsonToStream().
◆ is_multi_type_block_vector_v
|