Class for immiscible dead oil and dry gas. More...
Classes | |
class | BlackoilFluid |
Class responsible for computing all fluid properties from face pressures and composition. More... | |
struct | FaceFluidData |
struct | AllFluidData |
class | BlackoilInitialization |
Base class for initialization codes. More... | |
class | BasicInitialization |
Initialize basic cases. More... | |
class | SPE9Initialization |
Initialize SPE9 type case. More... | |
class | BlackoilSimulator |
class | BlackoilWells |
A class designed to encapsulate a set of rate- or pressure-controlled wells in the black-oil setting. More... | |
class | BlackoilCo2PVT |
class | ExplicitCompositionalTransport |
class | BlackoilDefs |
class | BlackoilPVT |
class | FluidMatrixInteractionBlackoil |
Capillary pressures and relative permeabilities for a black oil system. More... | |
class | FluidMatrixInteractionBlackoilParams |
struct | FluidStateBlackoil |
Fluid state for a black oil model. More... | |
struct | AllFluidStates |
Multiple fluid states for a black oil model. More... | |
class | MiscibilityDead |
class | MiscibilityLiveGas |
class | MiscibilityLiveOil |
class | MiscibilityProps |
class | MiscibilityWater |
class | BCBase |
A class for building boundary conditions in a uniform way. More... | |
class | FlowBC |
A class for representing a flow boundary condition. More... | |
class | SatBC |
A class for representing a saturation boundary condition. More... | |
class | SurfvolBC |
A class for representing a surface volume boundary condition. More... | |
class | PeriodicConditionHandler |
class | DummyVec |
class | BasicBoundaryConditions |
struct | BoundaryFaceInfo |
struct | AllCellsLayout |
General cell layout. More... | |
struct | GICellMapper |
Mapper for general grids. More... | |
struct | CpGridCellMapper |
A mapper for Dune::CpGrid cells only. More... | |
struct | GICellMapper< Dune::CpGrid > |
Specialization of mapper selector for Dune::CpGrid for more performance. More... | |
class | GridInterfaceEuler |
class | MaxNormStl |
class | MaxNormDune |
class | ReservoirState |
class | Rock |
A property class for porous media rock. More... | |
class | TwophaseFluidWrapper |
class | LinearSolverBICGSTAB |
class | LinearSolverISTLAMG |
class | TransportSource |
class | OwnData |
FullMatrix StoragePolicy which provides object owning semantics. More... | |
class | SharedData |
FullMatrix StoragePolicy which provides object sharing semantics. More... | |
class | ImmutableSharedData |
FullMatrix StoragePolicy which provides immutable object sharing semantics. More... | |
struct | ScalarMobility |
A wrapper for a scalar. More... | |
class | ReservoirPropertyCapillary |
A property class for incompressible two-phase flow. More... | |
struct | TensorMobility |
A wrapper for a tensor. More... | |
class | ReservoirPropertyCapillaryAnisotropicRelperm |
A property class for incompressible two-phase flow. More... | |
class | ReservoirPropertyCommon |
A property class for incompressible two-phase flow. More... | |
class | ReservoirPropertyFixedMobility |
class | ReservoirPropertyTracerFluid |
class | RockAnisotropicRelperm |
class | RockJfunc |
class | SimulatorBase |
struct | Isotropic |
Traits policies for isotropic (scalar) relperm. More... | |
struct | Anisotropic |
Traits for upscaling with anisotropic relperm (tensorial) input. More... | |
struct | Explicit |
Traits for explicit transport. More... | |
struct | ImplicitCap |
Traits for implicit transport. More... | |
struct | SimulatorTraits |
Combines the component traits into a single, parametrized type. More... | |
class | Wells |
A class designed to encapsulate a set of rate- or pressure-controlled wells. More... | |
class | EulerUpstream |
Class for doing simple transport by explicit Euler upstream method for general grid. More... | |
class | EulerUpstreamImplicit |
Class for doing simple transport by implicit Euler upstream method for general grid. More... | |
class | EulerUpstreamResidual |
Class for doing simple transport by explicit Euler upstream method for general grid. More... | |
class | ImplicitCapillarity |
Class for doing simple transport by explicit Euler upstream method for general grid. More... | |
struct | MatchSaturatedVolumeFunctor |
class | IncompFlowSolverHybrid |
Solve mixed formulation of incompressible flow modelled by Darcy's law
] The solver is based on a hybrid discretization scheme which yields a system of linear equations of the form
=
] where | |
class | MimeticIPAnisoRelpermEvaluator |
class | MimeticIPEvaluator |
class | TpfaCompressible |
class | CornerPointChopper |
class | RelPermUpscaleHelper |
Helper class for relperm upscaling applications. More... | |
class | SinglePhaseUpscaler |
A class for doing single phase (permeability) upscaling. More... | |
class | SteadyStateUpscaler |
A class for doing steady state upscaling. More... | |
class | SteadyStateUpscalerImplicit |
A class for doing steady state upscaling. More... | |
class | SteadyStateUpscalerManager |
class | SteadyStateUpscalerManagerImplicit |
class | UpscalerBase |
A base class for upscaling. More... | |
Typedefs | |
typedef BlackoilCo2PVT | BlackoilPVT |
typedef FullMatrix< double, OwnData, COrdering > | OwnCMatrix |
Convenience typedefs for C-ordered. More... | |
typedef FullMatrix< double, SharedData, COrdering > | SharedCMatrix |
typedef const FullMatrix < double, ImmutableSharedData, COrdering > | ImmutableCMatrix |
typedef FullMatrix< double, OwnData, FortranOrdering > | OwnFortranMatrix |
Convenience typedefs for Fortran-ordered. More... | |
typedef FullMatrix< double, SharedData, FortranOrdering > | SharedFortranMatrix |
typedef const FullMatrix < double, ImmutableSharedData, FortranOrdering > | ImmutableFortranMatrix |
typedef SimulatorTraits < Isotropic, Explicit > | UpscalingTraitsBasic |
typedef SimulatorTraits < Anisotropic, Explicit > | UpscalingTraitsAnisoRelperm |
Enumerations | |
enum | PermeabilityKind { ScalarPerm, DiagonalPerm, TensorPerm, None, Invalid } |
Enum for the kind of permeability field originally retrieved. | |
Functions | |
template<typename charT , class traits , typename T > | |
std::basic_ostream< charT, traits > & | operator<< (std::basic_ostream< charT, traits > &os, const BCBase< T > &bc) |
Stream insertion for BCBase. | |
template<typename charT , class traits > | |
std::basic_ostream< charT, traits > & | operator<< (std::basic_ostream< charT, traits > &os, const PeriodicConditionHandler &pch) |
template<typename charT , class traits , bool F, bool S> | |
std::basic_ostream< charT, traits > & | operator<< (std::basic_ostream< charT, traits > &os, const BasicBoundaryConditions< F, S > &bcs) |
bool | match (std::vector< BoundaryFaceInfo > &bfaces, int face, int lower, int upper) |
Find a match (periodic partner) for the given face. More... | |
template<class GridView > | |
void | findPeriodicPartners (std::vector< BoundaryFaceInfo > &bfinfo, std::array< double, 6 > &side_areas, const GridView &g, const std::array< bool, 2 *GridView::dimension > &is_periodic, double spatial_tolerance=1e-6) |
Common implementation for the various createPeriodic functions. | |
template<class Arr > | |
void | append_transport_source (int c, double p, double v, const Arr &s, TransportSource &src) |
void | compute_porevolume (const UnstructuredGrid *g, const Rock &rock, std::vector< double > &porevol) |
template<class Matrix > | |
void | zero (Matrix &A) |
Zero-fill a. More... | |
template<class Matrix > | |
void | eye (Matrix &A) |
Make an identity. More... | |
template<class Matrix > | |
Matrix::value_type | trace (const Matrix &A) |
Compute matrix trace (i.e., sum(diag(A))). More... | |
template<class Matrix , int rows> | |
Dune::FieldVector< typename Matrix::value_type, rows > | prod (const Matrix &A, const Dune::FieldVector< typename Matrix::value_type, rows > &x) |
Matrix applied to a vector. More... | |
template<class Matrix1 , class Matrix2 , class MutableMatrix > | |
void | prod (const Matrix1 &A, const Matrix2 &B, MutableMatrix &C) |
Compute C = AB. More... | |
template<typename T , template< typename > class StoragePolicy> | |
int | orthogonalizeColumns (FullMatrix< T, StoragePolicy, FortranOrdering > &A) |
Construct orthonormal basis for matrix range (i.e., column space). More... | |
template<typename T , template< typename > class StoragePolicy, class OrderingPolicy > | |
int | invert (FullMatrix< T, StoragePolicy, OrderingPolicy > &A) |
Matrix inversion, ![]() | |
template<typename T , template< typename > class StoragePolicy> | |
void | symmetricUpdate (const T &a1, const FullMatrix< T, StoragePolicy, FortranOrdering > &A, const T &a2, FullMatrix< T, StoragePolicy, FortranOrdering > &C) |
Symmetric, rank ![]() | |
template<typename T , template< typename > class StoragePolicy> | |
void | symmetricUpdate (const FullMatrix< T, StoragePolicy, FortranOrdering > &A, FullMatrix< T, StoragePolicy, FortranOrdering > &B) |
template<typename T , template< typename > class SP> | |
void | vecMulAdd_N (const T &a1, const FullMatrix< T, SP, FortranOrdering > &A, const std::vector< T > &x, const T &a2, std::vector< T > &y) |
GEneral Matrix-Vector product (GAXPY operation). More... | |
template<typename T , template< typename > class SP> | |
void | vecMulAdd_N (const T &a1, const FullMatrix< T, SP, FortranOrdering > &A, const T *x, const T &a2, T *y) |
GEneral Matrix-Vector product (GAXPY operation). More... | |
template<typename T , template< typename > class SP> | |
void | vecMulAdd_T (const T &a1, const FullMatrix< T, SP, FortranOrdering > &A, const std::vector< T > &x, const T &a2, std::vector< T > &y) |
GEneral Matrix-Vector product (GAXPY operation). More... | |
template<typename T , template< typename > class SP> | |
void | vecMulAdd_T (const T &a1, const FullMatrix< T, SP, FortranOrdering > &A, const T *x, const T &a2, T *y) |
GEneral Matrix-Vector product (GAXPY operation). More... | |
template<typename T , template< typename > class SP> | |
void | vecMulAdd_N (const T &a1, const FullMatrix< T, SP, COrdering > &A, const T *x, const T &a2, T *y) |
GEneral Matrix-Vector product (GAXPY operation). More... | |
template<typename T , template< typename > class SP1, template< typename > class SP2, template< typename > class SP3> | |
void | matMulAdd_NN (const T &a1, const FullMatrix< T, SP1, FortranOrdering > &A, const FullMatrix< T, SP2, FortranOrdering > &B, const T &a2, FullMatrix< T, SP3, FortranOrdering > &C) |
GEneral Matrix-Matrix product update of other matrix. More... | |
template<typename T , template< typename > class SP1, template< typename > class SP2, template< typename > class SP3> | |
void | matMulAdd_NT (const T &a1, const FullMatrix< T, SP1, FortranOrdering > &A, const FullMatrix< T, SP2, FortranOrdering > &B, const T &a2, FullMatrix< T, SP3, FortranOrdering > &C) |
GEneral Matrix-Matrix product update of other matrix. More... | |
template<typename T , template< typename > class SP1, template< typename > class SP2, template< typename > class SP3> | |
void | matMulAdd_TN (const T &a1, const FullMatrix< T, SP1, FortranOrdering > &A, const FullMatrix< T, SP2, FortranOrdering > &B, const T &a2, FullMatrix< T, SP3, FortranOrdering > &C) |
GEneral Matrix-Matrix product update of other matrix. More... | |
template<typename T , template< typename > class SP1, template< typename > class SP2, template< typename > class SP3> | |
void | matMulAdd_NN (const T &a1, const FullMatrix< T, SP1, FortranOrdering > &A, const FullMatrix< T, SP2, COrdering > &B, const T &a2, FullMatrix< T, SP3, FortranOrdering > &C) |
GEneral Matrix-Matrix product update of other matrix. More... | |
template<class charT , class traits , typename T , template< typename > class SP, class OP > | |
std::basic_ostream< charT, traits > & | operator<< (std::basic_ostream< charT, traits > &os, const FullMatrix< T, SP, OP > &A) |
Stream output operator for. More... | |
template<typename M > | |
M | inverse2x2 (const M &m) |
template<typename M > | |
M | matprod (const M &m1, const M &m2) |
template<typename M > | |
M | inverse3x3 (const M &m) |
template<class BCs > | |
void | storeFlowCond (BCs &bcs, const std::vector< BoundaryFaceInfo > &bfinfo, const std::array< FlowBC, 6 > &fconditions, const std::array< double, 6 > &side_areas) |
template<class BCs > | |
void | storeSatCond (BCs &bcs, const std::vector< BoundaryFaceInfo > &bfinfo, const std::array< SatBC, 6 > &sconditions) |
template<class BC > | |
std::array< bool, 6 > | extractPeriodic (const std::array< BC, 6 > &bcs) |
template<class BCs , class GridInterface > | |
void | createPeriodic (BCs &fbcs, const GridInterface &g, const std::array< FlowBC, 2 *GridInterface::Dimension > &fconditions, const std::array< SatBC, 2 *GridInterface::Dimension > &sconditions, double spatial_tolerance=1e-6) |
Makes a boundary condition object representing periodic boundary conditions in any cartesian directions. More... | |
template<class BCs , class GridInterface > | |
void | createPeriodic (BCs &fbcs, const GridInterface &g, const std::array< FlowBC, 2 *GridInterface::Dimension > &fconditions, double spatial_tolerance=1e-6) |
template<class BCs , class GridInterface > | |
void | createPeriodic (BCs &fbcs, const GridInterface &g, const std::array< SatBC, 2 *GridInterface::Dimension > &sconditions, double spatial_tolerance=1e-6) |
template<class BCs , class GridInterface > | |
void | createPeriodicImpl (BCs &fbcs, std::vector< BoundaryFaceInfo > &bfinfo, std::array< double, 6 > &side_areas, const GridInterface &g, const std::array< bool, 2 *GridInterface::Dimension > &is_periodic, double spatial_tolerance=1e-6) |
Common implementation for the various createPeriodic functions. | |
template<class BCs , class GridInterface > | |
void | createLinear (BCs &fbcs, const GridInterface &g, const double pdrop, const int pddir, const double bdy_sat, const bool twodim_hack=false, const double spatial_tolerance=1e-6) |
Makes a boundary condition object representing linear boundary conditions in any cartesian direction. More... | |
template<class GridInterface , class BCs > | |
void | setupBoundaryConditions (const Opm::ParameterGroup ¶m, const GridInterface &g, BCs &bcs) |
Setup boundary conditions for a simulation. More... | |
template<class GridInterface , class BCs > | |
void | setupUpscalingConditions (const GridInterface &g, int bct, int pddir, double pdrop, double bdy_sat, bool twodim_hack, BCs &bcs) |
template<class GridInterface , class BCs > | |
void | setupRegionBasedConditions (const Opm::ParameterGroup ¶m, const GridInterface &g, BCs &bcs) |
template<> | |
bool | useJ< ReservoirPropertyCapillary< 3 > > () |
template<class RP > | |
bool | useJ () |
Helper for determining whether we should. | |
template<template< int > class ResProp> | |
void | setupGridAndProps (const Opm::ParameterGroup ¶m, Dune::CpGrid &grid, ResProp< 3 > &res_prop) |
template<template< int > class ResProp> | |
void | setupGridAndPropsEclipse (const Opm::Deck &deck, bool periodic_extension, bool turn_normals, bool clip_z, bool unique_bids, double perm_threshold, const std::string &rock_list, bool use_jfunction_scaling, double sigma, double theta, Dune::CpGrid &grid, ResProp< 3 > &res_prop) |
template<class GridInterface , class FlowSol > | |
void | estimateCellVelocity (std::vector< typename GridInterface::Vector > &cell_velocity, const GridInterface &ginterf, const FlowSol &flow_solution) |
Estimates a scalar cell velocity from outgoing fluxes. More... | |
template<class GridInterface > | |
void | estimateCellVelocitySimpleInterface (std::vector< typename GridInterface::Vector > &cell_velocity, const GridInterface &grid, const std::vector< double > &face_flux) |
Estimates a scalar cell velocity from face fluxes. More... | |
template<class GridInterface , class FlowSol > | |
void | estimateCellVelocity (std::vector< typename GridInterface::Vector > &cell_velocity, const GridInterface &ginterf, const FlowSol &flow_solution, const std::vector< int > &partition, const int my_partition) |
Estimates a scalar cell velocity from outgoing fluxes. More... | |
template<class ReservoirProperty > | |
void | computePhaseVelocities (std::vector< Dune::FieldVector< double, 3 > > &phase_velocity_water, std::vector< Dune::FieldVector< double, 3 > > &phase_velocity_oil, const ReservoirProperty &res_prop, const std::vector< double > &saturation, const std::vector< Dune::FieldVector< double, 3 > > &cell_velocity) |
template<class GridInterface , class FlowSol > | |
void | getCellPressure (std::vector< double > &cell_pressure, const GridInterface &ginterf, const FlowSol &flow_solution) |
template<class GridInterface , class FlowSol > | |
void | getCellPressure (std::vector< double > &cell_pressure, const GridInterface &ginterf, const FlowSol &flow_solution, const std::vector< int > &partition, const int my_partition) |
template<class ReservoirProperties > | |
void | computeCapPressure (std::vector< double > &cap_pressure, const ReservoirProperties &rp, const std::vector< double > &sat) |
Computes the capillary pressure in each cell from the cell saturations. More... | |
template<class GridInterface , class ReservoirProperties , class FlowSol > | |
void | writeVtkOutput (const GridInterface &ginterf, const ReservoirProperties &rp, const FlowSol &flowsol, const std::vector< double > &saturation, const std::string &filename) |
void | writeField (const std::vector< double > &field, const std::string &filename) |
template<class GridInterface , class ReservoirProperties > | |
std::pair< double, double > | poreSatVolumes (const GridInterface &grid, const ReservoirProperties &rp, const std::vector< double > &sat) |
void | initCPGrid (Dune::CpGrid &grid, const ParameterGroup ¶m) |
void | addNonStandardUpscalingKeywords (Parser &parser) |
This function registers non-standard keywords used by opm-upscaling in a parser object. More... | |
double | getVoigtValue (const SinglePhaseUpscaler::permtensor_t &K, int voigt_idx) |
Get value from tensor. More... | |
void | setVoigtValue (SinglePhaseUpscaler::permtensor_t &K, int voigt_idx, double val) |
Set value in tensor. More... | |
template<class Istream > | |
void | readControl (Istream &is, std::vector< double > &saturations, Opm::SparseTable< double > &all_pdrops) |
Reads saturation and pressure drop data from an input stream. | |
template<class Ostream > | |
void | writeControl (Ostream &os, const std::vector< double > &saturations, const Opm::SparseTable< double > &all_pdrops) |
Writes saturation and pressure drop data to an output stream. | |
template<class Ostream , class Tensor > | |
void | writeRelPerm (Ostream &os, const Tensor &K, double sat, double pdrop) |
template<class Ostream , class Tensor > | |
void | writeRelPerm (Ostream &os, const Tensor &K, double sat, double pdrop, bool success) |
void | writeECLData (int, int, int, int, data::Solution, const int, const double, time_t, const std::string &, const std::string &) |
Class for immiscible dead oil and dry gas.
Inverting small matrices.
Base class for properties of fluids and rocks.
Class for miscible live oil.
Class for miscible wet gas.
Detailed description.
Inverting 2x2 and 3x3 matrices. Not meant to extend to large systems, but to satisfy a need to invert small matrices.
typedef FullMatrix<double, OwnData, COrdering> Opm::OwnCMatrix |
Convenience typedefs for C-ordered.
types with 'Owning', 'Shared' and 'Immutable Shared' matrix element storage semantics.
typedef FullMatrix<double, OwnData, FortranOrdering> Opm::OwnFortranMatrix |
Convenience typedefs for Fortran-ordered.
types with 'Owning', 'Shared' and 'Immutable Shared' matrix element storage semantics.
void Opm::addNonStandardUpscalingKeywords | ( | Parser & | parser | ) |
This function registers non-standard keywords used by opm-upscaling in a parser object.
The name of this function is intentionally long and awkward. This is to discourage its use unless it is really necessary!
void Opm::computeCapPressure | ( | std::vector< double > & | cap_pressure, |
const ReservoirProperties & | rp, | ||
const std::vector< double > & | sat | ||
) |
Computes the capillary pressure in each cell from the cell saturations.
ReservoirProperties | the type of reservoir property object |
cap_pressure | [out] the capillary pressure in each cell |
rp | the reservoir property object |
sat | the cell saturations |
void Opm::createLinear | ( | BCs & | fbcs, |
const GridInterface & | g, | ||
const double | pdrop, | ||
const int | pddir, | ||
const double | bdy_sat, | ||
const bool | twodim_hack = false , |
||
const double | spatial_tolerance = 1e-6 |
||
) |
Makes a boundary condition object representing linear boundary conditions in any cartesian direction.
The grid interface needs to export boundary ids that are unique for each boundary face for this to be possible.
BCs | the boundary condition class |
GridInterface | grid interface class |
void Opm::createPeriodic | ( | BCs & | fbcs, |
const GridInterface & | g, | ||
const std::array< FlowBC, 2 *GridInterface::Dimension > & | fconditions, | ||
const std::array< SatBC, 2 *GridInterface::Dimension > & | sconditions, | ||
double | spatial_tolerance = 1e-6 |
||
) |
Makes a boundary condition object representing periodic boundary conditions in any cartesian directions.
The grid interface needs to export boundary ids that are unique for each boundary face for this to be possible.
BCs | the boundary condition class |
GridInterface | grid interface class |
void Opm::estimateCellVelocity | ( | std::vector< typename GridInterface::Vector > & | cell_velocity, |
const GridInterface & | ginterf, | ||
const FlowSol & | flow_solution | ||
) |
Estimates a scalar cell velocity from outgoing fluxes.
GridInterface | a grid interface. |
FlowSol | a flow solution type. |
[out] | cell_velocity | the estimated velocities. |
[in] | ginterf | an interface to the grid. |
[in] | flow_solution | the object containing the fluxes. |
void Opm::estimateCellVelocity | ( | std::vector< typename GridInterface::Vector > & | cell_velocity, |
const GridInterface & | ginterf, | ||
const FlowSol & | flow_solution, | ||
const std::vector< int > & | partition, | ||
const int | my_partition | ||
) |
Estimates a scalar cell velocity from outgoing fluxes.
GridInterface | a grid interface. |
FlowSol | a flow solution type. |
[out] | cell_velocity | the estimated velocities. |
[in] | ginterf | an interface to the grid. |
[in] | flow_solution | the object containing the fluxes. |
[in] | partition | partition numbers of the fluxes. |
[in] | my_partition | partition to be used. |
void Opm::estimateCellVelocitySimpleInterface | ( | std::vector< typename GridInterface::Vector > & | cell_velocity, |
const GridInterface & | grid, | ||
const std::vector< double > & | face_flux | ||
) |
Estimates a scalar cell velocity from face fluxes.
GridInterface | a grid interface. |
FlowSol | a flow solution type. |
[out] | cell_velocity | the estimated velocities. |
[in] | ginterf | an interface to the grid. |
[in] | flow_solution | the object containing the fluxes. |
void Opm::eye | ( | Matrix & | A | ) |
Make an identity.
.
Matrix | Matrix type. |
A | Specific matrix which will be zero-filled upon return. |
void Opm::getCellPressure | ( | std::vector< double > & | cell_pressure, |
const GridInterface & | ginterf, | ||
const FlowSol & | flow_solution | ||
) |
@param |
void Opm::getCellPressure | ( | std::vector< double > & | cell_pressure, |
const GridInterface & | ginterf, | ||
const FlowSol & | flow_solution, | ||
const std::vector< int > & | partition, | ||
const int | my_partition | ||
) |
@param |
double Opm::getVoigtValue | ( | const SinglePhaseUpscaler::permtensor_t & | K, |
int | voigt_idx | ||
) |
Get value from tensor.
[in] | K | The tensor to extract the value from |
[in] | voigt_idx | The voigt index for value to extract (0..8) |
int Opm::invert | ( | FullMatrix< T, StoragePolicy, OrderingPolicy > & | A | ) |
Matrix inversion, .
T | Matrix element type. |
StoragePolicy | Matrix storage policy. |
OrderingPolicy | Matrix ordering policy. |
A | Matrix. Contains the inverse upon return from * invert()
|
bool Opm::match | ( | std::vector< BoundaryFaceInfo > & | bfaces, |
int | face, | ||
int | lower, | ||
int | upper | ||
) |
Find a match (periodic partner) for the given face.
[in,out] | bfaces | the boundary face info list. |
[in] | face | the face for which we seek a periodic partner |
[in] | lower | lower end of search interval [lower, upper) |
[in] | upper | upper end of search interval [lower, upper) |
void Opm::matMulAdd_NN | ( | const T & | a1, |
const FullMatrix< T, SP1, FortranOrdering > & | A, | ||
const FullMatrix< T, SP2, FortranOrdering > & | B, | ||
const T & | a2, | ||
FullMatrix< T, SP3, FortranOrdering > & | C | ||
) |
GEneral Matrix-Matrix product update of other matrix.
Specificlly, \form#35.
T | Matrix element type. Assumed to be an arithmetic type and, typically, T @endocde is an alias for @code double
*
|
SP1 | Storage policy of matrix ![]() |
SP2 | Storage policy of matrix ![]() |
SP3 | Storage policy of matrix ![]() |
[in] | a1 | Scalar coefficient ![]() |
[in] | A | Matrix ![]() |
[in] | B | Matrix ![]() |
[in] | a2 | Scalar coefficient ![]() |
C | Matrix ![]() |
void Opm::matMulAdd_NN | ( | const T & | a1, |
const FullMatrix< T, SP1, FortranOrdering > & | A, | ||
const FullMatrix< T, SP2, COrdering > & | B, | ||
const T & | a2, | ||
FullMatrix< T, SP3, FortranOrdering > & | C | ||
) |
GEneral Matrix-Matrix product update of other matrix.
Specificlly, \form#35. Overload for C-ordered matrix \form#27.
T | Matrix element type. Assumed to be an arithmetic type and, typically, T @endocde is an alias for @code double
*
|
SP1 | Storage policy of matrix ![]() |
SP2 | Storage policy of matrix ![]() |
SP3 | Storage policy of matrix ![]() |
[in] | a1 | Scalar coefficient ![]() |
[in] | A | Matrix ![]() |
[in] | B | Matrix ![]() |
[in] | a2 | Scalar coefficient ![]() |
C | Matrix ![]() |
void Opm::matMulAdd_NT | ( | const T & | a1, |
const FullMatrix< T, SP1, FortranOrdering > & | A, | ||
const FullMatrix< T, SP2, FortranOrdering > & | B, | ||
const T & | a2, | ||
FullMatrix< T, SP3, FortranOrdering > & | C | ||
) |
GEneral Matrix-Matrix product update of other matrix.
Specificlly, \form#36@_fakenl.
T | Matrix element type. Assumed to be an arithmetic type and, typically, T @endocde is an alias for @code double
*
|
SP1 | Storage policy of matrix ![]() |
SP2 | Storage policy of matrix ![]() |
SP3 | Storage policy of matrix ![]() |
[in] | a1 | Scalar coefficient ![]() |
[in] | A | Matrix ![]() |
[in] | B | Matrix ![]() |
[in] | a2 | Scalar coefficient ![]() |
C | Matrix ![]() |
void Opm::matMulAdd_TN | ( | const T & | a1, |
const FullMatrix< T, SP1, FortranOrdering > & | A, | ||
const FullMatrix< T, SP2, FortranOrdering > & | B, | ||
const T & | a2, | ||
FullMatrix< T, SP3, FortranOrdering > & | C | ||
) |
GEneral Matrix-Matrix product update of other matrix.
Specificlly, \form#37@_fakenl.
T | Matrix element type. Assumed to be an arithmetic type and, typically, T @endocde is an alias for @code double
*
|
SP1 | Storage policy of matrix ![]() |
SP2 | Storage policy of matrix ![]() |
SP3 | Storage policy of matrix ![]() |
[in] | a1 | Scalar coefficient ![]() |
[in] | A | Matrix ![]() |
[in] | B | Matrix ![]() |
[in] | a2 | Scalar coefficient ![]() |
C | Matrix ![]() |
std::basic_ostream<charT,traits>& Opm::operator<< | ( | std::basic_ostream< charT, traits > & | os, |
const FullMatrix< T, SP, OP > & | A | ||
) |
Stream output operator for.
types.
charT | Output stream character type. |
traits | Output stream character traits. |
T | Matrix element type. |
SP | Matrix storage policy. |
OP | Matrix ordering policy. |
os | Output stream. | |
[in] | A | Matrix. |
int Opm::orthogonalizeColumns | ( | FullMatrix< T, StoragePolicy, FortranOrdering > & | A | ) |
Construct orthonormal basis for matrix range (i.e., column space).
Based on a QR factorization of the matrix.
T | Matrix element type. |
StoragePolicy | Matrix storage policy. |
A | Matrix. Will be overwritten by an orthogonal matrix, ![]() |
Dune::FieldVector<typename Matrix::value_type, rows> Opm::prod | ( | const Matrix & | A, |
const Dune::FieldVector< typename Matrix::value_type, rows > & | x | ||
) |
Matrix applied to a vector.
Matrix | Matrix type. |
rows. | Number of matrix rows. |
[in] | A | Matrix. |
[in] | x | Vector |
void Opm::prod | ( | const Matrix1 & | A, |
const Matrix2 & | B, | ||
MutableMatrix & | C | ||
) |
Compute C = AB.
C must not overlap with A or B.
Matrix1 | a matrix type. |
Matrix2 | a matrix type. |
MutableMatrix | a matrix type with write access. |
[in] | A | left matrix of product. |
[in] | B | right matrix of product. |
[out] | C | resulting product matrix, it must already have the right size. |
|
inline |
Setup boundary conditions for a simulation.
It is assumed that the boundary ids are 1-6, similar to cartesian case/Yaspgrid, unless periodic, in which case we assume unique boundary ids.
|
inline |
|
inline |
|
inline |
void Opm::setVoigtValue | ( | SinglePhaseUpscaler::permtensor_t & | K, |
int | voigt_idx, | ||
double | val | ||
) |
Set value in tensor.
[out] | K | The tensor to set value in |
[in] | voigt_idx | The voigt index for value to set (0..8) |
[in] | val | Value to set in tensor |
void Opm::symmetricUpdate | ( | const T & | a1, |
const FullMatrix< T, StoragePolicy, FortranOrdering > & | A, | ||
const T & | a2, | ||
FullMatrix< T, StoragePolicy, FortranOrdering > & | C | ||
) |
Symmetric, rank update of symmetric matrix.
Specifically, \form#32@_fakenl.
T | Matrix element type. Assumed to be an arithmetic type. Typically T
double
*
|
StoragePolicy. | Matrix storage policy. |
[in] | a1 | Scalar coefficient ![]() |
[in] | A | Matrix ![]() |
[in] | a2 | Scalar coefficient ![]() |
C | Matrix ![]() |
void Opm::symmetricUpdate | ( | const FullMatrix< T, StoragePolicy, FortranOrdering > & | A, |
FullMatrix< T, StoragePolicy, FortranOrdering > & | B | ||
) |
@param |
Matrix::value_type Opm::trace | ( | const Matrix & | A | ) |
Compute matrix trace (i.e., sum(diag(A))).
Matrix | Matrix type. |
[in] | A | Matrix for which to compute the trace. |
void Opm::vecMulAdd_N | ( | const T & | a1, |
const FullMatrix< T, SP, FortranOrdering > & | A, | ||
const std::vector< T > & | x, | ||
const T & | a2, | ||
std::vector< T > & | y | ||
) |
GEneral Matrix-Vector product (GAXPY operation).
Specifically, .
T | Matrix (and vector) element type. Assumed to be an arithmetic type and, typically, T
double
|
SP | Matrix storage policy. |
[in] | a1 | Scalar coefficient ![]() |
[in] | A | Matrix ![]() |
[in] | x | Vector ![]() |
[in] | a2 | Scalar coefficient ![]() |
y | Vector ![]() |
void Opm::vecMulAdd_N | ( | const T & | a1, |
const FullMatrix< T, SP, FortranOrdering > & | A, | ||
const T * | x, | ||
const T & | a2, | ||
T * | y | ||
) |
GEneral Matrix-Vector product (GAXPY operation).
Specifically, .
T | Matrix (and vector) element type. Assumed to be an arithmetic type and, typically, T
double
|
SP | Matrix storage policy. |
[in] | a1 | Scalar coefficient ![]() |
[in] | A | Matrix ![]() |
[in] | x | Vector ![]() |
[in] | a2 | Scalar coefficient ![]() |
y | Vector ![]() |
void Opm::vecMulAdd_N | ( | const T & | a1, |
const FullMatrix< T, SP, COrdering > & | A, | ||
const T * | x, | ||
const T & | a2, | ||
T * | y | ||
) |
GEneral Matrix-Vector product (GAXPY operation).
Specifically, . Overload for C-ordered FullMatrix type.
T | Matrix (and vector) element type. Assumed to be an arithmetic type and, typically, T
double
|
SP | Matrix storage policy. |
[in] | a1 | Scalar coefficient ![]() |
[in] | A | Matrix ![]() |
[in] | x | Vector ![]() |
[in] | a2 | Scalar coefficient ![]() |
y | Vector ![]() |
void Opm::vecMulAdd_T | ( | const T & | a1, |
const FullMatrix< T, SP, FortranOrdering > & | A, | ||
const std::vector< T > & | x, | ||
const T & | a2, | ||
std::vector< T > & | y | ||
) |
GEneral Matrix-Vector product (GAXPY operation).
Specifically, .
T | Matrix (and vector) element type. Assumed to be an arithmetic type and, typically, T
double
|
SP | Matrix storage policy. |
[in] | a1 | Scalar coefficient ![]() |
[in] | A | Matrix ![]() |
[in] | x | Vector ![]() |
[in] | a2 | Scalar coefficient ![]() |
y | Vector ![]() |
void Opm::vecMulAdd_T | ( | const T & | a1, |
const FullMatrix< T, SP, FortranOrdering > & | A, | ||
const T * | x, | ||
const T & | a2, | ||
T * | y | ||
) |
GEneral Matrix-Vector product (GAXPY operation).
Specifically, .
T | Matrix (and vector) element type. Assumed to be an arithmetic type and, typically, T
double
|
SP | Matrix storage policy. |
[in] | a1 | Scalar coefficient ![]() |
[in] | A | Matrix ![]() |
[in] | x | Vector ![]() |
[in] | a2 | Scalar coefficient ![]() |
y | Vector ![]() |
void Opm::zero | ( | Matrix & | A | ) |
Zero-fill a.
.
Matrix | Matrix type. |
A | Specific matrix which will be zero-filled upon return. |