From ed33a780c04629790d52149ae09b022bd3b26395 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Atgeirr=20Fl=C3=B8=20Rasmussen?= Date: Wed, 30 May 2012 15:10:59 +0200 Subject: [PATCH] Made many methods private, and added some documentation. --- .../reorder/TransportModelTwophase.hpp | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/opm/core/transport/reorder/TransportModelTwophase.hpp b/opm/core/transport/reorder/TransportModelTwophase.hpp index 18ad7bd5..f66277cb 100644 --- a/opm/core/transport/reorder/TransportModelTwophase.hpp +++ b/opm/core/transport/reorder/TransportModelTwophase.hpp @@ -31,33 +31,48 @@ namespace Opm class IncompPropertiesInterface; + /// Implements a reordering transport solver for incompressible two-phase flow. class TransportModelTwophase : public TransportModelInterface { public: + /// Construct solver. + /// \param[in] grid A 2d or 3d grid. + /// \param[in] props Rock and fluid properties. + /// \param[in] tol Tolerance used in the solver. + /// \param[in] maxit Maximum number of non-linear iterations used. TransportModelTwophase(const UnstructuredGrid& grid, const Opm::IncompPropertiesInterface& props, const double tol, const int maxit); + /// Solve for saturation at next timestep. + /// \param[in] darcyflux Array of signed face fluxes. + /// \param[in] porevolume Array of pore volumes. + /// \param[in] source Transport source term. + /// \param[in] dt Time step. + /// \param[in, out] saturation Phase saturations. void solve(const double* darcyflux, const double* porevolume, const double* source, const double dt, std::vector& saturation); - virtual void solveSingleCell(const int cell); - virtual void solveMultiCell(const int num_cells, const int* cells); - void initGravity(const double* grav); - void solveSingleCellGravity(const std::vector& cells, - const int pos, - const double* gravflux); - int solveGravityColumn(const std::vector& cells); + void solveGravity(const std::vector >& columns, const double* porevolume, const double dt, std::vector& saturation); + private: + virtual void solveSingleCell(const int cell); + virtual void solveMultiCell(const int num_cells, const int* cells); + + void solveSingleCellGravity(const std::vector& cells, + const int pos, + const double* gravflux); + int solveGravityColumn(const std::vector& cells); + private: const UnstructuredGrid& grid_; const IncompPropertiesInterface& props_;