|
dune-istl 2.12-git
|
Loading...
Searching...
No Matches
smoother.hh
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright © DUNE Project contributors, see file LICENSE.md in module root
352 static inline std::shared_ptr<NonoverlappingBlockPreconditioner<C,T>> construct(Arguments& args)
767 Dune::dinfo <<std::endl<< "Created "<<pairs.size()<<" ("<<total<<") pair domains"<<std::endl<<std::endl;
785 Dune::dinfo<<"Subdomain size: min="<<minsize<<" max="<<maxsize<<" avg="<<(sum/subdomains.size())
843 Dune::dinfo<<"Subdomain size: min="<<minsize<<" max="<<maxsize<<" avg="<<(sum/subdomains.size())
Provides classes for the Coloring process of AMG.
Helper classes for the construction of classes without empty constructor.
Define general preconditioner interface.
DefaultSmootherArgs< typename X::field_type > Arguments
Definition smoother.hh:75
static void postSmooth(Smoother &smoother, Domain &v, Range &d)
Definition smoother.hh:495
static void preSmooth(Smoother &smoother, Domain &v, const Range &d)
Definition smoother.hh:519
static std::shared_ptr< SeqJac< M, X, Y, l > > construct(Arguments &args)
Definition smoother.hh:257
ConstructionArgs< SeqILU< M, X, Y > > Arguments
Definition smoother.hh:310
const Matrix & getMatrix() const
Definition smoother.hh:115
Smoother::range_type Range
Definition smoother.hh:516
DefaultSmootherArgs< typename T::matrix_type::field_type > Arguments
Definition smoother.hh:68
int setAggregate(const AggregateDescriptor &aggregate_)
Definition smoother.hh:671
ConstructionTraits< T > SeqConstructionTraits
Definition smoother.hh:351
void setArgs(const SmootherArgs &args)
Definition smoother.hh:120
ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > > Arguments
Definition smoother.hh:856
Dune::Amg::SmootherApplier< NonoverlappingBlockPreconditioner< C, SeqSOR< M, X, Y, l > > >::Smoother
NonoverlappingBlockPreconditioner< C, SeqSOR< M, X, Y, l > > Smoother
Definition smoother.hh:485
static void postSmooth(Smoother &smoother, Domain &v, Range &d)
Definition smoother.hh:457
Simd::Scalar< typename FieldTraits< T >::real_type > RelaxationFactor
The type of the relaxation factor.
Definition smoother.hh:43
AggregateAdder(Vector &subdomains_, const AggregatesMap &aggregates_, const MatrixGraph< const M > &graph_, VM &visitedMap_)
Definition smoother.hh:705
void setComm(const C &comm)
Definition smoother.hh:159
DefaultConstructionArgs< Richardson< X, Y > > Arguments
Definition smoother.hh:270
virtual ~DefaultConstructionArgs()
Definition smoother.hh:181
SeqOverlappingSchwarzSmootherArgs< typename M::field_type > Arguments
Definition smoother.hh:553
Vector::value_type Subdomain
Definition smoother.hh:567
int setAggregate(const AggregateDescriptor &)
Definition smoother.hh:692
static void preSmooth(Smoother &smoother, Domain &v, Range &d)
Definition smoother.hh:489
Smoother::range_type Range
Definition smoother.hh:486
SeqSOR< M, X, Y, l > Smoother
Definition smoother.hh:447
Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::AggregateAdder::operator()
void operator()(const T &edge)
Definition smoother.hh:711
static std::shared_ptr< SeqSSOR< M, X, Y, l > > construct(Arguments &args)
Definition smoother.hh:225
AggregatesMap::AggregateDescriptor AggregateDescriptor
Definition smoother.hh:565
DefaultConstructionArgs< SeqSOR< M, X, Y, l > > Arguments
Definition smoother.hh:239
virtual void setMatrix(const M &matrix, const AggregatesMap &amap)
Definition smoother.hh:569
void setMatrix(const Args &...)
Definition smoother.hh:185
DefaultConstructionArgs< SeqJac< M, X, Y, l > > Arguments
Definition smoother.hh:255
DefaultConstructionArgs< SeqSSOR< M, X, Y, l > > Arguments
Definition smoother.hh:223
const SmootherArgs getArgs() const
Definition smoother.hh:134
VertexAdder(Vector &subdomains_, const AggregatesMap &aggregates_)
Definition smoother.hh:662
const Vector & getSubDomains()
Definition smoother.hh:654
SeqOverlappingSchwarz< M, X, TM, TS, TA >::subdomain_vector Vector
Definition smoother.hh:566
static std::shared_ptr< SeqOverlappingSchwarz< M, X, TM, TS, TA > > construct(Arguments &args)
Definition smoother.hh:858
static void preSmooth(Smoother &smoother, Domain &v, Range &d)
Definition smoother.hh:470
void setMatrix(const Matrix &matrix)
Definition smoother.hh:105
static void preSmooth(Smoother &smoother, Domain &v, Range &d)
Definition smoother.hh:451
BlockPreconditioner< X, Y, C, SeqSOR< M, X, Y, l > > Smoother
Definition smoother.hh:466
void setComm(T1 &comm)
Definition smoother.hh:194
int noSubdomains() const
Definition smoother.hh:677
void presmooth(LevelContext &levelContext, size_t steps)
Apply pre smoothing on the current level.
Definition smoother.hh:407
Smoother::domain_type Domain
Definition smoother.hh:517
SeqOverlappingSchwarzSmootherArgs(Overlap overlap_=vertex, bool onthefly_=false)
Definition smoother.hh:544
DefaultParallelConstructionArgs< T, C > Arguments
Definition smoother.hh:338
DefaultParallelConstructionArgs< T, C > Arguments
Definition smoother.hh:350
const SequentialInformation & getComm()
Definition smoother.hh:129
V AggregateDescriptor
The aggregate descriptor type.
Definition aggregates.hh:573
static const V ISOLATED
Identifier of isolated vertices.
Definition aggregates.hh:564
DefaultSmootherArgs()
Default constructor.
Definition smoother.hh:57
void setMatrix(const M &matrix)
Definition smoother.hh:607
void operator()(const T &edge)
Definition smoother.hh:666
static void postSmooth(Smoother &smoother, Domain &v, const Range &d)
apply post smoothing in forward direction
Definition smoother.hh:395
Smoother::domain_type Domain
Definition smoother.hh:487
static std::shared_ptr< BlockPreconditioner< X, Y, C, T > > construct(Arguments &args)
Definition smoother.hh:340
SLList< VertexDescriptor, Allocator > VertexList
The type of a single linked list of vertex descriptors.
Definition aggregates.hh:585
static std::shared_ptr< NonoverlappingBlockPreconditioner< C, T > > construct(Arguments &args)
Definition smoother.hh:352
SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, MS, TA > Smoother
Definition smoother.hh:515
static std::shared_ptr< ParSSOR< M, X, Y, C > > construct(Arguments &args)
Definition smoother.hh:327
MatrixGraph< M >::VertexDescriptor VertexDescriptor
Definition smoother.hh:563
static std::shared_ptr< SeqILU< M, X, Y > > construct(Arguments &args)
Definition smoother.hh:312
int noSubdomains() const
Definition smoother.hh:732
const SequentialInformation & getComm()
Definition smoother.hh:197
static std::shared_ptr< SeqSOR< M, X, Y, l > > construct(Arguments &args)
Definition smoother.hh:241
static std::shared_ptr< Richardson< X, Y > > construct(Arguments &args)
Definition smoother.hh:272
virtual void setMatrix(const Matrix &matrix, const AggregatesMap &amap)
Definition smoother.hh:109
int noSubdomains() const
Definition smoother.hh:696
void postsmooth(LevelContext &levelContext, size_t steps)
Apply post smoothing on the current level.
Definition smoother.hh:429
Dune::Amg::AggregatesMap< VertexDescriptor > AggregatesMap
Definition smoother.hh:564
const SmootherArgs getArgs() const
Definition smoother.hh:202
static void postSmooth(Smoother &smoother, Domain &v, const Range &d)
Definition smoother.hh:525
DefaultParallelConstructionArgs< M, C > Arguments
Definition smoother.hh:325
RelaxationFactor relaxationFactor
The relaxation factor to use.
Definition smoother.hh:52
virtual ~DefaultParallelConstructionArgs()
Definition smoother.hh:156
Smoother::domain_type Domain
Definition smoother.hh:449
int setAggregate(const AggregateDescriptor &aggregate_)
Definition smoother.hh:726
Smoother::range_type Range
Definition smoother.hh:448
const C & getComm() const
Definition smoother.hh:164
virtual ~DefaultConstructionArgs()
Definition smoother.hh:102
static void preSmooth(Smoother &smoother, Domain &v, const Range &d)
apply pre smoothing in forward direction
Definition smoother.hh:383
static void postSmooth(Smoother &smoother, Domain &v, Range &d)
Definition smoother.hh:476
ConstructionTraits< T > SeqConstructionTraits
Definition smoother.hh:339
void operator()(const T &)
Definition smoother.hh:690
ConstructionArgs(int n=0)
Definition smoother.hh:285
Smoother::range_type Range
Definition smoother.hh:467
void setArgs(const SmootherArgs &args)
Definition smoother.hh:188
int iterations
The number of iterations to perform.
Definition smoother.hh:48
Smoother::domain_type Domain
Definition smoother.hh:468
int size() const
void clear()
static constexpr size_type M()
#define DUNE_THROW(E,...)
typename Overloads::ScalarType< std::decay_t< V > >::type Scalar
DInfoType dinfo
constexpr auto get(std::integer_sequence< T, II... >, std::integral_constant< std::size_t, pos >={})
Sequential overlapping Schwarz preconditioner.
Definition overlappingschwarz.hh:755
X range_type
The range type of the preconditioner.
Definition overlappingschwarz.hh:770
X domain_type
The domain type of the preconditioner.
Definition overlappingschwarz.hh:765
Nonoverlapping parallel preconditioner.
Definition novlpschwarz.hh:276
P::range_type range_type
The range type of the preconditioner.
Definition novlpschwarz.hh:284
P::domain_type domain_type
The domain type of the preconditioner.
Definition novlpschwarz.hh:282
Tag that tells the Schwarz method to be multiplicative.
Definition overlappingschwarz.hh:126
Class providing information about the mapping of the vertices onto aggregates.
Definition aggregates.hh:553
M::size_type VertexDescriptor
The vertex descriptor.
Definition graph.hh:73
Iterator over all edges starting from a vertex.
Definition graph.hh:95
The vertex iterator type of the graph.
Definition graph.hh:209
Definition pinfo.hh:28
The default class for the smoother arguments.
Definition smoother.hh:39
Traits class for getting the attribute class of a smoother.
Definition smoother.hh:67
Construction Arguments for the default smoothers.
Definition smoother.hh:94
Definition smoother.hh:149
Definition smoother.hh:154
Definition smoother.hh:175
Definition smoother.hh:283
Definition smoother.hh:538
Definition smoother.hh:559
X domain_type
The domain type of the preconditioner.
Definition preconditioners.hh:267
Y range_type
The range type of the preconditioner.
Definition preconditioners.hh:269
X domain_type
The domain type of the preconditioner.
Definition schwarz.hh:285
Y range_type
The range type of the preconditioner.
Definition schwarz.hh:290
T begin(T... args)
T endl(T... args)
T make_pair(T... args)
T max(T... args)
T min(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8