Commit 4096ee2f authored by Klaus Mosthaf's avatar Klaus Mosthaf
Browse files

furhter work on docu, enabled gravity again in the stokesproblem (base

class)


git-svn-id: svn://svn.iws.uni-stuttgart.de/DUMUX/dumux/trunk@7675 2fb0f335-1f38-0410-981e-8018bf24f1b0
parent 7fd1f2a5
......@@ -49,9 +49,9 @@ namespace Dumux
* \ingroup BoxStokesModel
* \ingroup BoxLocalResidual
* \brief Element-wise calculation of the local Jacobian matrix for problems
* using the stokes box model.
* using the Stokes box model.
*
* This class is also used for the non-isothermal and the compositional stokes
* This class is also used for the non-isothermal and the two-component Stokes
* model, which means that it uses static polymorphism.
*/
template<class TypeTag>
......@@ -142,11 +142,15 @@ protected:
/*!
* \brief Evaluates the total flux of all conservation quantities
* over a face of a sub-control volume.
* over a face of a sub-control volume. The face may be within
* an element (SCV face) or on the boundary. The advective and
* the diffusive fluxes are computed.
*
* \param flux The flux over the SCV (sub-control-volume) face
* \param faceIdx The index of the SCV face
* \param onBoundary Indicates, if the flux is evaluated on a boundary face
* \param faceIdx The index of the SCV face (may also be a boundary face)
* \param onBoundary Indicates, if the flux is evaluated on a boundary face. If it is true,
* the created fluxVars object cotains boundary variables evaluated at the IP of the
* boundary face
*/
void computeFlux(PrimaryVariables &flux, int faceIdx, bool onBoundary=false) const
{
......@@ -169,7 +173,7 @@ protected:
* a face of a sub-control volume.
*
* \param flux The advective flux over the sub-control-volume face for each component
* \param fluxVars The flux variables at the current SCV
* \param fluxVars The flux variables at the current SCV face
*/
void computeAdvectiveFlux(PrimaryVariables &flux,
const FluxVariables &fluxVars) const
......@@ -260,9 +264,9 @@ protected:
{ }
/*!
* \brief Calculates the source term of the equation,
* computes the pressure gradient at the center of a SCV
* and evaluates the gravity term
* \brief Calculate the source term of all equations.
* The pressure gradient at the center of a SCV is computed
* and the gravity term evaluated.
*
* \param q The source/sink in the sub control volume for each component
* \param localVertexIdx The index of the sub-control volume
......@@ -309,7 +313,10 @@ protected:
}
}
// the stokes model needs a modified treatment of the BCs
/*!
* \brief The Stokes model needs a modified treatment of the boundary conditions as
* the common box models
*/
void evalBoundary_()
{
assert(this->residual_.size() == this->fvElemGeom_().numVertices);
......@@ -520,8 +527,8 @@ protected:
}
}
/*
* \brief removes the alpha stabilization at boundaries
/*!
* \brief Remove the alpha stabilization at boundaries.
*/
void removeStabilizationAtBoundary_(const int vertexIdx)
{
......@@ -567,9 +574,9 @@ protected:
}
}
/*
* \brief Interpolates the pressure at corner points of the grid, i.e. it takes
* the degree of freedom there
/*!
* \brief Interpolate the pressure at corner points of the grid, thus taking the degree of freedom there.
* This is required due to stability reasons.s
*/
void interpolateCornerPoints_(const BoundaryTypes &bcTypes, const int vertexIdx)
{
......@@ -592,9 +599,9 @@ protected:
}
}
/*
* \brief Replace the residual of the mass balance with the sum of the
* residuals of the momentum balance equation
/*!
* \brief Replace the local residual of the mass balance equation by
* the sum of the residuals of the momentum balance equation
*/
void replaceMassbalanceResidual_(const FieldVector& momentumResidual,
FieldVector& averagedNormal,
......@@ -608,7 +615,10 @@ protected:
this->residual_[vertexIdx][massBalanceIdx] = momentumResidual*averagedNormal;
}
// returns true, if all conditions for the momentum balance are dirichlet
/*!
* \brief Returns true, if all boundary conditions for the momentum balance
* at the considered vertex are dirichlet
*/
bool momentumBalanceDirichlet_(const BoundaryTypes& bcTypes) const
{
for (int momentumIdx=momentumXIdx; momentumIdx<=lastMomentumIdx; ++momentumIdx)
......@@ -617,7 +627,9 @@ protected:
return true;
}
// returns true, if one condition of the momentum balance is neumann
/*!
* \brief Returns true, if at least one boundary condition of the momentum balance is neumann
*/
bool momentumBalanceHasNeumann_(const BoundaryTypes& bcTypes) const
{
for (int momentumIdx=momentumXIdx; momentumIdx<=lastMomentumIdx; ++momentumIdx)
......@@ -626,7 +638,9 @@ protected:
return false;
}
// returns true, if all conditions for the momentum balance are outlow
/*!
* \brief Returns true, if all boundary conditions for the momentum balance are outlow
*/
bool momentumBalanceOutflow_(const BoundaryTypes& bcTypes) const
{
for (int momentumIdx=momentumXIdx; momentumIdx<=lastMomentumIdx; ++momentumIdx)
......
......@@ -38,7 +38,7 @@ namespace Dumux
{
/*!
* \ingroup BoxStokesModel
* \brief Adaption of the BOX scheme to the stokes box model.
* \brief Adaption of the box scheme to the stokes model.
*
* This model implements laminar Stokes flow of a single fluid, solving a momentum balance:
* \f[
......@@ -55,10 +55,9 @@ namespace Dumux
* \f]
*
* This is discretized by a fully-coupled vertex-centered finite volume
* (box) scheme as spatial and the implicit Euler method
* as temporal discretization.
* (box) scheme in space and by the implicit Euler method in time.
*/
template<class TypeTag >
template<class TypeTag>
class StokesModel : public BoxModel<TypeTag>
{
typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
......
......@@ -22,7 +22,7 @@
*****************************************************************************/
/*!
* \file
* \brief A stokes specific controller for the newton solver.
* \brief A Stokes specific controller for the newton solver.
*/
#ifndef DUMUX_STOKES_NEWTON_CONTROLLER_HH
#define DUMUX_STOKES_NEWTON_CONTROLLER_HH
......@@ -34,7 +34,7 @@ namespace Dumux {
* \ingroup BoxStokesModel
* \ingroup Newton
* \brief A Stokes-specific controller for the newton solver, which sets
* a different newton parameters.
* different parameters for the relative tolerance, target steps and maximum steps.
*/
template <class TypeTag>
class StokesNewtonController : public NewtonController<TypeTag>
......
......@@ -66,8 +66,8 @@ public:
: ParentType(timeManager, gridView),
gravity_(0)
{
// if (GET_PARAM(TypeTag, bool, EnableGravity))
// gravity_[dim-1] = -9.81;
if (GET_PARAM(TypeTag, bool, EnableGravity))
gravity_[dim-1] = -9.81;
}
/*!
......
......@@ -38,17 +38,8 @@
namespace Dumux
{
////////////////////////////////
// properties
////////////////////////////////
namespace Properties
{
/*!
* \addtogroup BoxStokesModel
*/
// \{
//////////////////////////////////////////////////////////////////
// Type tags
//////////////////////////////////////////////////////////////////
......@@ -67,17 +58,12 @@ NEW_PROP_TAG(StokesIndices); //!< Enumerations for the Stokes models
NEW_PROP_TAG(Fluid);
NEW_PROP_TAG(FluidSystem);
NEW_PROP_TAG(FluidState);
NEW_PROP_TAG(StabilizationAlpha);
NEW_PROP_TAG(StabilizationBeta);
NEW_PROP_TAG(StabilizationAlpha); //!< The parameter for the stabilization
NEW_PROP_TAG(StabilizationBeta); //!< The parameter for the stabilization at boundaries
NEW_PROP_TAG(PhaseIndex);
NEW_PROP_TAG(SpatialParameters);
NEW_PROP_TAG(SpatialParameters); //!< The type of the spatial parameters
NEW_PROP_TAG(Scaling); //!Defines Scaling of the model
// \}
}
}
......
......@@ -27,7 +27,7 @@
*
* \file
*
* \brief Defines the properties required for the Stokes BOX model.
* \brief Defines the properties required for the Stokes box model.
*/
#ifndef DUMUX_STOKES_PROPERTY_DEFAULTS_HH
......@@ -48,37 +48,8 @@
namespace Dumux
{
////////////////////////////////
// forward declarations
////////////////////////////////
template<class TypeTag>
class StokesModel;
template<class TypeTag>
class StokesLocalResidual;
template <class TypeTag>
class StokesVolumeVariables;
template <class TypeTag>
class StokesFluxVariables;
template <class TypeTag>
class StokesNewtonController;
// \}
////////////////////////////////
// properties
////////////////////////////////
namespace Properties
{
/*!
* \addtogroup BoxStokesModel
*/
// \{
//////////////////////////////////////////////////////////////////
// Properties
//////////////////////////////////////////////////////////////////
......@@ -153,9 +124,9 @@ public:
SET_INT_PROP(BoxStokes, PhaseIndex, 0);
// \}
//
}
}
#endif
......@@ -23,7 +23,7 @@
/*!
* \file
*
* \brief Adaptation of the BOX scheme to the compositional stokes model (with two components).
* \brief Adaptation of the box scheme to the compositional Stokes model (with two components).
*/
#ifndef DUMUX_STOKES2C_MODEL_HH
#define DUMUX_STOKES2C_MODEL_HH
......
......@@ -36,10 +36,6 @@
namespace Dumux
{
/*!
* \addtogroup BoxStokes2cModel
*/
// \{
namespace Properties
{
......
......@@ -40,28 +40,6 @@
namespace Dumux
{
/*!
* \addtogroup BoxStokes2cModel
*/
// \{
////////////////////////////////
// forward declarations
////////////////////////////////
template<class TypeTag>
class Stokes2cModel;
template<class TypeTag>
class Stokes2cLocalResidual;
template <class TypeTag>
class Stokes2cVolumeVariables;
template <class TypeTag>
class Stokes2cFluxVariables;
////////////////////////////////
// properties
////////////////////////////////
namespace Properties
{
......
......@@ -40,27 +40,6 @@
namespace Dumux
{
/*!
* \addtogroup BoxStokes2cniModel
*/
// \{
////////////////////////////////
// forward declarations
////////////////////////////////
template<class TypeTag>
class Stokes2cniModel;
template<class TypeTag>
class Stokes2cniLocalResidual;
template <class TypeTag>
class Stokes2cniVolumeVariables;
template <class TypeTag>
class Stokes2cniFluxVariables;
template <class TypeTag>
class Stokes2cniIndices;
namespace Properties
{
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment