Opm::TransportSolverTwophaseAd Class Reference

#include <TransportSolverTwophaseAd.hpp>

Inheritance diagram for Opm::TransportSolverTwophaseAd:
Inheritance graph

Public Member Functions

 TransportSolverTwophaseAd (const UnstructuredGrid &grid, const IncompPropertiesInterface &props, const LinearSolverInterface &linsolver, const double *gravity, const parameter::ParameterGroup &param)
 
virtual ~TransportSolverTwophaseAd ()
 
virtual void solve (const double *porevolume, const double *source, const double dt, TwophaseState &state)
 

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 parameter::ParameterGroup &  param 
)

Construct solver.

Parameters
[in]gridA 2d or 3d grid.
[in]propsRock and fluid properties.
[in]linsolverLinear solver for Newton-Raphson scheme.
[in]gravityGravity vector (null for no gravity).
[in]paramParameters for the solver.
virtual Opm::TransportSolverTwophaseAd::~TransportSolverTwophaseAd ( )
virtual

Member Function Documentation

virtual 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]porevolumeArray of pore volumes.
[in]sourceTransport source term. For interpretation see Opm::computeTransportSource().
[in]dtTime step.
[in,out]stateReservoir state. Calling solve() will read state.faceflux() and read and write state.saturation().

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