Opm::TransportSolverTwophaseAd Class Reference

Implements an implicit transport solver for incompressible two-phase flow, using automatic differentiation. More...

#include <TransportSolverTwophaseAd.hpp>

List of all members.

Public Member Functions

 TransportSolverTwophaseAd (const UnstructuredGrid &grid, const IncompPropertiesInterface &props, const LinearSolverInterface &linsolver, const double *gravity, const ParameterGroup &param)
 Construct solver.
virtual void solve (const double *porevolume, const double *source, const double dt, TwophaseState &state)
 Solve for saturation at next timestep.

Detailed Description

Implements an implicit transport solver for incompressible two-phase flow, using automatic differentiation.


Constructor & Destructor Documentation

Opm::TransportSolverTwophaseAd::TransportSolverTwophaseAd ( const UnstructuredGrid &  grid,
const IncompPropertiesInterface &  props,
const LinearSolverInterface &  linsolver,
const double *  gravity,
const ParameterGroup &  param 
)

Construct solver.

Parameters:
[in] grid A 2d or 3d grid.
[in] props Rock and fluid properties.
[in] linsolver Linear solver for Newton-Raphson scheme.
[in] gravity Gravity vector (null for no gravity).
[in] param Parameters for the solver.

Member Function Documentation

void Opm::TransportSolverTwophaseAd::solve ( const double *  porevolume,
const double *  source,
const double  dt,
TwophaseState &  state 
) [virtual]

Solve for saturation at next timestep.

Note that this only performs advection by total velocity, and no gravity segregation.

Parameters:
[in] porevolume Array of pore volumes.
[in] source Transport source term. For interpretation see Opm::computeTransportSource().
[in] dt Time step.
[in,out] state Reservoir state. Calling solve() will read state.faceflux() and read and write state.saturation().

The documentation for this class was generated from the following files:

Generated on 26 Mar 2018 by  doxygen 1.6.1