mirror of
https://github.com/OPM/opm-upscaling.git
synced 2026-08-26 13:07:11 -05:00
fix doxy issues
This commit is contained in:
@@ -13,6 +13,8 @@
|
||||
#ifndef APPLIER_H_
|
||||
#define APPLIER_H_
|
||||
|
||||
#include <dune/istl/solver.hh>
|
||||
|
||||
#include <opm/elasticity/matrixops.hpp>
|
||||
|
||||
namespace Opm {
|
||||
@@ -34,12 +36,12 @@ struct OperatorApplier
|
||||
void apply(Vector& v, Vector& d);
|
||||
|
||||
//! \brief Preprocess a preconditioner, noop for an inverse operator
|
||||
//! \param[in/out] b The load vector
|
||||
//! \param[in/out] x The initial (guessed) solution
|
||||
//! \param[in,out] x The initial (guessed) solution
|
||||
//! \param[in,out] b The load vector
|
||||
void pre(Vector& x, Vector& b);
|
||||
|
||||
//! \brief Postprocess a preconditioner, noop for an inverse operator
|
||||
//! \param[in/out] x The final solution
|
||||
//! \param[in,out] x The final solution
|
||||
void post(Vector& x);
|
||||
|
||||
T& A;
|
||||
|
||||
@@ -31,14 +31,17 @@ class Elasticity {
|
||||
//! \param[in] gv_ The grid we are doing the calculations on
|
||||
explicit Elasticity(const GridType& gv_) : gv(gv_) {}
|
||||
|
||||
//! \brief Returns the B matrix in a quadrature point
|
||||
//! \param[in] point (Reference) coordinates of quadrature point
|
||||
//! \param[in] Jinv Jacobian matrix in quadrature point
|
||||
//! \param[out] B The B matrix
|
||||
//! \brief Returns the vector of basis function values in a quadrature point
|
||||
//! \param[out] BVector The vector of basis function values
|
||||
//! \param[in] point (Reference) coordinates of quadrature point
|
||||
template<int funcdim>
|
||||
void getBVector(Dune::FieldVector<ctype,funcdim>& BVector,
|
||||
const Dune::FieldVector<ctype,dim>& point);
|
||||
|
||||
//! \brief Returns the B matrix in a quadrature point
|
||||
//! \param[out] B The B matrix
|
||||
//! \param[in] point (Reference) coordinates of quadrature point
|
||||
//! \param[in] Jinv Jacobian matrix in quadrature point
|
||||
template<int components, int funcdim>
|
||||
void getBmatrix(Dune::FieldMatrix<ctype,components,funcdim>& B,
|
||||
const Dune::FieldVector<ctype,dim>& point,
|
||||
|
||||
@@ -73,7 +73,8 @@ struct Schwarz {
|
||||
//! \param[in] zcells The wanted number of cells to collapse in z per level
|
||||
//! \param[in] op The linear operator
|
||||
//! \param[in] gv The cornerpoint grid
|
||||
//! \param[out] thread Whether or not to clone for threads
|
||||
//! \param A The ASMHandler for the elasticity operator(s)
|
||||
//! \param[out] copy Whether or not to clone for threads
|
||||
static std::shared_ptr<type>
|
||||
setup(int /* pre */, int /* post */, int /* target */, int /* zcells */,
|
||||
std::shared_ptr<Operator>& op, const Dune::CpGrid& gv,
|
||||
@@ -112,7 +113,7 @@ struct AMG1 {
|
||||
//! \param[in] zcells The wanted number of cells to collapse in z per level
|
||||
//! \param[in] op The linear operator
|
||||
//! \param[in] gv The cornerpoint grid
|
||||
//! \param[out] thread Whether or not to clone for threads
|
||||
//! \param[out] copy Whether or not to clone for threads
|
||||
static std::shared_ptr<type>
|
||||
setup(int pre, int post, int target, int zcells,
|
||||
std::shared_ptr<Operator>& op, const Dune::CpGrid& /* gv */,
|
||||
@@ -144,7 +145,8 @@ struct FastAMG {
|
||||
//! \param[in] zcells The wanted number of cells to collapse in z per level
|
||||
//! \param[in] op The linear operator
|
||||
//! \param[in] gv The cornerpoint grid
|
||||
//! \param[out] thread Whether or not to clone for threads
|
||||
//! \param A Assembly handler
|
||||
//! \param[out] copy Whether or not to clone for threads
|
||||
static std::shared_ptr<type>
|
||||
setup(int pre, int post, int target, int zcells,
|
||||
std::shared_ptr<Operator>& op, const Dune::CpGrid& gv,
|
||||
@@ -175,7 +177,8 @@ struct AMG2Level {
|
||||
//! \param[in] zcells The wanted number of cells to collapse in z per level
|
||||
//! \param[in] op The linear operator
|
||||
//! \param[in] gv The cornerpoint grid
|
||||
//! \param[out] thread Whether or not to clone for threads
|
||||
//! \param A The assembly handler
|
||||
//! \param[out] copy Whether or not to clone for threads
|
||||
static std::shared_ptr<type>
|
||||
setup(int pre, int post, int target, int zcells,
|
||||
std::shared_ptr<Operator>& op, const Dune::CpGrid& gv,
|
||||
|
||||
@@ -236,7 +236,7 @@ class ElasticityUpscale
|
||||
//! \param[in] Escale_ A scale value for E-moduluses to avoid numerical issues
|
||||
//! \param[in] file The eclipse grid file
|
||||
//! \param[in] rocklist If not blank, file is a rocklist
|
||||
//! \param[in] verbose If true, give verbose output
|
||||
//! \param[in] verbose_ If true, give verbose output
|
||||
ElasticityUpscale(const GridType& gv_, ctype tol_, ctype Escale_,
|
||||
const std::string& file, const std::string& rocklist,
|
||||
bool verbose_)
|
||||
@@ -256,7 +256,7 @@ class ElasticityUpscale
|
||||
|
||||
//! \brief Add a MPC equation
|
||||
//! \param[in] dir The direction of the MPC
|
||||
//! \param[in] slave The slave node index
|
||||
//! \param[in] slavenode The slave node index
|
||||
//! \param[in] m The vertices on the master grid
|
||||
void addMPC(Direction dir, int slavenode,
|
||||
const BoundaryGrid::Vertex& m);
|
||||
|
||||
@@ -69,7 +69,7 @@ class MatrixOps {
|
||||
size_t r0, size_t c0, bool symmetric);
|
||||
|
||||
//! \brief Extract the diagonal of a matrix into a new matrix
|
||||
//! \param[in] The matrix to extract the diagonal from
|
||||
//! \param[in] A The matrix to extract the diagonal from
|
||||
//! \returns M = diag(A)
|
||||
static Matrix extractDiagonal(const Matrix& A);
|
||||
|
||||
@@ -78,7 +78,11 @@ class MatrixOps {
|
||||
static Matrix diagonal(size_t N);
|
||||
|
||||
//! \brief Extract a subblock of a matrix into a new matrix
|
||||
//! \param[in] The matrix to extract from
|
||||
//! \param[in] A The matrix to extract from
|
||||
//! \param[in] r0 First row index for block
|
||||
//! \param[in] N Number of rows in block
|
||||
//! \param[in] c0 First column index for block
|
||||
//! \param[in] M Number of colums in block
|
||||
//! \returns The subblock
|
||||
static Matrix extractBlock(const Matrix& A,
|
||||
size_t r0, size_t N, size_t c0, size_t M);
|
||||
|
||||
@@ -27,8 +27,8 @@ namespace Elasticity {
|
||||
class MortarEvaluator : public Dune::LinearOperator<Vector, Vector> {
|
||||
public:
|
||||
//! \brief Constructor
|
||||
//! \param[in] Ai Evaluator for A^-1
|
||||
//! \param[in] B The mortar coupling matrix
|
||||
//! \param[in] A_ Evaluator for A^-1
|
||||
//! \param[in] B_ The mortar coupling matrix
|
||||
MortarEvaluator(const Matrix& A_,
|
||||
const Matrix& B_) :
|
||||
A(A_), B(B_)
|
||||
|
||||
@@ -28,8 +28,8 @@ class MortarBlockEvaluator : public Dune::LinearOperator<Vector, Vector> {
|
||||
public:
|
||||
|
||||
//! \brief Constructor
|
||||
//! \param[in] Ai Solver or preconditioner for A^-1
|
||||
//! \param[in] B The mortar coupling matrix
|
||||
//! \param[in] Ai_ Solver or preconditioner for A^-1
|
||||
//! \param[in] B_ The mortar coupling matrix
|
||||
MortarBlockEvaluator(T& Ai_,
|
||||
const Matrix& B_) :
|
||||
Ai(Ai_), B(B_), op(Ai)
|
||||
|
||||
@@ -37,12 +37,12 @@ namespace Elasticity {
|
||||
class MortarSchurPre : public Dune::Preconditioner<Vector,Vector> {
|
||||
public:
|
||||
//! \brief Constructor
|
||||
//! \param[in] P The multiplier block with diagonal A approximation
|
||||
//! \param[in] B The mortar coupling matrix
|
||||
//! \param[in] P_ The multiplier block with diagonal A approximation
|
||||
//! \param[in] B_ The mortar coupling matrix
|
||||
//! \param[in] Apre_ A preconfigured preconditioner for A
|
||||
//! \param[in] symmetric If true, use symmetric preconditioning
|
||||
//! \param[in] symmetric_ If true, use symmetric preconditioning
|
||||
MortarSchurPre(const Matrix& P_, const Matrix& B_,
|
||||
PrecondElasticityBlock& Apre_, bool symmetric_=false) :
|
||||
PrecondElasticityBlock& Apre_, bool symmetric_ = false) :
|
||||
Apre(Apre_), B(B_), N(B.N()), M(B.M()),
|
||||
Lpre(P_, false, false), symmetric(symmetric_)
|
||||
{
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
#ifndef MORTAR_UTILS_HPP_
|
||||
#define MORTAR_UTILS_HPP_
|
||||
|
||||
#include <opm/elasticity/matrixops.hpp>
|
||||
|
||||
namespace Opm {
|
||||
namespace Elasticity {
|
||||
|
||||
@@ -22,20 +24,20 @@ class MortarUtils {
|
||||
//! \param[in] y The vector
|
||||
//! \param[in] len The number of indices to extract
|
||||
//! \param[in] start The first index in the range
|
||||
static void extractBlock(Vector& x, const Vector& y, int len, int start=0)
|
||||
static void extractBlock(Vector& x, const Vector& y, int len, int start = 0)
|
||||
{
|
||||
x.resize(len);
|
||||
std::copy(y.begin()+start,y.begin()+len+start,x.begin());
|
||||
std::copy(y.begin() + start, y.begin() + len + start, x.begin());
|
||||
}
|
||||
|
||||
//! \brief Inject a range of indices into a vector
|
||||
//! \param[in/out] x The vector to inject into
|
||||
//! \param[in,out] x The vector to inject into
|
||||
//! \param[in] y The vector with the data to inject
|
||||
//! \param[in] len The number of indices to inject
|
||||
//! \param[in] start The first index in the range
|
||||
static void injectBlock(Vector& x, const Vector& y, int len, int start=0)
|
||||
static void injectBlock(Vector& x, const Vector& y, int len, int start = 0)
|
||||
{
|
||||
std::copy(y.begin(),y.begin()+len,x.begin()+start);
|
||||
std::copy(y.begin(), y.begin() + len, x.begin() + start);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -14,6 +14,9 @@
|
||||
|
||||
#include <dune/istl/solvers.hh>
|
||||
|
||||
#include <opm/elasticity/matrixops.hpp>
|
||||
#include <opm/elasticity/mortar_utils.hpp>
|
||||
|
||||
namespace Opm {
|
||||
namespace Elasticity {
|
||||
|
||||
@@ -27,8 +30,8 @@ class UzawaSolver : public Dune::InverseOperator<X,Y>
|
||||
typedef std::shared_ptr<Dune::InverseOperator<X,Y> > OperatorPtr;
|
||||
//! \brief Default constructor
|
||||
//! \param[in] innersolver_ The inner solver
|
||||
//! \param[in] outersolve_ The outer solver
|
||||
//! \param[in] B Coupling matrix
|
||||
//! \param[in] outersolver_ The outer solver
|
||||
//! \param[in] B_ Coupling matrix
|
||||
UzawaSolver(OperatorPtr& innersolver_,
|
||||
OperatorPtr& outersolver_,
|
||||
const Matrix& B_) :
|
||||
|
||||
@@ -184,18 +184,18 @@ namespace Opm
|
||||
/// @return capillary pressure at the given cell and saturation.
|
||||
double capillaryPressure(int cell_index, double saturation) const;
|
||||
/// @brief Derivative of Capillary pressure.
|
||||
/// @param cell_index index of a grid cell.
|
||||
/// @param saturation a saturation value.
|
||||
/// @param c index of a grid cell.
|
||||
/// @param s saturation value.
|
||||
/// @return capillary pressure at the given cell and saturation.
|
||||
double capillaryPressureDeriv(int c, double s) const;
|
||||
|
||||
// @brief Minimum of saturation in rock table.
|
||||
/// @param cell_index index of a grid cell.
|
||||
/// @param c index of a grid cell.
|
||||
/// @return minimum saturation in given cell.
|
||||
double s_min(int c) const;
|
||||
|
||||
// @brief Maximum of saturation in rock table.
|
||||
/// @param cell_index index of a grid cell.
|
||||
/// @param c index of a grid cell.
|
||||
/// @return maximum saturation in given cell.
|
||||
double s_max(int c) const;
|
||||
|
||||
|
||||
@@ -47,17 +47,10 @@ namespace Opm
|
||||
Rock();
|
||||
|
||||
/// @brief Initialize from a grdecl file.
|
||||
/// @param parser the parser holding the grdecl data.
|
||||
/// @param parser the parser holding the grdecl data.
|
||||
/// @param deck Deck to initialize from
|
||||
/// @param global_cell the mapping from cell indices to the logical
|
||||
/// cartesian indices of the grdecl file.
|
||||
/// @param perm_threshold lower threshold for permeability.
|
||||
/// @param rock_list_filename if non-null, the referred string gives
|
||||
/// the filename for the rock list.
|
||||
/// @param use_jfunction_scaling if true, use j-function scaling of capillary
|
||||
/// pressure, if applicable.
|
||||
/// @param sigma interface tension for j-scaling, if applicable.
|
||||
/// @param theta angle for j-scaling, if applicable.
|
||||
void init(const Opm::Deck& deck,
|
||||
const std::vector<int>& global_cell,
|
||||
const double perm_threshold = 0.0);
|
||||
|
||||
@@ -86,11 +86,9 @@ namespace Opm
|
||||
}
|
||||
|
||||
/// @brief Estimates a scalar cell velocity from face fluxes.
|
||||
/// @tparam GridInterface a grid interface.
|
||||
/// @tparam FlowSol a flow solution type.
|
||||
/// @param[out] cell_velocity the estimated velocities.
|
||||
/// @param[in] ginterf an interface to the grid.
|
||||
/// @param[in] flow_solution the object containing the fluxes.
|
||||
/// @param[in] grid an interface to the grid.
|
||||
/// @param[in] face_flux the object containing the fluxes.
|
||||
template <class GridInterface>
|
||||
void estimateCellVelocitySimpleInterface(std::vector<typename GridInterface::Vector>& cell_velocity,
|
||||
const GridInterface& grid,
|
||||
|
||||
@@ -86,12 +86,14 @@ namespace Opm {
|
||||
/// For this explicit method it should be < 1.
|
||||
void setCourantNumber(double cn);
|
||||
|
||||
/// \brief Solve transport equation, evolving \param saturation
|
||||
/// for \param time seconds.
|
||||
/// Cfl type conditions may force many explicit timesteps to
|
||||
/// be taken, before the function returns.
|
||||
/// @tparam
|
||||
/// @param
|
||||
/// @brief Solve transport equation.
|
||||
/// @param saturation the evolving saturation
|
||||
/// @param time Time in seconds.
|
||||
/// @param gravity Gravity
|
||||
/// @param pressure_sol Pressure solution
|
||||
/// @param injection_rates Injection ratees
|
||||
/// @details Cfl type conditions may force many explicit timesteps to
|
||||
/// be taken, before the function returns.
|
||||
template <class PressureSolution>
|
||||
void transportSolve(std::vector<double>& saturation,
|
||||
const double time,
|
||||
|
||||
@@ -89,10 +89,12 @@ namespace Opm {
|
||||
/// @param
|
||||
void display();
|
||||
|
||||
/// \brief Solve transport equation, evolving \param saturation
|
||||
/// for \param time seconds.
|
||||
/// @tparam
|
||||
/// @param
|
||||
/// @brief Solve transport equation.
|
||||
/// @param saturation the evolving saturation
|
||||
/// @param time Time in seconds.
|
||||
/// @param gravity Gravity
|
||||
/// @param pressure_sol Pressure solution
|
||||
/// @param injection_rates Injection ratees
|
||||
template <class PressureSolution>
|
||||
bool transportSolve(std::vector<double>& saturation,
|
||||
const double time,
|
||||
|
||||
@@ -85,13 +85,15 @@ namespace Opm {
|
||||
const BoundaryConditions& boundary);
|
||||
|
||||
|
||||
/// \brief Solve transport equation, evolving \param saturation
|
||||
/// for \param time seconds.
|
||||
/// Cfl type conditions may force many explicit timesteps to
|
||||
/// be taken, before the function returns.
|
||||
/// @tparam
|
||||
/// @param
|
||||
template <class PressureSolution>
|
||||
/// @brief Solve transport equation.
|
||||
/// @param saturation the evolving saturation
|
||||
/// @param time Time in seconds.
|
||||
/// @param gravity Gravity
|
||||
/// @param pressure_sol Pressure solution
|
||||
/// @param injection_rates Injection ratees
|
||||
/// @details Cfl type conditions may force many explicit timesteps to
|
||||
/// be taken, before the function returns.
|
||||
template <class PressureSolution>
|
||||
void transportSolve(std::vector<double>& saturation,
|
||||
const double time,
|
||||
const typename GridInterface::Vector& gravity,
|
||||
|
||||
@@ -560,6 +560,7 @@ namespace Opm {
|
||||
/// The reservoir properties of each grid cell. In method
|
||||
/// @code computeInnerProducts() @endcode, we only inspect
|
||||
/// the permeability field of @code r @endcode.
|
||||
/// @param[in] grav Gravity
|
||||
template<class Point>
|
||||
void computeInnerProducts(const RockInterface& r,
|
||||
const Point& grav)
|
||||
@@ -597,7 +598,7 @@ namespace Opm {
|
||||
/// @code solve() @endcode we query this object for the
|
||||
/// phase mobilities (i.e., @code r.phaseMobilities()
|
||||
/// @endcode) and the phase densities (i.e., @code
|
||||
/// phaseDensities() @encode) of each phase.
|
||||
/// phaseDensities() @endcode) of each phase.
|
||||
///
|
||||
/// @param [in] sat
|
||||
/// Saturation of primary phase. One scalar value for each
|
||||
@@ -645,7 +646,7 @@ namespace Opm {
|
||||
///
|
||||
/// @param [in] linsolver_maxit maximum iterations allowed
|
||||
///
|
||||
/// @param [in] prolongate_factor Factor to scale the prolongated coarse
|
||||
/// @param [in] prolongate_factor Factor to scale the prolongated coarse
|
||||
/// coarse grid correction
|
||||
///
|
||||
/// @param [in] smooth_steps Number of smoothing steps to be
|
||||
|
||||
@@ -200,6 +200,8 @@ namespace Opm {
|
||||
/// Specific reservoir properties. Only the permeability
|
||||
/// is used in method @code buildMatrix() @endcode.
|
||||
///
|
||||
/// @param [in] grav Gravity
|
||||
///
|
||||
/// @param [in] nf
|
||||
/// Number of faces (i.e., number of neighbours) of cell
|
||||
/// @code *c @endcode.
|
||||
|
||||
@@ -186,15 +186,17 @@ namespace Opm {
|
||||
/// @endcode retrieves the @f$ij@f$'th component of the
|
||||
/// cell permeability @f$K@f$.
|
||||
///
|
||||
/// @param [in] c
|
||||
/// @param[in] c
|
||||
/// Cell for which to evaluate the inverse of the mimetic
|
||||
/// inner product.
|
||||
///
|
||||
/// @param [in] r
|
||||
/// @param[in] r
|
||||
/// Specific rock properties. Only the permeability
|
||||
/// is used in method @code buildStaticContrib() @endcode.
|
||||
///
|
||||
/// @param [in] nf
|
||||
/// @param[in] grav Gravity
|
||||
///
|
||||
/// @param[in] nf
|
||||
/// Number of faces (i.e., number of neighbours) of cell
|
||||
/// @code *c @endcode.
|
||||
void buildStaticContrib(const CellIter& c,
|
||||
|
||||
@@ -88,7 +88,7 @@ namespace Opm {
|
||||
|
||||
//! \brief Default constructor.
|
||||
//! \param[in] mpi_rank Rank of this process (for parallel simulations).
|
||||
//! \param[in] options Options structure.
|
||||
//! \param[in] options_ Options structure.
|
||||
//! \details Uses the following options: fluids
|
||||
RelPermUpscaleHelper(int mpi_rank, std::map<std::string,std::string>& options_);
|
||||
|
||||
|
||||
@@ -72,6 +72,7 @@ namespace Opm
|
||||
/// only needed for nonperiodic upscaling.
|
||||
/// @param pressure_drop the pressure drop in Pascal over the domain.
|
||||
/// @param upscaled_perm typically the output of upscaleSinglePhase().
|
||||
/// @param[out] success True if upscaling was successful
|
||||
/// @return the upscaled relative permeability matrices of both phases.
|
||||
/// The relative permeability matrix, call it k, is such that if K_w is the phase
|
||||
/// permeability and K the absolute permeability, K_w = k*K.
|
||||
|
||||
Reference in New Issue
Block a user