Commit f62df9bc authored by Thomas Fetzer's avatar Thomas Fetzer
Browse files

[ 2p2c ] created template for doxygen documentation for 2p2c model, see

FS#209. Other models have to be adjusted.

reviewed by lenaw and alexk


git-svn-id: svn://svn.iws.uni-stuttgart.de/DUMUX/dumux/trunk@12469 2fb0f335-1f38-0410-981e-8018bf24f1b0
parent a444e7b3
......@@ -18,9 +18,9 @@
*****************************************************************************/
/*!
* \file
* \brief This file contains the data which is required to calculate
* \brief Contains the data which is required to calculate
* all fluxes of components over a face of a finite volume for
* the two-phase two-component model.
* the two-phase two-component model fully implicit model.
*/
#ifndef DUMUX_2P2C_FLUX_VARIABLES_HH
#define DUMUX_2P2C_FLUX_VARIABLES_HH
......@@ -36,9 +36,9 @@ namespace Dumux
/*!
* \ingroup TwoPTwoCModel
* \ingroup ImplicitFluxVariables
* \brief This template class contains the data which is required to
* calculate all fluxes of components over a face of a finite
* volume for the two-phase two-component model.
* \brief Contains the data which is required to calculate
* all fluxes of components over a face of a finite volume for
* the two-phase two-component model fully implicit model.
*
* This means pressure and concentration gradients, phase densities at
* the integration point, etc.
......@@ -204,7 +204,7 @@ class TwoPTwoCFluxVariables : public GET_PROP_TYPE(TypeTag, BaseFluxVariables)
public:
/*!
* \brief The effective diffusion coefficient \f$\mathrm{[m^2/s]}\f$
* \brief Returns the effective diffusion coefficient \f$\mathrm{[m^2/s]}\f$
* for each fluid phase in the porous medium.
*
* \param phaseIdx The phase index
......@@ -213,7 +213,7 @@ class TwoPTwoCFluxVariables : public GET_PROP_TYPE(TypeTag, BaseFluxVariables)
{ return porousDiffCoeff_[phaseIdx]; };
/*!
* \brief Return density \f$\mathrm{[kg/m^3]}\f$ of a phase.
* \brief Returns the density \f$\mathrm{[kg/m^3]}\f$ of a phase.
*
* \param phaseIdx The phase index
*/
......@@ -221,7 +221,7 @@ class TwoPTwoCFluxVariables : public GET_PROP_TYPE(TypeTag, BaseFluxVariables)
{ return density_[phaseIdx]; }
/*!
* \brief Return molar density \f$\mathrm{[mol/m^3]}\f$ of a phase.
* \brief Returns the molar density \f$\mathrm{[mol/m^3]}\f$ of a phase.
*
* \param phaseIdx The phase index
*/
......@@ -229,7 +229,8 @@ class TwoPTwoCFluxVariables : public GET_PROP_TYPE(TypeTag, BaseFluxVariables)
{ return molarDensity_[phaseIdx]; }
/*!
* \brief The mole fraction gradient of the dissolved component in a phase.
* \brief Returns the mole fraction gradient \f$\mathrm{[1/m]}\f$
* of the dissolved component in a phase.
*
* \param phaseIdx The phase index
*/
......
......@@ -36,7 +36,8 @@ namespace Dumux
* \brief Element-wise calculation of the Jacobian matrix for problems
* using the two-phase two-component fully implicit model.
*
* This class is used to fill the gaps in BoxLocalResidual for the two-phase two-component flow.
* This class is used to fill the gaps in ImplicitLocalResidual for the
* two-phase two-component flow.
*/
template<class TypeTag>
class TwoPTwoCLocalResidual: public GET_PROP_TYPE(TypeTag, BaseLocalResidual)
......@@ -74,12 +75,14 @@ class TwoPTwoCLocalResidual: public GET_PROP_TYPE(TypeTag, BaseLocalResidual)
static constexpr unsigned int replaceCompEqIdx =
GET_PROP_VALUE(TypeTag, ReplaceCompEqIdx);
//! property that defines whether mole or mass fractions are used
//! Property that defines whether mole or mass fractions are used
static const bool useMoles = GET_PROP_VALUE(TypeTag, UseMoles);
public:
/*!
* \brief Constructor. Sets the upwind weight.
* \brief Constructor
*
* Sets the mass upwind weight.
*/
TwoPTwoCLocalResidual()
{
......@@ -120,12 +123,12 @@ class TwoPTwoCLocalResidual: public GET_PROP_TYPE(TypeTag, BaseLocalResidual)
* \brief Evaluate the amount of all conservation quantities
* (e.g. phase mass) within a sub-control volume.
*
* The result should be averaged over the volume (e.g. phase mass
* inside a sub-control volume divided by the volume)
*
* \param storage The mass of the component within the sub-control volume
* \param scvIdx The sub-control-volume index
* \param usePrevSol Evaluate function with solution of current or previous time step
* \param usePrevSol Based on usePrevSol solution of current or previous time step is used
*
* The result should be averaged over the volume (e.g. phase mass
* inside a sub-control volume divided by the volume)
*/
void computeStorage(PrimaryVariables &storage, const int scvIdx, bool usePrevSol) const
{
......@@ -346,7 +349,7 @@ class TwoPTwoCLocalResidual: public GET_PROP_TYPE(TypeTag, BaseLocalResidual)
}
/*!
* \brief Adds the diffusive mass flux of all components over
* \brief Evaluates the diffusive mass flux of all components over
* a face of a sub-control volume.
*
* \param flux The flux over the sub-control-volume face for each component
......@@ -406,9 +409,9 @@ class TwoPTwoCLocalResidual: public GET_PROP_TYPE(TypeTag, BaseLocalResidual)
}
/*!
* \brief Calculate the source term of the equation
* \brief Evaluates the source term
*
* \param source The source/sink in the sub-control volume for each component
* \param source The source/sink in the sub-control volume
* \param scvIdx The index of the sub-control volume
*
* Be careful what you use, mole or mass fraction! Think of the units!
......@@ -473,10 +476,13 @@ class TwoPTwoCLocalResidual: public GET_PROP_TYPE(TypeTag, BaseLocalResidual)
}
/*!
* \brief Return the equation index of the first mass-balance equation
* of the component (used for loops); if one component mass balance
* is replaced by the total mass balance, this is the index
* of the remaining component mass-balance equation.
* \brief Returns the equation index of the first mass-balance equation
* of the component (used for loops)
*
* Returns the equation index of the first mass-balance equation
* of the component (used for loops) if one component mass balance
* is replaced by the total mass balance, this is the index
* of the remaining component mass-balance equation.
*/
unsigned int contiCompIdx1_() const {
switch (replaceCompEqIdx)
......@@ -488,10 +494,13 @@ class TwoPTwoCLocalResidual: public GET_PROP_TYPE(TypeTag, BaseLocalResidual)
}
/*!
* \brief Return the equation index of the second mass balance
* of the component (used for loops);
* if one component mass balance is replaced by the total mass balance
* (replaceCompEqIdx < 2), this index is the same as contiCompIdx1().
* \brief Returns the equation index of the second mass balance
* of the component (used for loops)
*
* Returns the equation index of the second mass balance
* of the component (used for loops)
* if one component mass balance is replaced by the total mass balance
* (replaceCompEqIdx < 2), this index is the same as contiCompIdx1().
*/
unsigned int contiCompIdx2_() const {
switch (replaceCompEqIdx)
......
......@@ -19,7 +19,8 @@
/*!
* \file
*
* \brief Adaption of the fully implicit scheme to the two-phase two-component flow model.
* \brief Adaption of the fully implicit scheme to the
* two-phase two-component fully implicit model.
*/
#ifndef DUMUX_2P2C_MODEL_HH
#define DUMUX_2P2C_MODEL_HH
......@@ -32,7 +33,8 @@ namespace Dumux
{
/*!
* \ingroup TwoPTwoCModel
* \brief Adaption of the fully implicit scheme to the two-phase two-component flow model.
* \brief Adaption of the fully implicit scheme to the
* two-phase two-component fully implicit model.
*
* This model implements two-phase two-component flow of two compressible and
* partially miscible fluids \f$\alpha \in \{ w, n \}\f$ composed of the two components
......@@ -196,10 +198,9 @@ public:
}
/*!
* \brief Compute the total storage inside one phase of all
* conservation quantities.
* \brief Compute the total storage of all conservation quantities in one phase
*
* \param storage Contains the storage of each component for one phase
* \param storage Contains the storage of each component in one phase
* \param phaseIdx The phase index
*/
void globalPhaseStorage(PrimaryVariables &storage, const int phaseIdx)
......@@ -225,7 +226,7 @@ public:
/*!
* \brief Called by the update() method if applying the Newton
* method was unsuccessful.
* method was unsuccessful.
*/
void updateFailed()
{
......@@ -252,7 +253,7 @@ public:
}
/*!
* \brief Return true if the primary variables were switched for
* \brief Returns true if the primary variables were switched for
* at least one vertex after the last timestep.
*/
bool switched() const
......@@ -264,7 +265,7 @@ public:
* \brief Returns the phase presence of the current or the old solution of a degree of freedom.
*
* \param globalIdx The global index of the degree of freedom
* \param oldSol Evaluate function with solution of current or previous time step
* \param oldSol Based on oldSol current or previous time step is used
*/
int phasePresence(int globalIdx, bool oldSol) const
{
......@@ -539,7 +540,7 @@ public:
};
/*!
* \brief Reset the current phase presence of all vertices to the old one.
* \brief Resets the current phase presence of all vertices to the old one.
*
* This is done after an update failed.
*/
......@@ -554,7 +555,7 @@ public:
}
/*!
* \brief Set the phase presence of all vertices state to the current one.
* \brief Sets the phase presence of all vertices state to the current one.
*/
void updateOldPhasePresence_()
{
......@@ -567,7 +568,7 @@ public:
}
/*!
* \brief Set whether there was a primary variable switch after
* \brief Sets whether there was a primary variable switch after
* the last timestep.
*/
void setSwitched_(bool yesno)
......@@ -576,8 +577,8 @@ public:
}
/*!
* \brief Perform variable switch at a vertex; Returns true if a
// variable switch was performed.
* \brief Performs variable switch at a vertex, returns true if a
* variable switch was performed.
*/
bool primaryVarSwitch_(SolutionVector &globalSol,
const VolumeVariables &volVars,
......
......@@ -19,10 +19,6 @@
/*!
* \file
* \brief A two-phase two-component specific controller for the Newton solver.
*
* This controller 'knows' what a 'physically meaningful' solution is
* which allows the Newton method to abort quicker if the solution is
* way out of bounds.
*/
#ifndef DUMUX_2P2C_NEWTON_CONTROLLER_HH
#define DUMUX_2P2C_NEWTON_CONTROLLER_HH
......@@ -39,7 +35,7 @@ namespace Dumux {
* \brief A two-phase two-component specific controller for the Newton solver.
*
* This controller 'knows' what a 'physically meaningful' solution is
* which allows the Newton method to abort quicker if the solution is
* which allows the Newton method to abort earlier if the solution is
* way out of bounds.
*/
template <class TypeTag>
......
......@@ -20,8 +20,7 @@
* \ingroup Properties
* \ingroup ImplicitProperties
* \ingroup TwoPTwoCModel
*/
/*!
*
* \file
*
* \brief Defines the properties required for the two-phase two-component
......@@ -51,25 +50,25 @@ NEW_TYPE_TAG(CCTwoPTwoC, INHERITS_FROM(CCModel, TwoPTwoC));
// Property tags
//////////////////////////////////////////////////////////////////
NEW_PROP_TAG(NumPhases); //!< Number of fluid phases in the system
NEW_PROP_TAG(NumPhases); //!< Number of fluid phases in the system
NEW_PROP_TAG(NumComponents); //!< Number of fluid components in the system
NEW_PROP_TAG(Indices); //!< Enumerations for the model
NEW_PROP_TAG(Formulation); //!< The formulation of the model
NEW_PROP_TAG(Formulation); //!< The formulation of the model
NEW_PROP_TAG(SpatialParams); //!< The type of the spatial parameters
NEW_PROP_TAG(FluidSystem); //!< The type of the multi-component relations
NEW_PROP_TAG(MaterialLaw); //!< The material law which ought to be used (extracted from the spatial parameters)
NEW_PROP_TAG(MaterialLaw); //!< The material law which ought to be used (extracted from the spatial parameters)
NEW_PROP_TAG(MaterialLawParams); //!< The parameters of the material law (extracted from the spatial parameters)
NEW_PROP_TAG(EffectiveDiffusivityModel); //!< The employed model for the computation of the effective diffusivity
NEW_PROP_TAG(ProblemEnableGravity); //!< Returns whether gravity is considered in the problem
NEW_PROP_TAG(UseMoles); //!Defines whether mole (true) or mass (false) fractions are used
NEW_PROP_TAG(UseMoles); //!< Defines whether mole (true) or mass (false) fractions are used
NEW_PROP_TAG(ImplicitMassUpwindWeight); //!< The value of the upwind weight for the mass conservation equations
NEW_PROP_TAG(ImplicitMobilityUpwindWeight); //!< Weight for the upwind mobility in the velocity calculation
//! The index of the total mass balance equation, if one component balance is replaced (ReplaceCompEqIdx < NumComponents)
NEW_PROP_TAG(ReplaceCompEqIdx);
NEW_PROP_TAG(ReplaceCompEqIdx); //!< The index of the total mass balance equation,
//!< if one component balance is replaced (ReplaceCompEqIdx < NumComponents)
NEW_PROP_TAG(VtkAddVelocity); //!< Returns whether velocity vectors are written into the VTK output
NEW_PROP_TAG(BaseFluxVariables); //! The base flux variables
NEW_PROP_TAG(BaseFluxVariables); //!< The base flux variables
NEW_PROP_TAG(SpatialParamsForchCoeff); //!< Property for the forchheimer coefficient
}
}
......
......@@ -83,20 +83,18 @@ SET_PROP(TwoPTwoC, NumPhases)
"Only fluid systems with 2 phases are supported by the 2p-2c model!");
};
SET_INT_PROP(TwoPTwoC, NumEq, 2); //!< set the number of equations to 2
//! Set the number of equations to 2
SET_INT_PROP(TwoPTwoC, NumEq, 2);
//! Set the default formulation to pw-sn
SET_INT_PROP(TwoPTwoC,
Formulation,
TwoPTwoCFormulation::pwsn);
//! set as default that no component mass balance is replaced by the total mass balance
//! Set as default that no component mass balance is replaced by the total mass balance
SET_INT_PROP(TwoPTwoC, ReplaceCompEqIdx, 2);
/*!
* \brief Set the property for the material parameters by extracting
* it from the material law.
*/
//! Set the property for the material parameters by extracting it from the material law.
SET_PROP(TwoPTwoC, MaterialLawParams)
{
private:
......@@ -106,33 +104,33 @@ SET_PROP(TwoPTwoC, MaterialLawParams)
typedef typename MaterialLaw::Params type;
};
//! Use the 2p2c local Jacobian operator for the 2p2c model
//! Use the 2p2c local Jacobian operator
SET_TYPE_PROP(TwoPTwoC,
LocalResidual,
TwoPTwoCLocalResidual<TypeTag>);
//! Use the 2p2c specific Newton controller for the 2p2c model
//! Use the 2p2c Newton controller
SET_TYPE_PROP(TwoPTwoC, NewtonController, TwoPTwoCNewtonController<TypeTag>);
//! the Model property
//! Use the 2p2c model
SET_TYPE_PROP(TwoPTwoC, Model, TwoPTwoCModel<TypeTag>);
//! the VolumeVariables property
//! Use the 2p2c VolumeVariables
SET_TYPE_PROP(TwoPTwoC, VolumeVariables, TwoPTwoCVolumeVariables<TypeTag>);
//! the FluxVariables property
//! Use the 2p2c FluxVariables
SET_TYPE_PROP(TwoPTwoC, FluxVariables, TwoPTwoCFluxVariables<TypeTag>);
//! define the base flux variables to realize Darcy flow
//! Set the BaseFluxVariables to realize Darcy flow
SET_TYPE_PROP(TwoPTwoC, BaseFluxVariables, ImplicitDarcyFluxVariables<TypeTag>);
//! the upwind weight for the mass conservation equations.
//! Set the upwind weight for the mass conservation equations
SET_SCALAR_PROP(TwoPTwoC, ImplicitMassUpwindWeight, 1.0);
//! set default mobility upwind weight to 1.0, i.e. fully upwind
//! Set default mobility upwind weight to 1.0, i.e. fully upwind
SET_SCALAR_PROP(TwoPTwoC, ImplicitMobilityUpwindWeight, 1.0);
//! The indices required by the isothermal 2p2c model
//! Set the indices required by the isothermal 2p2c
SET_PROP(TwoPTwoC, Indices)
{ private:
enum { Formulation = GET_PROP_VALUE(TypeTag, Formulation) };
......@@ -140,11 +138,10 @@ SET_PROP(TwoPTwoC, Indices)
typedef TwoPTwoCIndices<TypeTag, Formulation, 0> type;
};
//! The spatial parameters to be employed.
//! Use ImplicitSpatialParams by default.
//! Use the ImplicitSpatialParams by default
SET_TYPE_PROP(TwoPTwoC, SpatialParams, ImplicitSpatialParams<TypeTag>);
//! The model after Millington (1961) is used for the effective diffusivity
//! Use the model after Millington (1961) for the effective diffusivity
SET_PROP(TwoPTwoC, EffectiveDiffusivityModel)
{ private :
typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar;
......@@ -152,16 +149,16 @@ SET_PROP(TwoPTwoC, EffectiveDiffusivityModel)
typedef DiffusivityMillingtonQuirk<Scalar> type;
};
// disable velocity output by default
//! Disable velocity output by default
SET_BOOL_PROP(TwoPTwoC, VtkAddVelocity, false);
// enable gravity by default
//! Enable gravity by default
SET_BOOL_PROP(TwoPTwoC, ProblemEnableGravity, true);
SET_BOOL_PROP(TwoPTwoC, UseMoles, true); //!< Define that mole fractions are used in the balance equations per default
//! Use mole fractions in the balance equations by default
SET_BOOL_PROP(TwoPTwoC, UseMoles, true);
//! default value for the Forchheimer coefficient
//! Set default value for the Forchheimer coefficient
// Source: Ward, J.C. 1964 Turbulent flow in porous media. ASCE J. Hydraul. Div 90.
// Actually the Forchheimer coefficient is also a function of the dimensions of the
// porous medium. Taking it as a constant is only a first approximation
......
......@@ -337,14 +337,14 @@ public:
}
/*!
* \brief Returns the phase state for the control volume.
* \brief Returns the phase state within the control volume.
*/
const FluidState &fluidState() const
{ return fluidState_; }
/*!
* \brief Returns the saturation of a given phase within
* the control volume.
* the control volume in \f$[-]\f$.
*
* \param phaseIdx The phase index
*/
......@@ -353,7 +353,7 @@ public:
/*!
* \brief Returns the mass fraction of a given component in a
* given phase within the control volume.
* given phase within the control volume in \f$[-]\f$.
*
* \param phaseIdx The phase index
* \param compIdx The component index
......@@ -363,7 +363,7 @@ public:
/*!
* \brief Returns the mass fraction of a given component in a
* given phase within the control volume.
* given phase within the control volume in \f$[-]\f$.
*
* \param phaseIdx The phase index
* \param compIdx The component index
......@@ -373,7 +373,7 @@ public:
/*!
* \brief Returns the mass density of a given phase within the
* control volume.
* control volume in \f$[kg/m^3]\f$.
*
* \param phaseIdx The phase index
*/
......@@ -382,7 +382,7 @@ public:
/*!
* \brief Returns the mass density of a given phase within the
* control volume.
* control volume in \f$[mol/m^3]\f$.
*
* \param phaseIdx The phase index
*/
......@@ -391,7 +391,7 @@ public:
/*!
* \brief Returns the effective pressure of a given phase within
* the control volume.
* the control volume in \f$[kg/(m*s^2)=N/m^2=Pa]\f$.
*
* \param phaseIdx The phase index
*/
......@@ -399,7 +399,7 @@ public:
{ return fluidState_.pressure(phaseIdx); }
/*!
* \brief Returns temperature inside the sub-control volume.
* \brief Returns temperature within the control volume in \f$[K]\f$.
*
* Note that we assume thermodynamic equilibrium, i.e. the
* temperature of the rock matrix and of all fluid phases are
......@@ -410,7 +410,7 @@ public:
/*!
* \brief Returns the relative permeability of a given phase within
* the control volume.
* the control volume in \f$[-]\f$.
*
* \param phaseIdx The phase index
*/
......@@ -421,7 +421,7 @@ public:
/*!
* \brief Returns the effective mobility of a given phase within
* the control volume.
* the control volume in \f$[s*m/kg]\f$.
*
* \param phaseIdx The phase index
*/
......@@ -431,19 +431,20 @@ public:
}
/*!
* \brief Returns the effective capillary pressure within the control volume.
* \brief Returns the effective capillary pressure within the control volume
* in \f$[kg/(m*s^2)=N/m^2=Pa]\f$.
*/
Scalar capillaryPressure() const
{ return fluidState_.pressure(nPhaseIdx) - fluidState_.pressure(wPhaseIdx); }
/*!
* \brief Returns the average porosity within the control volume.
* \brief Returns the average porosity within the control volume in \f$[-]\f$.
*/
Scalar porosity() const
{ return porosity_; }
/*!
* \brief Returns the binary diffusion coefficients for a phase
* \brief Returns the binary diffusion coefficients for a phase in \f$[m^2/s]\f$.
*/
Scalar diffCoeff(const int phaseIdx) const
{ return diffCoeff_[phaseIdx]; }
......@@ -478,8 +479,8 @@ protected:
bool isOldSol)
{ }
Scalar porosity_; //!< Effective porosity within the control volume
Scalar relativePermeability_[numPhases]; //!< Relative permeability within the control volume
Scalar porosity_; //!< Effective porosity within the control volume
Scalar relativePermeability_[numPhases]; //!< Relative permeability within the control volume
Scalar diffCoeff_[numPhases]; //!< Binary diffusion coefficients for the phases
FluidState fluidState_;
......
......@@ -19,7 +19,9 @@
/*!
* \file
*
* \brief Definition of a problem, where air is injected under a low permeable layer.
* \brief Problem where air is injected under a low permeable layer in a depth of 2700m.
*
* \copydoc Dumux::InjectionProblem
*/
#ifndef DUMUX_INJECTION_PROBLEM_HH
#define DUMUX_INJECTION_PROBLEM_HH
......@@ -143,7 +145,7 @@ class InjectionProblem : public ImplicitPorousMediaProblem<TypeTag>
typedef typename GET_PROP_TYPE(TypeTag, GridCreator) GridCreator;
typedef Dune::FieldVector<Scalar, dimWorld> GlobalPosition;
enum { isBox = GET_PROP_VALUE(TypeTag, ImplicitIsBox) };
//! property that defines whether mole or mass fractions are used
......@@ -219,7 +221,9 @@ public:
}
/*!
* \brief Called directly after the time integration.
* \brief User defined output after the time integration
*
* Will be called diretly after the time integration.
*/
void postTimeStep()
{
......@@ -242,7 +246,7 @@ public:
// \{
/*!
* \brief The problem name.
* \brief Returns the problem name
*
* This is used as a prefix for files generated by the simulation.
*/
......@@ -250,18 +254,16 @@ public:
{ return name_; }
/*!
* \brief Returns the temperature within the domain.
*
* This problem assumes a temperature of 10 degrees Celsius.
* \brief Returns the temperature
*/
Scalar temperature() const
{ return temperature_; };
/*!
* \brief Returns the source term at specific position in the domain.
* \brief Returns the source term
*
* \param values The source values for the primary variables
* \param globalPos The position
* \param values Stores the source value
* \param globalPos The global position
*/
void sourceAtPos(PrimaryVariables &values,
const GlobalPosition &globalPos) const
......@@ -278,12 +280,12 @@ public:
/*!
* \brief Specifies which kind of boundary condition should be
* used for which equation on a given boundary segment.
* used for which equation on a given boundary segment
*
* \param values The boundary types for the conservation equations
* \param globalPos The position for which the bc type should be evaluated
* \param values Stores the value of the boundary type
* \param globalPos The global position
*/
void boundaryTypesAtPos(BoundaryTypes &values,
void boundaryTypesAtPos(BoundaryTypes &values,
const GlobalPosition &globalPos) const
{
if (globalPos[0] < eps_)
......@@ -293,13 +295,11 @@ public:
}
/*!
* \brief Evaluate the boundary conditions for a dirichlet
* boundary segment.
*
* \param values The dirichlet values for the primary variables
* \param globalPos The position for which the bc type should be evaluated
* \brief Evaluate the boundary conditions for a Dirichlet
* boundary segment
*
* For this method, the \a values parameter stores primary variables.
* \param values Stores the value of the Dirichlet boundary condition
* \param globalPos The global position
*/
void dirichletAtPos(PrimaryVariables &values, const GlobalPosition &globalPo