TimeStepBase_Tria_Flags::RefinementFlags< dim > Struct Template Reference

List of all members.

Classes

class  ExcInvalidValue

Public Types

typedef std::vector
< std::vector< std::pair
< unsigned int, double > > > 
CorrectionRelaxations

Public Member Functions

 RefinementFlags (const unsigned int max_refinement_level=0, const unsigned int first_sweep_with_correction=0, const unsigned int min_cells_for_correction=0, const double cell_number_corridor_top=(1<< dim), const double cell_number_corridor_bottom=1, const CorrectionRelaxations &correction_relaxations=CorrectionRelaxations(), const unsigned int cell_number_correction_steps=0, const bool mirror_flags_to_previous_grid=false, const bool adapt_grids=false)

Public Attributes

const unsigned int max_refinement_level
const unsigned int first_sweep_with_correction
const unsigned int min_cells_for_correction
const double cell_number_corridor_top
const double cell_number_corridor_bottom
const std::vector< std::vector
< std::pair< unsigned int,
double > > > 
correction_relaxations
const unsigned int cell_number_correction_steps
const bool mirror_flags_to_previous_grid
const bool adapt_grids

Static Public Attributes

static CorrectionRelaxations default_correction_relaxations

Detailed Description

template<int dim>
struct TimeStepBase_Tria_Flags::RefinementFlags< dim >

This structure is used to tell the TimeStepBase_Tria() class how grids should be refined. Before we explain all the different variables, fist some terminology:

Description of flags


Member Typedef Documentation

template<int dim>
typedef std::vector<std::vector<std::pair<unsigned int, double> > > TimeStepBase_Tria_Flags::RefinementFlags< dim >::CorrectionRelaxations

Typedef of a data type describing some relaxations of the correction process. See the general description of this class for more information.


Constructor & Destructor Documentation

template<int dim>
TimeStepBase_Tria_Flags::RefinementFlags< dim >::RefinementFlags ( const unsigned int  max_refinement_level = 0,
const unsigned int  first_sweep_with_correction = 0,
const unsigned int  min_cells_for_correction = 0,
const double  cell_number_corridor_top = (1<< dim),
const double  cell_number_corridor_bottom = 1,
const CorrectionRelaxations correction_relaxations = CorrectionRelaxations(),
const unsigned int  cell_number_correction_steps = 0,
const bool  mirror_flags_to_previous_grid = false,
const bool  adapt_grids = false 
)

Constructor. The default values are chosen such that almost no restriction on the mesh refinement is imposed.


Member Data Documentation

Default values for the relaxations: no relaxations.

Maximum level of a cell in the triangulation of a time level. If it is set to zero, then no limit is imposed on the number of refinements a coarse grid cell may undergo. Usually, this field is used, if for some reason you want to limit refinement in an adaptive process, for example to avoid overly large numbers of cells or to compare with grids which have a certain number of refinements.

First sweep to perform cell number correction steps on; for sweeps before, cells are only flagged and no number-correction to previous grids is performed.

Apply cell number correction with the previous time level only if there are more than this number of cells.

Fraction by which the number of cells on a time level may differ from the number on the previous time level (first: top deviation, second: bottom deviation).

template<int dim>
const std::vector<std::vector<std::pair<unsigned int,double> > > TimeStepBase_Tria_Flags::RefinementFlags< dim >::correction_relaxations

List of relaxations to the correction step.

Number of iterations to be performed to adjust the number of cells on a time level to those on the previous one. Zero means: do no such iteration.

Flag all cells which are flagged on this timestep for refinement on the previous one also. This is useful in case the error indicator was computed by integration over time-space cells, but are now associated to a grid on a discrete time level. Since the error contribution comes from both grids, however, it is appropriate to refine both grids.

Since the previous grid does not mirror the flags to the one before it, this does not lead to an almost infinite growth of cell numbers. You should use this flag with cell number correction switched on only, however.

Mirroring is done after cell number correction is done, but before grid adaption, so the cell number on this grid is not noticably influenced by the cells flagged additionally on the previous grid.

Adapt this grid to the previous one.


The documentation for this struct was generated from the following file:

deal.II documentation generated on Mon Nov 23 22:58:35 2009 by doxygen 1.6.1