Commit 4d621a55 authored by Thomas Fetzer's avatar Thomas Fetzer
Browse files

[parameters,gridadapt]

updated the parameterlist.txt
then renamed the gridadaptation for implicit to gridadaption, to be
consistent with the decoupled stuff and the docu.

reviewed by nicolas


git-svn-id: svn://svn.iws.uni-stuttgart.de/DUMUX/dumux/trunk@15504 2fb0f335-1f38-0410-981e-8018bf24f1b0
parent cd749e56
......@@ -11,20 +11,29 @@
* | Group | Parameter | Type | Default Value | Explanation |
* | :- | :- | :- | :- | :-
* | - | ParameterFile | std::string | executable.input | name of the parameter file |
* | \b FreeFlow | BoundaryLayerModel | int | 0 | 0 for none, 1 Blasius, 2 and 3 turbulent BL, 9 constant thickness |
* | | BoundaryLayerOffset | Scalar | - | virtual run-up distance for BL models |
* | \b BoundaryLayer | Model | int | 0 | 0 for none, 1 Blasius, 2 and 3 turbulent BL, 9 constant thickness |
* | | ConstThickness | Scalar | - | constant BL thickness (BL model 9) |
* | | ExponentMTC | Scalar | - | mass transfer coefficient for S^MTC |
* | | MassTransferModel | int | 0 | 0 for none, 1 power law, 2 Schluender model |
* | | RefMassfrac | Scalar | - | free stream water mass fraction |
* | | VxMax | Scalar | - | free stream velocity |
* | | Offset | Scalar | - | virtual run-up distance for BL models |
* | | RoughnessLength | Scalar | - | Equivalent sand grain roughness [m] |
* | | YPlus | Scalar | - | Conversion factor between dimensionless wall distance y^+ and actual wall distance |
* | \b FreeFlow | RefMassfrac | Scalar | - | free stream water vapor mass fraction |
* | | RefTemperature | Scalar | - | free stream temperature |
* | | RefVelocity | Scalar | - | free stream velocity |
* | \b Grid | File | std::string | - | name of the grid file, if a corresponding GridCreator is used |
* | | GradingFactorX | Scalar | 1.0 | Grid factor for the cells on the x-coordinate (only Interface-GridCreator) |
* | | GradingFactorY | Scalar | 1.0 | Grid factor for the cells on the y-coordinate (only Interface-GridCreator) |
* | | InterfacePosX | Scalar | 0.0 | x-coordinate of the refinement point/line (only Interface-GridCreator) |
* | | InterfacePosY | Scalar | 0.0 | y-coordinate of the refinement point/line (only Interface-GridCreator) |
* | | LowerLeftX | Scalar | - | x-coordinate of the lower front left corner for the Cube/Simplex/Interface-GridCreator |
* | | LowerLeftY | Scalar | - | y-coordinate of the lower front left corner for the Cube/Simplex/Interface-GridCreator |
* | | NumberOfCellsX | int | - | number of cells in x direction for the Cube/SimplexGridCreator |
* | | NumberOfCellsY | int | - | number of cells in y direction for the Cube/SimplexGridCreator |
* | | NumberOfCellsZ | int | - | number of cells in z direction for the Cube/SimplexGridCreator |
* | | UpperRightX | Scalar | - | x-coordinate of the upper back right corner for the Cube/SimplexGridCreator |
* | | UpperRightY | Scalar | - | y-coordinate of the upper back right corner for the Cube/SimplexGridCreator |
* | | UpperRightZ | Scalar | - | z-coordinate of the upper back right corner for the Cube/SimplexGridCreator |
* | | RefineTopX | bool | false | Refine to the right of the domain (only Interface-GridCreator) |
* | | RefineTopY | bool | false | Refine to the top of the domain (only Interface-GridCreator) |
* | | UpperRightX | Scalar | - | x-coordinate of the upper back right corner for the Cube/Simplex/Interface-GridCreator |
* | | UpperRightY | Scalar | - | y-coordinate of the upper back right corner for the Cube/Simplex/Interface-GridCreator |
* | | UpperRightZ | Scalar | - | z-coordinate of the upper back right corner for the Cube/Simplex/Interface-GridCreator |
* | \b GridAdapt | AdaptionInterval | int | 1 | time step interval for adaption |
* | | CoarsenPercentileFlux | Scalar | 0.2 | percentile of cells coarsened because of flux criterion |
* | | CoarsenPercentileSat | Scalar | 0.2 | percentile of cells coarsened because of saturation criterion |
......@@ -74,6 +83,9 @@
* | | PreconditionerRelaxation | double | 1 | relaxation parameter for the preconditioner |
* | | ResidualReduction | double | 1e-6 (imp), 1e-13 (dec) | target reduction of the initial residual |
* | | Verbosity | int | 0 | specifies the verbosity of the linear solver |
* | \b MassTransfer | Model | int | 0 | 0 for none, 1 power law, 2 Schluender model |
* | | CharPoreRadius | Scalar | - | parameter for Schluender mass-transfer model |
* | | Coefficient | Scalar | - | mass transfer coefficient for S^MTC |
* | \b MPFA | CalcVelocityInTransport | bool | false | enable facewise velocity calculation in the transport step (less efficient!) |
* | | EnableComplexLStencil | bool | true | enable use of the two more complex (non-centered) L-shapes (3-d) |
* | | EnableSimpleLStencil | bool | true | enable use of the two simpler (centered) L-shapes (3-d) |
......@@ -92,8 +104,12 @@
* | | UseLineSearch | bool | false | specifies whether the update should be done using line search |
* | | WriteConvergence | bool | false | specifies whether the convergence rate and the global residual gets written out to disk for every Newton iteration |
* | \b Pardiso | NumProcessors | int | - | |
* | \b PorousMedium | CharPoreDiameter | Scalar | - | parameter for Schluender mass-transfer model |
* | \b Problem | EnableGravity | bool | true | returns whether gravity is considered in the problem |
* | | GasDensity | Scalar | - | The density of the gas (only components/constant.hh) |
* | | GasKinematicViscosity | Scalar | - | The kinematic viscosity of the gas (only components/constant.hh) |
* | | LiquidDensity | Scalar | - | The density of the liquid (only components/constant.hh) |
* | | LiquidKinematicViscosity | Scalar | - | The kinematic viscosity of the liquid (only components/constant.hh) |
* | | Name | std::string | - | The name of the current problem, used for output |
* | | Salinity | Scalar | 1e-3 | |
* | \b SpatialParams | ForchCoeff | Scalar | 0.55 | property for the forchheimer coefficient |
* | \b Stokes | StabilizationAlpha | Scalar | 0 | parameter for the stabilization |
......@@ -121,8 +137,16 @@
* | | AddPressures | bool | true | add pressures to output (MPNC only) |
* | | AddSaturations | bool | true | add saturations to output (MPNC only) |
* | | AddTemperatures | bool | false | add temperatures to output (MPNC only) |
* | | AddVelocities | bool | false | add velocities to output (MPNC only) |
* | | AddVelocity | bool | false | add velocity to output (2p(ni) and 2p2c(ni) only) |
* | | OutputLevel | int | 0 (2 for 2p2c) | Vtk output verbosity (0: only primary variables, >0 more depending on the model) |
* | | RockMechanicsSignConvention | bool | true | Compressive stress has positive sign |
* | \b ZeroEq | BBoxMaxSandGrainRoughness | Scalar | 0.0 | Equivalent sand grain roughness of the upper wall [m] |
* | | BBoxMinSandGrainRoughness | Scalar | 0.0 | Equivalent sand grain roughness of the lower wall [m] |
* | | EddyConductivityModel | int | 1 | The used eddy conductivity model (default = Reynolds analogy) |
* | | EddyDiffusivityModel | int | 1 | The used eddy diffusivity model (default = Reynolds analogy) |
* | | EddyViscosityModel | int | 1 | The used eddy viscosity model (default = Prandtl) |
* | | FlowNormal | int | 0 | Coordinate axis of main velocity entry |
* | | TurbulentPrandtlNumber | Scalar | 1.0 | Conversion between eddy viscosity and eddy conductivity |
* | | TurbulentSchmidtNumber | Scalar | 1.0 | Conversion between eddy viscosity and eddy diffusivity |
* | | WallNormal | int | 1 | Coordinate axis normal to the wall |
*/
......@@ -16,8 +16,8 @@
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
*****************************************************************************/
#ifndef DUMUX_ADAPTATIONHELPER_HH
#define DUMUX_ADAPTATIONHELPER_HH
#ifndef DUMUX_ADAPTIONHELPER_HH
#define DUMUX_ADAPTIONHELPER_HH
#include <dune/common/version.hh>
#include <dune/grid/common/gridenums.hh>
......@@ -44,7 +44,7 @@ NEW_PROP_TAG(Scalar);
}
template<class TypeTag>
class AdaptationHelper
class AdaptionHelper
{
private:
typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem;
......@@ -91,7 +91,7 @@ private:
private:
const GridView gridView_;
const Grid& grid_;
PersistentContainer adaptationMap_;
PersistentContainer adaptionMap_;
public:
//! Constructs an adaptive helper object
......@@ -101,8 +101,8 @@ public:
*
* @param gridView a DUNE gridview object corresponding to diffusion and transport equation
*/
AdaptationHelper(const GridView& gridView) :
gridView_(gridView), grid_(gridView.grid()), adaptationMap_(grid_, dofCodim)
AdaptionHelper(const GridView& gridView) :
gridView_(gridView), grid_(gridView.grid()), adaptionMap_(grid_, dofCodim)
{}
......@@ -119,7 +119,7 @@ public:
*/
void storePrimVars(Problem& problem)
{
adaptationMap_.resize();
adaptionMap_.resize();
// loop over all levels of the grid
for (int level = grid_.maxLevel(); level >= 0; level--)
......@@ -132,7 +132,7 @@ public:
for (ElementLevelIterator eIt = levelView.template begin<0>(); eIt != levelView.template end<0>(); ++eIt)
{
//get your map entry
AdaptedValues &adaptedValues = adaptationMap_[*eIt];
AdaptedValues &adaptedValues = adaptionMap_[*eIt];
// put your value in the map
if (eIt->isLeaf())
......@@ -140,7 +140,7 @@ public:
// get index
int indexI = this->elementIndex(problem, *eIt);
storeAdaptationValues(adaptedValues, problem.model().curSol()[indexI]);
storeAdaptionValues(adaptedValues, problem.model().curSol()[indexI]);
adaptedValues.count = 1;
}
......@@ -148,9 +148,9 @@ public:
if (eIt->level() > 0)
{
ElementPointer epFather = eIt->father();
AdaptedValues& adaptedValuesFather = adaptationMap_[*epFather];
AdaptedValues& adaptedValuesFather = adaptionMap_[*epFather];
adaptedValuesFather.count += 1;
storeAdaptationValues(adaptedValues, adaptedValuesFather);
storeAdaptionValues(adaptedValues, adaptedValuesFather);
}
}
......@@ -160,12 +160,12 @@ public:
for (LevelIterator dofIt = levelView.template begin<dofCodim>(); dofIt != levelView.template end<dofCodim>(); ++dofIt)
{
//get your map entry
AdaptedValues &adaptedValues = adaptationMap_[*dofIt];
AdaptedValues &adaptedValues = adaptionMap_[*dofIt];
// put your value in the map
int indexI = this->dofIndex(problem, *dofIt);
storeAdaptationValues(adaptedValues, problem.model().curSol()[indexI]);
storeAdaptionValues(adaptedValues, problem.model().curSol()[indexI]);
adaptedValues.count = 1;
......@@ -189,7 +189,7 @@ public:
*/
void reconstructPrimVars(Problem& problem)
{
adaptationMap_.resize();
adaptionMap_.resize();
for (int level = 0; level <= grid_.maxLevel(); level++)
{
......@@ -208,10 +208,10 @@ public:
{
if(!isBox)
{
AdaptedValues &adaptedValues = adaptationMap_[*eIt];
AdaptedValues &adaptedValues = adaptionMap_[*eIt];
int newIdxI = this->elementIndex(problem, *eIt);
setAdaptationValues(adaptedValues, problem.model().curSol()[newIdxI]);
setAdaptionValues(adaptedValues, problem.model().curSol()[newIdxI]);
}
else
{
......@@ -224,10 +224,10 @@ public:
for(unsigned int i = 0; i < numSubEntities; i++)
{
DofPointer subEntity = eIt->template subEntity <dofCodim>(i);
AdaptedValues &adaptedValues = adaptationMap_[*subEntity];
AdaptedValues &adaptedValues = adaptionMap_[*subEntity];
int newIdxI = this->dofIndex(problem, *subEntity);
setAdaptationValues(adaptedValues, problem.model().curSol()[newIdxI]);
setAdaptionValues(adaptedValues, problem.model().curSol()[newIdxI]);
}
}
......@@ -242,12 +242,12 @@ public:
if(!isBox)
{
// create new entry: reconstruct from adaptationMap_[*father] to a new
// adaptationMap_[*son]
reconstructAdaptationValues(adaptationMap_, *epFather, *eIt, problem);
// create new entry: reconstruct from adaptionMap_[*father] to a new
// adaptionMap_[*son]
reconstructAdaptionValues(adaptionMap_, *epFather, *eIt, problem);
// access new son
AdaptedValues& adaptedValues = adaptationMap_[*eIt];
AdaptedValues& adaptedValues = adaptionMap_[*eIt];
adaptedValues.count = 1;
// if we are on leaf, store reconstructed values of son in CellData object
......@@ -256,7 +256,7 @@ public:
// acess new CellData object
int newIdxI = this->elementIndex(problem, *eIt);
setAdaptationValues(adaptedValues, problem.model().curSol()[newIdxI]);
setAdaptionValues(adaptedValues, problem.model().curSol()[newIdxI]);
}
}
else
......@@ -271,7 +271,7 @@ public:
for(unsigned int i = 0; i < numSubEntities; i++)
{
DofPointer subEntity = eIt->template subEntity <dofCodim>(i);
AdaptedValues &adaptedValues = adaptationMap_[*subEntity];
AdaptedValues &adaptedValues = adaptionMap_[*subEntity];
if(adaptedValues.count == 0){
LocalPosition dofCenterPos = geometryI.local(subEntity->geometry().center());
......@@ -285,7 +285,7 @@ public:
for (int j = 0; j < shapeVal.size(); ++j)
{
DofPointer subEntityFather = epFather->template subEntity <dofCodim>(j);
AdaptedValues & adaptedValuesFather = adaptationMap_[*subEntityFather];
AdaptedValues & adaptedValuesFather = adaptionMap_[*subEntityFather];
u.axpy(shapeVal[j], adaptedValuesFather.u);
}
......@@ -296,7 +296,7 @@ public:
if (eIt->isLeaf())
{
int newIdxI = this->dofIndex(problem, *subEntity);
setAdaptationValues(adaptedValues, problem.model().curSol()[newIdxI]);
setAdaptionValues(adaptedValues, problem.model().curSol()[newIdxI]);
}
}
......@@ -308,9 +308,9 @@ public:
}
// reset entries in restrictionmap
adaptationMap_.resize( typename PersistentContainer::Value() );
adaptationMap_.shrinkToFit();
adaptationMap_.fill( typename PersistentContainer::Value() );
adaptionMap_.resize( typename PersistentContainer::Value() );
adaptionMap_.shrinkToFit();
adaptionMap_.fill( typename PersistentContainer::Value() );
//#if HAVE_MPI
// // communicate ghost data
......@@ -327,12 +327,12 @@ public:
//! Stores values to be adapted in an adaptedValues container
/**
* Stores values to be adapted from the current CellData objects into
* the adaptation container in order to be mapped on a new grid.
* the adaption container in order to be mapped on a new grid.
*
* \param adaptedValues Container for model-specific values to be adapted
* \param element The element to be stored
*/
static void storeAdaptationValues(AdaptedValues& adaptedValues, const PrimaryVariables& u)
static void storeAdaptionValues(AdaptedValues& adaptedValues, const PrimaryVariables& u)
{
adaptedValues.u = u;
}
......@@ -346,7 +346,7 @@ public:
* \param adaptedValuesFather Values to be adapted of father cell
* \param fatherElement The element of the father
*/
static void storeAdaptationValues(AdaptedValues& adaptedValues,
static void storeAdaptionValues(AdaptedValues& adaptedValues,
AdaptedValues& adaptedValuesFather)
{
if(!isBox)
......@@ -368,7 +368,7 @@ public:
* \param adaptedValues Container for model-specific values to be adapted
* \param element The element where things are stored.
*/
static void setAdaptationValues(AdaptedValues& adaptedValues, PrimaryVariables& u)
static void setAdaptionValues(AdaptedValues& adaptedValues, PrimaryVariables& u)
{
PrimaryVariables uNew = adaptedValues.u;
uNew /= adaptedValues.count;
......@@ -380,18 +380,18 @@ public:
/**
* Reconstructs a new solution from a father cell into a newly
* generated son cell. New cell is stored into the global
* adaptationMap.
* adaptionMap.
*
* \param adaptationMap Global map storing all values to be adapted
* \param adaptionMap Global map storing all values to be adapted
* \param father Entity Pointer to the father cell
* \param son Entity Pointer to the newly created son cell
* \param problem The problem
*/
static void reconstructAdaptationValues(Dune::PersistentContainer<Grid, AdaptedValues>& adaptationMap,
static void reconstructAdaptionValues(Dune::PersistentContainer<Grid, AdaptedValues>& adaptionMap,
const Element& father, const Element& son, const Problem& problem)
{
AdaptedValues& adaptedValues = adaptationMap[son];
AdaptedValues& adaptedValuesFather = adaptationMap[father];
AdaptedValues& adaptedValues = adaptionMap[son];
AdaptedValues& adaptedValuesFather = adaptionMap[father];
adaptedValues.u = adaptedValuesFather.u;
adaptedValues.u /= adaptedValuesFather.count;
......
......@@ -24,7 +24,7 @@
#define DUMUX_IMPLICIT_GRIDADAPT_HH
#include "gridadaptproperties.hh"
#include "adaptationhelper.hh"
#include "adaptionhelper.hh"
#include <unordered_map>
#include <dune/common/exceptions.hh>
......@@ -63,8 +63,8 @@ class ImplicitGridAdapt
typedef typename Grid::template Codim<0>::Entity Element;
typedef typename Grid::template Codim<0>::EntityPointer ElementPointer;
typedef typename GET_PROP_TYPE(TypeTag, AdaptationIndicator) AdaptationIndicator;
typedef typename GET_PROP_TYPE(TypeTag, AdaptationInitializationIndicator) AdaptationInitializationIndicator;
typedef typename GET_PROP_TYPE(TypeTag, AdaptionIndicator) AdaptionIndicator;
typedef typename GET_PROP_TYPE(TypeTag, AdaptionInitializationIndicator) AdaptionInitializationIndicator;
enum { isBox = GET_PROP_VALUE(TypeTag, ImplicitIsBox) };
......@@ -74,23 +74,23 @@ public:
* @param problem The problem
*/
ImplicitGridAdapt (Problem& problem)
: adaptationHelper_(problem.gridView()),
: adaptionHelper_(problem.gridView()),
problem_(problem),
adaptationIndicator_(problem),
adaptionIndicator_(problem),
marked_(0),
coarsened_(0)
{
if(isBox)
{
DUNE_THROW(Dune::NotImplemented,
"Grid adaptation is not yet mass conservative for Box method! "
"Grid adaption is not yet mass conservative for Box method! "
<< "Use cell-centered scheme instead!");
}
else
{
levelMin_ = GET_PARAM_FROM_GROUP(TypeTag, int, GridAdapt, MinLevel);
levelMax_ = GET_PARAM_FROM_GROUP(TypeTag, int, GridAdapt, MaxLevel);
adaptationInterval_ = GET_PARAM_FROM_GROUP(TypeTag, int, GridAdapt, AdaptationInterval);
adaptionInterval_ = GET_PARAM_FROM_GROUP(TypeTag, int, GridAdapt, AdaptionInterval);
if (levelMin_ < 0)
{
......@@ -104,29 +104,29 @@ public:
*
* Prepares the grid for simulation after the initialization of the
* problem. The applied indicator is selectable via the property
* AdaptationInitializationIndicator
* AdaptionInitializationIndicator
*/
void init()
{
adaptationIndicator_.init();
adaptionIndicator_.init();
if (!GET_PARAM_FROM_GROUP(TypeTag, bool, GridAdapt, EnableInitializationIndicator))
return;
AdaptationInitializationIndicator adaptationInitIndicator(problem_, adaptationIndicator_);
AdaptionInitializationIndicator adaptionInitIndicator(problem_, adaptionIndicator_);
int maxIter = 2*levelMax_;
int iter = 0;
while (iter <= maxIter)
{
adaptGrid(adaptationInitIndicator);
adaptGrid(adaptionInitIndicator);
if (!wasAdapted())
{
break;
}
int shouldInitialize = adaptationInitIndicator.initializeModel();
int shouldInitialize = adaptionInitIndicator.initializeModel();
if (problem_.grid().comm().max(shouldInitialize))
{
problem_.model().init(problem_);
......@@ -141,7 +141,7 @@ public:
*
* This method is called from IMPETProblem::preTimeStep() if
* adaptive grids are used in the simulation. It uses the standard
* indicator (selected by the property AdaptationIndicator) and forwards to
* indicator (selected by the property AdaptionIndicator) and forwards to
* with it to the ultimate method adaptGrid(indicator), which
* uses a standard procedure for adaptivity:
* 1) Determine the refinement indicator
......@@ -152,7 +152,7 @@ public:
*/
void adaptGrid()
{
adaptGrid(adaptationIndicator_) ;
adaptGrid(adaptionIndicator_) ;
}
/*!
......@@ -177,8 +177,8 @@ public:
// reset internal counter for marked elements
marked_ = coarsened_ = 0;
// check for adaptation interval: Adapt only at certain time step indices
if (problem_.timeManager().timeStepIndex() % adaptationInterval_ != 0)
// check for adaption interval: Adapt only at certain time step indices
if (problem_.timeManager().timeStepIndex() % adaptionInterval_ != 0)
return;
/**** 1) determine refining parameter if standard is used ***/
......@@ -198,12 +198,12 @@ public:
Dune::dinfo << marked_ << " cells have been marked_ to be refined, "
<< coarsened_ << " to be coarsened." << std::endl;
/**** 2b) Do pre-adaptation step *****/
/**** 2b) Do pre-adaption step *****/
problem_.grid().preAdapt();
problem_.preAdapt();
/**** 3) Put primary variables in a map *********/
adaptationHelper_.storePrimVars(problem_);
adaptionHelper_.storePrimVars(problem_);
/**** 4) Adapt Grid and size of variable vectors *****/
problem_.grid().adapt();
......@@ -216,7 +216,7 @@ public:
problem_.model().adaptVariableSize();
/**** 5) (Re-)construct primary variables to new grid **/
adaptationHelper_.reconstructPrimVars(problem_);
adaptionHelper_.reconstructPrimVars(problem_);
// delete markers in grid
problem_.grid().postAdapt();
......@@ -262,7 +262,7 @@ public:
}
/*!
* @brief Returns true if grid cells have been marked for adaptation
* @brief Returns true if grid cells have been marked for adaption
*/
bool wasAdapted()
{
......@@ -317,18 +317,18 @@ public:
return levelMin_;
}
AdaptationIndicator& adaptationIndicator()
AdaptionIndicator& adaptionIndicator()
{
return adaptationIndicator_;
return adaptionIndicator_;
}
AdaptationIndicator& adaptationIndicator() const
AdaptionIndicator& adaptionIndicator() const
{
return adaptationIndicator_;
return adaptionIndicator_;
}
private:
AdaptationHelper<TypeTag> adaptationHelper_;
AdaptionHelper<TypeTag> adaptionHelper_;
/*!
......@@ -428,7 +428,7 @@ private:
// private Variables
Problem& problem_;
AdaptationIndicator adaptationIndicator_;
AdaptionIndicator adaptionIndicator_;
int marked_;
int coarsened_;
......@@ -436,7 +436,7 @@ private:
int levelMin_;
int levelMax_;
int adaptationInterval_;
int adaptionInterval_;
};
/*!
......
......@@ -23,7 +23,7 @@
/**
* @file
* @brief Class defining a default indicator for grid adaptation
* @brief Class defining a default indicator for grid adaption
*/
namespace Dumux
{
......@@ -35,7 +35,7 @@ NEW_PROP_TAG(Problem);
}
/*!\ingroup ImplicitGridAdaptIndicator
* @brief Class defining a default indicator for grid adaptation
* @brief Class defining a default indicator for grid adaption
*
*Default implementation
*
......@@ -78,16 +78,16 @@ public:
return false;
}
/*! \brief Initializes the adaptation indicator class*/
/*! \brief Initializes the adaption indicator class*/
void init()
{};
/*! \brief Constructs a GridAdaptationIndicator for initialization of an adaptive grid
/*! \brief Constructs a GridAdaptionIndicator for initialization of an adaptive grid
*
* Default implementation
*
* \param problem The problem object
* \param adaptationIndicator Indicator whether a be adapted
* \param adaptionIndicator Indicator whether a be adapted
*/
ImplicitGridAdaptIndicatorDefault(Problem& problem)
{}
......
......@@ -26,7 +26,7 @@
/**
* @file
* @brief Class defining an initialization indicator for grid adaptation
* @brief Class defining an initialization indicator for grid adaption
*/
namespace Dumux
{
......@@ -39,9 +39,9 @@ NEW_PROP_TAG(NumEq);
}
/*!\ingroup ImplicitGridAdaptInitializationIndicator
* @brief Class defining an initialization indicator for grid adaptation
* @brief Class defining an initialization indicator for grid adaption
*
* Uses the defined grid adaptation indicator and further accounts for sources and boundaries.
* Uses the defined grid adaption indicator and further accounts for sources and boundaries.
* Only for grid initialization!
*
* \tparam TypeTag The problem TypeTag
......@@ -71,7 +71,7 @@ private:
typedef typename Dune::ReferenceElement<CoordScalar, dim> ReferenceElement;
typedef typename Dune::ReferenceElements<CoordScalar, dim> ReferenceElements;
typedef typename GET_PROP_TYPE(TypeTag, AdaptationIndicator) AdaptationIndicator;
typedef typename GET_PROP_TYPE(TypeTag, AdaptionIndicator) AdaptionIndicator;
typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables;
typedef typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables) ElementVolumeVariables;
......@@ -202,7 +202,7 @@ public:
//First adapt for boundary conditions and sources to get a good initial solution
if (nextMaxLevel_ == maxAllowedLevel_)
adaptationIndicator_.calculateIndicator();
adaptionIndicator_.calculateIndicator();
// prepare an indicator for refinement
indicatorVector_.resize(problem_.gridView().size(0));
......@@ -290,7 +290,7 @@ public:
if (indicatorVector_[idx] == refineCell)
return true;
else if (maxLevel_ == maxAllowedLevel_)
return adaptationIndicator_.refine(element);
return adaptionIndicator_.refine(element);
else
return false;
}
......@@ -311,7 +311,7 @@ public:
return maxLevel_;
}
/*! \brief Initializes the adaptation indicator class */
/*! \brief Initializes the adaption indicator class */
void init()
{};
......@@ -324,7 +324,7 @@ public:
return true;
}
/*! \brief Constructs a GridAdaptationIndicator instance
/*! \brief Constructs a GridAdaptionIndicator instance
*
* This standard indicator is based on the saturation gradient. It checks the local gradient
* compared to the maximum global gradient. The indicator is compared locally to a
......@@ -332,10 +332,10 @@ public:
* or coarsening or should not be adapted.
*
* \param problem The problem object
* \param adaptationIndicator Indicator whether a be adapted
* \param adaptionIndicator Indicator whether a be adapted
*/
ImplicitGridAdaptInitializationIndicator(Problem& problem, AdaptationIndicator& adaptationIndicator):
problem_(problem), adaptationIndicator_(adaptationIndicator), maxLevel_(0), nextMaxLevel_(0), eps_(1e-30)
ImplicitGridAdaptInitializationIndicator(Problem& problem, AdaptionIndicator& adaptionIndicator):
problem_(problem), adaptionIndicator_(adaptionIndicator), maxLevel_(0), nextMaxLevel_(0), eps_(1e-30)
{
minAllowedLevel_ = GET_PARAM_FROM_GROUP(TypeTag, int, GridAdapt, MinLevel);
maxAllowedLevel_ = GET_PARAM_FROM_GROUP(TypeTag, int, GridAdapt, MaxLevel);
......@@ -353,7 +353,7 @@ public:
private:
Problem& problem_;