|
dune-istl 2.11
|
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
351 static inline std::shared_ptr<NonoverlappingBlockPreconditioner<C,T>> construct(Arguments& args)
766 Dune::dinfo <<std::endl<< "Created "<<pairs.size()<<" ("<<total<<") pair domains"<<std::endl<<std::endl;
784 Dune::dinfo<<"Subdomain size: min="<<minsize<<" max="<<maxsize<<" avg="<<(sum/subdomains.size())
842 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:74
static void postSmooth(Smoother &smoother, Domain &v, Range &d)
Definition smoother.hh:494
static void preSmooth(Smoother &smoother, Domain &v, const Range &d)
Definition smoother.hh:518
static std::shared_ptr< SeqJac< M, X, Y, l > > construct(Arguments &args)
Definition smoother.hh:256
ConstructionArgs< SeqILU< M, X, Y > > Arguments
Definition smoother.hh:309
const Matrix & getMatrix() const
Definition smoother.hh:114
Smoother::range_type Range
Definition smoother.hh:515
DefaultSmootherArgs< typename T::matrix_type::field_type > Arguments
Definition smoother.hh:67
int setAggregate(const AggregateDescriptor &aggregate_)
Definition smoother.hh:670
ConstructionTraits< T > SeqConstructionTraits
Definition smoother.hh:350
void setArgs(const SmootherArgs &args)
Definition smoother.hh:119
ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > > Arguments
Definition smoother.hh:855
Dune::Amg::SmootherApplier< NonoverlappingBlockPreconditioner< C, SeqSOR< M, X, Y, l > > >::Smoother
NonoverlappingBlockPreconditioner< C, SeqSOR< M, X, Y, l > > Smoother
Definition smoother.hh:484
static void postSmooth(Smoother &smoother, Domain &v, Range &d)
Definition smoother.hh:456
AggregateAdder(Vector &subdomains_, const AggregatesMap &aggregates_, const MatrixGraph< const M > &graph_, VM &visitedMap_)
Definition smoother.hh:704
void setComm(const C &comm)
Definition smoother.hh:158
DefaultConstructionArgs< Richardson< X, Y > > Arguments
Definition smoother.hh:269
virtual ~DefaultConstructionArgs()
Definition smoother.hh:180
SeqOverlappingSchwarzSmootherArgs< typename M::field_type > Arguments
Definition smoother.hh:552
Vector::value_type Subdomain
Definition smoother.hh:566
int setAggregate(const AggregateDescriptor &)
Definition smoother.hh:691
static void preSmooth(Smoother &smoother, Domain &v, Range &d)
Definition smoother.hh:488
Smoother::range_type Range
Definition smoother.hh:485
SeqSOR< M, X, Y, l > Smoother
Definition smoother.hh:446
Dune::Amg::ConstructionArgs< SeqOverlappingSchwarz< M, X, TM, TS, TA > >::AggregateAdder::operator()
void operator()(const T &edge)
Definition smoother.hh:710
static std::shared_ptr< SeqSSOR< M, X, Y, l > > construct(Arguments &args)
Definition smoother.hh:224
AggregatesMap::AggregateDescriptor AggregateDescriptor
Definition smoother.hh:564
DefaultConstructionArgs< SeqSOR< M, X, Y, l > > Arguments
Definition smoother.hh:238
virtual void setMatrix(const M &matrix, const AggregatesMap &amap)
Definition smoother.hh:568
void setMatrix(const Args &...)
Definition smoother.hh:184
DefaultConstructionArgs< SeqJac< M, X, Y, l > > Arguments
Definition smoother.hh:254
DefaultConstructionArgs< SeqSSOR< M, X, Y, l > > Arguments
Definition smoother.hh:222
const SmootherArgs getArgs() const
Definition smoother.hh:133
VertexAdder(Vector &subdomains_, const AggregatesMap &aggregates_)
Definition smoother.hh:661
const Vector & getSubDomains()
Definition smoother.hh:653
SeqOverlappingSchwarz< M, X, TM, TS, TA >::subdomain_vector Vector
Definition smoother.hh:565
static std::shared_ptr< SeqOverlappingSchwarz< M, X, TM, TS, TA > > construct(Arguments &args)
Definition smoother.hh:857
static void preSmooth(Smoother &smoother, Domain &v, Range &d)
Definition smoother.hh:469
void setMatrix(const Matrix &matrix)
Definition smoother.hh:104
static void preSmooth(Smoother &smoother, Domain &v, Range &d)
Definition smoother.hh:450
BlockPreconditioner< X, Y, C, SeqSOR< M, X, Y, l > > Smoother
Definition smoother.hh:465
void setComm(T1 &comm)
Definition smoother.hh:193
int noSubdomains() const
Definition smoother.hh:676
void presmooth(LevelContext &levelContext, size_t steps)
Apply pre smoothing on the current level.
Definition smoother.hh:406
Smoother::domain_type Domain
Definition smoother.hh:516
SeqOverlappingSchwarzSmootherArgs(Overlap overlap_=vertex, bool onthefly_=false)
Definition smoother.hh:543
DefaultParallelConstructionArgs< T, C > Arguments
Definition smoother.hh:337
DefaultParallelConstructionArgs< T, C > Arguments
Definition smoother.hh:349
const SequentialInformation & getComm()
Definition smoother.hh:128
V AggregateDescriptor
The aggregate descriptor type.
Definition aggregates.hh:586
static const V ISOLATED
Identifier of isolated vertices.
Definition aggregates.hh:577
DefaultSmootherArgs()
Default constructor.
Definition smoother.hh:56
void setMatrix(const M &matrix)
Definition smoother.hh:606
void operator()(const T &edge)
Definition smoother.hh:665
static void postSmooth(Smoother &smoother, Domain &v, const Range &d)
apply post smoothing in forward direction
Definition smoother.hh:394
FieldTraits< T >::real_type RelaxationFactor
The type of the relaxation factor.
Definition smoother.hh:42
Smoother::domain_type Domain
Definition smoother.hh:486
static std::shared_ptr< BlockPreconditioner< X, Y, C, T > > construct(Arguments &args)
Definition smoother.hh:339
SLList< VertexDescriptor, Allocator > VertexList
The type of a single linked list of vertex descriptors.
Definition aggregates.hh:598
static std::shared_ptr< NonoverlappingBlockPreconditioner< C, T > > construct(Arguments &args)
Definition smoother.hh:351
SeqOverlappingSchwarz< M, X, MultiplicativeSchwarzMode, MS, TA > Smoother
Definition smoother.hh:514
static std::shared_ptr< ParSSOR< M, X, Y, C > > construct(Arguments &args)
Definition smoother.hh:326
MatrixGraph< M >::VertexDescriptor VertexDescriptor
Definition smoother.hh:562
static std::shared_ptr< SeqILU< M, X, Y > > construct(Arguments &args)
Definition smoother.hh:311
int noSubdomains() const
Definition smoother.hh:731
const SequentialInformation & getComm()
Definition smoother.hh:196
static std::shared_ptr< SeqSOR< M, X, Y, l > > construct(Arguments &args)
Definition smoother.hh:240
static std::shared_ptr< Richardson< X, Y > > construct(Arguments &args)
Definition smoother.hh:271
virtual void setMatrix(const Matrix &matrix, const AggregatesMap &amap)
Definition smoother.hh:108
int noSubdomains() const
Definition smoother.hh:695
void postsmooth(LevelContext &levelContext, size_t steps)
Apply post smoothing on the current level.
Definition smoother.hh:428
Dune::Amg::AggregatesMap< VertexDescriptor > AggregatesMap
Definition smoother.hh:563
const SmootherArgs getArgs() const
Definition smoother.hh:201
static void postSmooth(Smoother &smoother, Domain &v, const Range &d)
Definition smoother.hh:524
DefaultParallelConstructionArgs< M, C > Arguments
Definition smoother.hh:324
RelaxationFactor relaxationFactor
The relaxation factor to use.
Definition smoother.hh:51
virtual ~DefaultParallelConstructionArgs()
Definition smoother.hh:155
Smoother::domain_type Domain
Definition smoother.hh:448
int setAggregate(const AggregateDescriptor &aggregate_)
Definition smoother.hh:725
Smoother::range_type Range
Definition smoother.hh:447
const C & getComm() const
Definition smoother.hh:163
virtual ~DefaultConstructionArgs()
Definition smoother.hh:101
static void preSmooth(Smoother &smoother, Domain &v, const Range &d)
apply pre smoothing in forward direction
Definition smoother.hh:382
static void postSmooth(Smoother &smoother, Domain &v, Range &d)
Definition smoother.hh:475
ConstructionTraits< T > SeqConstructionTraits
Definition smoother.hh:338
void operator()(const T &)
Definition smoother.hh:689
ConstructionArgs(int n=0)
Definition smoother.hh:284
Smoother::range_type Range
Definition smoother.hh:466
void setArgs(const SmootherArgs &args)
Definition smoother.hh:187
int iterations
The number of iterations to perform.
Definition smoother.hh:47
Smoother::domain_type Domain
Definition smoother.hh:467
int size() const
void clear()
static constexpr size_type M()
#define DUNE_THROW(E,...)
DInfoType dinfo
constexpr auto get(std::integer_sequence< T, II... >, std::integral_constant< std::size_t, pos >={})
T real_type
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:566
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:38
Traits class for getting the attribute class of a smoother.
Definition smoother.hh:66
Construction Arguments for the default smoothers.
Definition smoother.hh:93
Definition smoother.hh:148
Definition smoother.hh:153
Definition smoother.hh:174
Definition smoother.hh:282
Definition smoother.hh:537
Definition smoother.hh:558
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