DUNE PDELab (git)
parameters.hh
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright © DUNE Project contributors, see file LICENSE.md in module root
248 };
518 : CoarseningParameters(maxLevel, coarsenTarget, minCoarsenRate, prolongDamp, accumulate, useFixedOrder)
Parameters needed for the aggregation process.
Definition: parameters.hh:84
Parameters for the complete coarsening process.
Definition: parameters.hh:257
Parameters needed to check whether a node depends on another.
Definition: parameters.hh:31
void setDefaultValuesAnisotropic(std::size_t dim, std::size_t diameter=2)
Sets reasonable default values for an anisotropic problem.
Definition: parameters.hh:132
void setAdditive(bool additive)
Set whether to use additive multigrid.
Definition: parameters.hh:492
void setSkipIsolated(bool skip)
Set whether isolated aggregates will not be represented on the coarse level.
Definition: parameters.hh:171
void setProlongationDampingFactor(double d)
Set the damping factor for the prolongation.
Definition: parameters.hh:345
CoarseningParameters(int maxLevel=100, int coarsenTarget=1000, double minCoarsenRate=1.2, double prolongDamp=1.6, AccumulationMode accumulate=successiveAccu, bool useFixedOrder=false)
Constructor.
Definition: parameters.hh:372
double alpha() const
Get the scaling value for marking connections as strong. Default value is 1/3.
Definition: parameters.hh:70
void setMaxAggregateSize(std::size_t size)
Set the maximum number of nodes a aggregate is allowed to have.
Definition: parameters.hh:201
void setMinCoarsenRate(double rate)
Set the minimum coarsening rate to be achieved in each coarsening.
Definition: parameters.hh:295
double minCoarsenRate() const
Get the minimum coarsening rate to be achieved.
Definition: parameters.hh:303
std::size_t maxAggregateSize() const
Get the maximum number of nodes a aggregate is allowed to have.
Definition: parameters.hh:193
void setAlpha(double a)
Set the scaling value for marking connections as strong. Default value is 1/3.
Definition: parameters.hh:61
Parameters(int maxLevel=100, int coarsenTarget=1000, double minCoarsenRate=1.2, double prolongDamp=1.6, AccumulationMode accumulate=successiveAccu, bool useFixedOrder=false)
Constructor.
Definition: parameters.hh:516
double beta() const
Get the threshold for marking nodes as isolated. The default value is 1.0E-5.
Definition: parameters.hh:52
std::size_t maxConnectivity() const
Get the maximum number of connections a aggregate is allowed to have.
Definition: parameters.hh:210
int coarsenTarget() const
Get the maximum number of unknowns allowed on the coarsest level.
Definition: parameters.hh:285
void setAccumulate(AccumulationMode accu)
Set whether the data should be accumulated on fewer processes on coarser levels.
Definition: parameters.hh:318
double getProlongationDampingFactor() const
Get the damping factor for the prolongation.
Definition: parameters.hh:355
AccumulationMode accumulate() const
Whether the data should be accumulated on fewer processes on coarser levels.
Definition: parameters.hh:311
bool useFixedOrder() const
Check if the indices for the coarser levels should be created in a fixed order.
Definition: parameters.hh:330
void setMaxConnectivity(std::size_t connectivity)
Set the maximum number of connections a aggregate is allowed to have.
Definition: parameters.hh:219
std::size_t minAggregateSize() const
Get the minimum number of nodes a aggregate has to consist of.
Definition: parameters.hh:180
bool getAdditive() const
Get whether to use additive multigrid.
Definition: parameters.hh:501
void setMaxLevel(int l)
Set the maximum number of levels allowed in the hierarchy.
Definition: parameters.hh:262
void setDebugLevel(int level)
Set the debugging level.
Definition: parameters.hh:424
std::size_t getGamma() const
Get the value of gamma; 1 for V-cycle, 2 for W-cycle.
Definition: parameters.hh:483
void setNoPostSmoothSteps(std::size_t steps)
Set the number of postsmoothing steps to apply.
Definition: parameters.hh:460
std::size_t getNoPreSmoothSteps() const
Get the number of presmoothing steps to apply.
Definition: parameters.hh:451
DependencyParameters()
Constructor.
Definition: parameters.hh:34
void setMinAggregateSize(std::size_t size)
Set the minimum number of nodes a aggregate has to consist of.
Definition: parameters.hh:187
int maxLevel() const
Get the maximum number of levels allowed in the hierarchy.
Definition: parameters.hh:269
void setDefaultValuesIsotropic(std::size_t dim, std::size_t diameter=2)
Sets reasonable default values for an isotropic problem.
Definition: parameters.hh:109
AggregationParameters()
Constructor.
Definition: parameters.hh:95
bool skipIsolated() const
Whether isolated aggregates will not be represented on the coarse level.
Definition: parameters.hh:161
void setCoarsenTarget(int nodes)
Set the maximum number of unknowns allowed on the coarsest level.
Definition: parameters.hh:277
void setNoPreSmoothSteps(std::size_t steps)
Set the number of presmoothing steps to apply.
Definition: parameters.hh:443
AccumulationMode
Identifiers for the different accumulation modes.
Definition: parameters.hh:231
void setBeta(double b)
Set threshold for marking nodes as isolated. The default value is 1.0E-5.
Definition: parameters.hh:42
std::size_t maxDistance() const
Get the maximal distance allowed between two nodes in a aggregate.
Definition: parameters.hh:144
void setGamma(std::size_t gamma)
Set the value of gamma; 1 for V-cycle, 2 for W-cycle.
Definition: parameters.hh:476
void setMaxDistance(std::size_t distance)
Set the maximal distance allowed between two nodes in a aggregate.
Definition: parameters.hh:154
int debugLevel() const
Get the debugging Level.
Definition: parameters.hh:434
std::size_t getNoPostSmoothSteps() const
Get the number of postsmoothing steps to apply.
Definition: parameters.hh:468
@ atOnceAccu
Accumulate data to one process at once.
Definition: parameters.hh:243
@ successiveAccu
Successively accumulate to fewer processes.
Definition: parameters.hh:247
constexpr std::integral_constant< std::size_t, sizeof...(II)> size(std::integer_sequence< T, II... >)
Return the size of the sequence.
Definition: integersequence.hh:75
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Nov 24, 23:30, 2024)