#include <TransportSolverCompressibleTwophaseReorder.hpp>
|
| TransportSolverCompressibleTwophaseReorder (const UnstructuredGrid &grid, const Opm::BlackoilPropertiesInterface &props, const double tol, const int maxit) |
|
void | solve (const double *darcyflux, const double *pressure, const double *temperature, const double *porevolume0, const double *porevolume, const double *source, const double dt, std::vector< double > &saturation, std::vector< double > &surfacevol) |
|
void | initGravity (const double *grav) |
|
void | solveGravity (const std::vector< std::vector< int > > &columns, const double dt, std::vector< double > &saturation, std::vector< double > &surfacevol) |
|
Implements a reordering transport solver for compressible, non-miscible two-phase flow.
◆ TransportSolverCompressibleTwophaseReorder()
Opm::TransportSolverCompressibleTwophaseReorder::TransportSolverCompressibleTwophaseReorder |
( |
const UnstructuredGrid & |
grid, |
|
|
const Opm::BlackoilPropertiesInterface & |
props, |
|
|
const double |
tol, |
|
|
const int |
maxit |
|
) |
| |
Construct solver. - Parameters
-
[in] | grid | A 2d or 3d grid. |
[in] | props | Rock and fluid properties. |
[in] | tol | Tolerance used in the solver. |
[in] | maxit | Maximum number of non-linear iterations used. |
◆ components()
const std::vector< int > & Opm::ReorderSolverInterface::components |
( |
| ) |
const |
|
protectedinherited |
◆ initGravity()
void Opm::TransportSolverCompressibleTwophaseReorder::initGravity |
( |
const double * |
grav | ) |
|
Initialise quantities needed by gravity solver. - Parameters
-
◆ reorderAndTransport()
void Opm::ReorderSolverInterface::reorderAndTransport |
( |
const UnstructuredGrid & |
grid, |
|
|
const double * |
darcyflux |
|
) |
| |
|
protectedinherited |
◆ sequence()
const std::vector< int > & Opm::ReorderSolverInterface::sequence |
( |
| ) |
const |
|
protectedinherited |
◆ solve()
void Opm::TransportSolverCompressibleTwophaseReorder::solve |
( |
const double * |
darcyflux, |
|
|
const double * |
pressure, |
|
|
const double * |
temperature, |
|
|
const double * |
porevolume0, |
|
|
const double * |
porevolume, |
|
|
const double * |
source, |
|
|
const double |
dt, |
|
|
std::vector< double > & |
saturation, |
|
|
std::vector< double > & |
surfacevol |
|
) |
| |
Solve for saturation at next timestep. - Parameters
-
[in] | darcyflux | Array of signed face fluxes. |
[in] | pressure | Array of cell pressures |
[in] | temperature | Array of cell temperatures |
[in] | surfacevol0 | Array of surface volumes at start of timestep |
[in] | porevolume0 | Array of pore volumes at start of timestep. |
[in] | porevolume | Array of pore volumes at end of timestep. |
[in] | source | Transport source term. |
[in] | dt | Time step. |
[in,out] | saturation | Phase saturations. |
[in,out] | surfacevol | Surface volume densities for each phase. |
◆ solveGravity()
void Opm::TransportSolverCompressibleTwophaseReorder::solveGravity |
( |
const std::vector< std::vector< int > > & |
columns, |
|
|
const double |
dt, |
|
|
std::vector< double > & |
saturation, |
|
|
std::vector< double > & |
surfacevol |
|
) |
| |
Solve for gravity segregation. This uses a column-wise nonlinear Gauss-Seidel approach. It assumes that the input columns contain cells in a single vertical stack, that do not interact with other columns (for gravity segregation. - Parameters
-
[in] | columns | Vector of cell-columns. |
[in] | dt | Time step. |
[in,out] | saturation | Phase saturations. |
[in,out] | surfacevol | Surface volume densities for each phase. |
The documentation for this class was generated from the following file:
|