mirror of
https://github.com/OPM/opm-simulators.git
synced 2024-12-18 21:43:27 -06:00
Fixes and improvements to time-of-flight solver docs.
This commit is contained in:
parent
71057d69db
commit
213e143c47
@ -35,22 +35,6 @@ namespace Opm
|
||||
|
||||
|
||||
/// Construct solver.
|
||||
/// \param[in] grid A 2d or 3d grid.
|
||||
/// \param[in] param Parameters for the solver.
|
||||
/// The following parameters are accepted (defaults):
|
||||
/// use_cvi (false) Use ECVI velocity interpolation.
|
||||
/// use_limiter (false) Use a slope limiter. If true, the next three parameters are used.
|
||||
/// limiter_relative_flux_threshold (1e-3) Ignore upstream fluxes below this threshold, relative to total cell flux.
|
||||
/// limiter_method ("MinUpwindFace") Limiter method used. Accepted methods are:
|
||||
/// MinUpwindFace Limit cell tof to >= inflow face tofs.
|
||||
/// limiter_usage ("DuringComputations") Usage pattern for limiter. Accepted choices are:
|
||||
/// DuringComputations Apply limiter to cells as they are computed,
|
||||
/// so downstream cells' solutions may be affected
|
||||
/// by limiting in upstream cells.
|
||||
/// AsPostProcess Apply in dependency order, but only after
|
||||
/// computing (unlimited) solution.
|
||||
/// AsSimultaneousPostProcess Apply to each cell independently, using un-
|
||||
/// limited solution in neighbouring cells.
|
||||
TofDiscGalReorder::TofDiscGalReorder(const UnstructuredGrid& grid,
|
||||
const parameter::ParameterGroup& param)
|
||||
: grid_(grid),
|
||||
@ -111,18 +95,6 @@ namespace Opm
|
||||
|
||||
|
||||
/// Solve for time-of-flight.
|
||||
/// \param[in] darcyflux Array of signed face fluxes.
|
||||
/// \param[in] porevolume Array of pore volumes.
|
||||
/// \param[in] source Source term. Sign convention is:
|
||||
/// (+) inflow flux,
|
||||
/// (-) outflow flux.
|
||||
/// \param[in] degree Polynomial degree of DG basis functions used.
|
||||
/// \param[out] tof_coeff Array of time-of-flight solution coefficients.
|
||||
/// The values are ordered by cell, meaning that
|
||||
/// the K coefficients corresponding to the first
|
||||
/// cell comes before the K coefficients corresponding
|
||||
/// to the second cell etc.
|
||||
/// K depends on degree and grid dimension.
|
||||
void TofDiscGalReorder::solveTof(const double* darcyflux,
|
||||
const double* porevolume,
|
||||
const double* source,
|
||||
|
@ -39,10 +39,10 @@ namespace Opm
|
||||
/// Implements a discontinuous Galerkin solver for
|
||||
/// (single-phase) time-of-flight using reordering.
|
||||
/// The equation solved is:
|
||||
/// v \cdot \grad\tau = \phi
|
||||
/// where v is the fluid velocity, \tau is time-of-flight and
|
||||
/// \phi is the porosity. This is a boundary value problem, where
|
||||
/// \tau is specified to be zero on all inflow boundaries.
|
||||
/// \f[v \cdot \nabla\tau = \phi\f]
|
||||
/// where \f$ v \f$ is the fluid velocity, \f$ \tau \f$ is time-of-flight and
|
||||
/// \f$ \phi \f$ is the porosity. This is a boundary value problem, where
|
||||
/// \f$ \tau \f$ is specified to be zero on all inflow boundaries.
|
||||
/// The user may specify the polynomial degree of the basis function space
|
||||
/// used, but only degrees 0 and 1 are supported so far.
|
||||
class TofDiscGalReorder : public ReorderSolverInterface
|
||||
@ -51,23 +51,29 @@ namespace Opm
|
||||
/// Construct solver.
|
||||
/// \param[in] grid A 2d or 3d grid.
|
||||
/// \param[in] param Parameters for the solver.
|
||||
/// The following parameters are accepted (defaults):
|
||||
/// dg_degree (0) Polynomial degree of basis functions.
|
||||
/// use_tensorial_basis (false) Use tensor-product basis, interpreting dg_degree as
|
||||
/// bi/tri-degree not total degree.
|
||||
/// use_cvi (false) Use ECVI velocity interpolation.
|
||||
/// use_limiter (false) Use a slope limiter. If true, the next three parameters are used.
|
||||
/// limiter_relative_flux_threshold (1e-3) Ignore upstream fluxes below this threshold, relative to total cell flux.
|
||||
/// limiter_method ("MinUpwindFace") Limiter method used. Accepted methods are:
|
||||
/// MinUpwindFace Limit cell tof to >= inflow face tofs.
|
||||
/// limiter_usage ("DuringComputations") Usage pattern for limiter. Accepted choices are:
|
||||
/// DuringComputations Apply limiter to cells as they are computed,
|
||||
/// so downstream cells' solutions may be affected
|
||||
/// by limiting in upstream cells.
|
||||
/// AsPostProcess Apply in dependency order, but only after
|
||||
/// computing (unlimited) solution.
|
||||
/// AsSimultaneousPostProcess Apply to each cell independently, using un-
|
||||
/// limited solution in neighbouring cells.
|
||||
/// The following parameters are accepted (defaults):\n
|
||||
/// <ul>
|
||||
/// <li> \c dg_degree (0) Polynomial degree of basis functions.
|
||||
/// <li> \c use_tensorial_basis (false) Use tensor-product basis, interpreting dg_degree as
|
||||
/// bi/tri-degree not total degree.
|
||||
/// <li> \c use_cvi (false) Use ECVI velocity interpolation.
|
||||
/// <li> \c use_limiter (false) Use a slope limiter. If true, the next three parameters are used.
|
||||
/// <li> \c limiter_relative_flux_threshold (1e-3) Ignore upstream fluxes below this threshold, relative to total cell flux.
|
||||
/// <li> \c limiter_method ("MinUpwindFace") Limiter method used. Accepted methods are:
|
||||
/// <ul>
|
||||
/// <li> MinUpwindFace Limit cell tof to >= inflow face tofs.
|
||||
/// <li> MinUpwindAverage Limit cell tof to >= inflow cell average tofs.
|
||||
/// </ul>
|
||||
/// <li> \c limiter_usage ("DuringComputations") Usage pattern for limiter. Accepted choices are:
|
||||
/// <ul>
|
||||
/// <li> DuringComputations Apply limiter to cells as they are computed,
|
||||
/// so downstream cells' solutions may be affected
|
||||
/// by limiting in upstream cells.
|
||||
/// <li> AsPostProcess Apply in dependency order, but only after
|
||||
/// computing (unlimited) solution.
|
||||
/// <li> AsSimultaneousPostProcess Apply to each cell independently, using un-
|
||||
/// limited solution in neighbouring cells.
|
||||
/// </ul>
|
||||
TofDiscGalReorder(const UnstructuredGrid& grid,
|
||||
const parameter::ParameterGroup& param);
|
||||
|
||||
|
@ -30,6 +30,7 @@ namespace Opm
|
||||
|
||||
/// Construct solver.
|
||||
/// \param[in] grid A 2d or 3d grid.
|
||||
/// \param[in] use_multidim_upwind If true, use multidimensional tof upwinding.
|
||||
TofReorder::TofReorder(const UnstructuredGrid& grid,
|
||||
const bool use_multidim_upwind)
|
||||
: grid_(grid),
|
||||
|
@ -34,10 +34,10 @@ namespace Opm
|
||||
/// Implements a first-order finite volume solver for
|
||||
/// (single-phase) time-of-flight using reordering.
|
||||
/// The equation solved is:
|
||||
/// v \cdot \grad\tau = \phi
|
||||
/// where v is the fluid velocity, \tau is time-of-flight and
|
||||
/// \phi is the porosity. This is a boundary value problem, where
|
||||
/// \tau is specified to be zero on all inflow boundaries.
|
||||
/// \f[v \cdot \nabla\tau = \phi\f]
|
||||
/// where \f$ v \f$ is the fluid velocity, \f$ \tau \f$ is time-of-flight and
|
||||
/// \f$ \phi \f$ is the porosity. This is a boundary value problem, where
|
||||
/// \f$ \tau \f$ is specified to be zero on all inflow boundaries.
|
||||
class TofReorder : public ReorderSolverInterface
|
||||
{
|
||||
public:
|
||||
|
Loading…
Reference in New Issue
Block a user