|
dune-pdelab 2.8
|
Loading...
Searching...
No Matches
ovlp_amg_dg_backend.hh
Go to the documentation of this file.
198 //std::cout << gv.comm().rank() << ": ==> local=" << find->first << " global=" << find->second << std::endl;
213 std::cout << gv.comm().rank() << ": begin scatter local=" << myindex << " size=" << n << std::endl;
233 //std::cout << gv.comm().rank() << ": --> local=" << find->first << " global=" << find->second << std::endl;
241 MatrixExchangeDataHandle (const GFS& gfs_, M& m_, const LocalToGlobalMap& l2g_, const GlobalToLocalMap& g2l_,M& m2_)
264 void restore_overlap_entries (const GFS& gfs, Dune::BCRSMatrix<Dune::FieldMatrix<T,n,m>,A>& matrix,
282 gfs.gridView().communicate(mexdh,Dune::InteriorBorder_All_Interface,Dune::ForwardCommunication);
302 : public Dune::Preconditioner<Dune::PDELab::Backend::Vector<DGGFS,typename DGPrec::domain_type::field_type>,
394 cggfs.gridView().communicate(adddh,Dune::All_All_Interface,Dune::ForwardCommunication); // now we have consistent defect on coarse grid
466 public Dune::PDELab::OVLPScalarProductImplementation<typename DGGO::Traits::TrialGridFunctionSpace>,
488 typedef Dune::PDELab::GridOperator<CGGFS,GFS,CGTODGLOP,MBE,field_type,field_type,field_type,CC,CC> PGO;
539 typedef Dune::PDELab::GridOperator<CGGFS,CGGFS,EmptyLop,MBE,field_type,field_type,field_type,CGCC,CGCC> CGGO;
590 : Dune::PDELab::OVLPScalarProductImplementation<typename DGGO::Traits::TrialGridFunctionSpace>(dggo_.trialGridFunctionSpace())
633 : Dune::PDELab::OVLPScalarProductImplementation<typename DGGO::Traits::TrialGridFunctionSpace>(dggo_.trialGridFunctionSpace())
645 , low_order_space_entries_per_row(params.get<std::size_t>("low_order_space.entries_per_row",StaticPower<3,GFS::Traits::GridView::dimension>::power))
698 void apply (M& A, V& z, V& r, typename Dune::template FieldTraits<typename V::ElementType >::real_type reduction)
729 //std::cout << "CG constraints: " << cgcc.size() << " out of " << cggfs.globalSize() << std::endl;
735 typedef Dune::PDELab::GridOperator<GFS,GFS,EmptyLop,MBE,field_type,field_type,field_type,DGCC,DGCC> DGGOEmpty;
754 typedef Dune::Amg::CoarsenCriterion<Dune::Amg::SymmetricCriterion<CGMatrix,Dune::Amg::FirstDiagonal> > Criterion;
void transposeMatMultMat(BCRSMatrix< FieldMatrix< T, n, m >, A > &res, const BCRSMatrix< FieldMatrix< T, k, n >, A1 > &mat, const BCRSMatrix< FieldMatrix< T, k, m >, A2 > &matt, bool tryHard=false)
void matMultMat(BCRSMatrix< FieldMatrix< T, n, m >, A > &res, const BCRSMatrix< FieldMatrix< T, n, k >, A1 > &mat, const BCRSMatrix< FieldMatrix< T, k, m >, A2 > &matt, bool tryHard=false)
int count() const
void setDebugLevel(int level)
void setDefaultValuesIsotropic(std::size_t dim, std::size_t diameter=2)
int iterations
void pop()
static constexpr size_type M()
size_t() const
Reference get(const RAPropertyMapHelper< Reference, PropertyMap > &pmap, const Key &key)
constexpr Mantissa power(Mantissa m, Exponent p)
void set_constrained_dofs(const CG &cg, typename XG::ElementType x, XG &xg)
construct constraints from given boundary condition function
Definition constraints.hh:796
STL namespace.
void restore_overlap_entries(const GFS &gfs, Dune::BCRSMatrix< Dune::FieldMatrix< T, n, m >, A > &matrix, Dune::BCRSMatrix< Dune::FieldMatrix< T, n, m >, A > &matrix2)
Definition ovlp_amg_dg_backend.hh:264
typename impl::BackendVectorSelector< GridFunctionSpace, FieldType >::Type Vector
alias of the return type of BackendVectorSelector
Definition backend/interface.hh:106
std::enable_if< std::is_base_of< impl::WrapperBase, T >::value, Native< T > & >::type native(T &t)
Definition backend/interface.hh:192
typename native_type< T >::type Native
Alias of the native container type associated with T or T itself if it is not a backend wrapper.
Definition backend/interface.hh:176
For backward compatibility – Do not use this!
ForwardCommunication
InteriorBorder_All_Interface
All_All_Interface
T real_type
std::string get(const std::string &key, const std::string &defaultValue) const
void reset() noexcept
double elapsed() const noexcept
int iterations
double reduction
double conv_rate
bool converged
Category
overlapping
Backend using (possibly nested) ISTL BCRSMatrices.
Definition bcrsmatrixbackend.hh:188
Definition ovlp_amg_dg_backend.hh:33
GV::IndexSet IndexSet
Definition ovlp_amg_dg_backend.hh:37
std::map< IndexType, IdType > LocalToGlobalMap
Definition ovlp_amg_dg_backend.hh:47
LocalGlobalMapDataHandle(const GFS &gfs_, LocalToGlobalMap &l2g_, GlobalToLocalMap &g2l_)
constructor
Definition ovlp_amg_dg_backend.hh:104
bool fixedSize(int dim, int codim) const
returns true if size per entity of given dim and codim is a constant
Definition ovlp_amg_dg_backend.hh:57
GlobalIdSet::IdType IdType
Definition ovlp_amg_dg_backend.hh:41
GFS::Traits::GridView GV
Definition ovlp_amg_dg_backend.hh:36
int DataType
export type of data for message buffer
Definition ovlp_amg_dg_backend.hh:44
std::map< IdType, IndexType > GlobalToLocalMap
Definition ovlp_amg_dg_backend.hh:48
void gather(MessageBuffer &buff, const EntityType &e) const
pack data from user to message buffer
Definition ovlp_amg_dg_backend.hh:74
size_t size(EntityType &e) const
Definition ovlp_amg_dg_backend.hh:67
bool contains(int dim, int codim) const
returns true if data for this codim should be communicated
Definition ovlp_amg_dg_backend.hh:51
Grid::Traits::GlobalIdSet GlobalIdSet
Definition ovlp_amg_dg_backend.hh:40
IndexSet::IndexType IndexType
Definition ovlp_amg_dg_backend.hh:38
void scatter(MessageBuffer &buff, const EntityType &e, size_t n)
Definition ovlp_amg_dg_backend.hh:91
Definition ovlp_amg_dg_backend.hh:128
bool contains(int dim, int codim) const
returns true if data for this codim should be communicated
Definition ovlp_amg_dg_backend.hh:149
MatrixExchangeDataHandle(const GFS &gfs_, M &m_, const LocalToGlobalMap &l2g_, const GlobalToLocalMap &g2l_, M &m2_)
constructor
Definition ovlp_amg_dg_backend.hh:241
std::map< IndexType, IdType > LocalToGlobalMap
Definition ovlp_amg_dg_backend.hh:145
void scatter(MessageBuffer &buff, const EntityType &e, size_t n)
Definition ovlp_amg_dg_backend.hh:210
void gather(MessageBuffer &buff, const EntityType &e) const
pack data from user to message buffer
Definition ovlp_amg_dg_backend.hh:185
Grid::Traits::GlobalIdSet GlobalIdSet
Definition ovlp_amg_dg_backend.hh:135
std::map< IdType, IndexType > GlobalToLocalMap
Definition ovlp_amg_dg_backend.hh:146
std::pair< IdType, B > DataType
export type of data for message buffer
Definition ovlp_amg_dg_backend.hh:142
GV::IndexSet IndexSet
Definition ovlp_amg_dg_backend.hh:132
IndexSet::IndexType IndexType
Definition ovlp_amg_dg_backend.hh:133
GlobalIdSet::IdType IdType
Definition ovlp_amg_dg_backend.hh:136
bool fixedSize(int dim, int codim) const
returns true if size per entity of given dim and codim is a constant
Definition ovlp_amg_dg_backend.hh:155
GFS::Traits::GridView GV
Definition ovlp_amg_dg_backend.hh:131
size_t size(EntityType &e) const
Definition ovlp_amg_dg_backend.hh:165
Definition ovlp_amg_dg_backend.hh:304
virtual void pre(V &x, W &b) override
Prepare the preconditioner.
Definition ovlp_amg_dg_backend.hh:352
Dune::PDELab::Backend::Vector< CGGFS, typename CGPrec::domain_type::field_type > CGV
Definition ovlp_amg_dg_backend.hh:322
virtual void apply(V &x, const W &b) override
Apply the precondioner.
Definition ovlp_amg_dg_backend.hh:366
SolverCategory::Category category() const override
Definition ovlp_amg_dg_backend.hh:326
Dune::PDELab::Backend::Vector< DGGFS, typename DGPrec::range_type::field_type > W
Definition ovlp_amg_dg_backend.hh:319
Dune::PDELab::Backend::Vector< CGGFS, typename CGPrec::range_type::field_type > CGW
Definition ovlp_amg_dg_backend.hh:323
virtual void post(V &x) override
Clean up.
Definition ovlp_amg_dg_backend.hh:428
Dune::PDELab::Backend::Vector< DGGFS, typename DGPrec::domain_type::field_type > V
Definition ovlp_amg_dg_backend.hh:318
OvlpDGAMGPrec(const DGGFS &dggfs_, DGMatrix &dgmatrix_, DGPrec &dgprec_, const DGCC &dgcc_, const CGGFS &cggfs_, CGPrec &cgprec_, const CGCC &cgcc_, P &p_, const DGHelper &dghelper_, const Comm &comm_, int n1_, int n2_)
Constructor.
Definition ovlp_amg_dg_backend.hh:338
Definition ovlp_amg_dg_backend.hh:468
Dune::SeqSSOR< CGMatrix, CGVector, CGVector, 1 > Smoother
Definition ovlp_amg_dg_backend.hh:499
Dune::TransposedMatMultMatResult< P, Matrix >::type PTADG
Definition ovlp_amg_dg_backend.hh:493
Dune::BlockPreconditioner< CGVector, CGVector, Comm, Smoother > ParSmoother
Definition ovlp_amg_dg_backend.hh:500
Dune::Amg::AMG< ParCGOperator, CGVector, ParSmoother, Comm > AMG
Definition ovlp_amg_dg_backend.hh:501
DGGO::Traits::TrialGridFunctionSpace GFS
Definition ovlp_amg_dg_backend.hh:471
DGGO::Traits::Jacobian M
Definition ovlp_amg_dg_backend.hh:474
Backend::Native< CGV > CGVector
Definition ovlp_amg_dg_backend.hh:482
void setDGSmootherRelaxation(double relaxation_)
set number of presmoothing steps on the DG level
Definition ovlp_amg_dg_backend.hh:673
Dune::PDELab::ISTL::BCRSMatrixBackend MBE
Definition ovlp_amg_dg_backend.hh:485
Backend::Native< V > Vector
Definition ovlp_amg_dg_backend.hh:477
Dune::PDELab::Backend::Vector< CGGFS, field_type > CGV
Definition ovlp_amg_dg_backend.hh:481
Backend::Native< M > Matrix
Definition ovlp_amg_dg_backend.hh:476
void setNoDGPostSmoothSteps(int n2_)
set number of postsmoothing steps on the DG level
Definition ovlp_amg_dg_backend.hh:685
bool getReuse() const
Return whether the AMG is reused during call to apply()
Definition ovlp_amg_dg_backend.hh:580
Vector::field_type field_type
Definition ovlp_amg_dg_backend.hh:478
Backend::Native< PMatrix > P
Definition ovlp_amg_dg_backend.hh:490
DGGO::Traits::Domain V
Definition ovlp_amg_dg_backend.hh:475
Dune::OverlappingSchwarzOperator< CGMatrix, CGVector, CGVector, Comm > ParCGOperator
Definition ovlp_amg_dg_backend.hh:498
ISTLBackend_OVLP_AMG_4_DG(DGGO &dggo_, const DGCC &dgcc_, CGGFS &cggfs_, const CGCC &cgcc_, unsigned maxiter_=5000, int verbose_=1, bool reuse_=false, bool usesuperlu_=true)
Definition ovlp_amg_dg_backend.hh:587
Dune::Amg::Parameters Parameters
Definition ovlp_amg_dg_backend.hh:502
void setNoDGPreSmoothSteps(int n1_)
set number of presmoothing steps on the DG level
Definition ovlp_amg_dg_backend.hh:679
Dune::PDELab::GridOperator< CGGFS, GFS, CGTODGLOP, MBE, field_type, field_type, field_type, CC, CC > PGO
Definition ovlp_amg_dg_backend.hh:488
void apply(M &A, V &z, V &r, typename Dune::template FieldTraits< typename V::ElementType >::real_type reduction)
solve the given linear system
Definition ovlp_amg_dg_backend.hh:698
Dune::MatMultMatResult< PTADG, P >::type CGMatrix
Definition ovlp_amg_dg_backend.hh:494
PMatrix & prolongation_matrix()
Definition ovlp_amg_dg_backend.hh:547
void setReuse(bool reuse_)
Set whether the AMG should be reused again during call to apply().
Definition ovlp_amg_dg_backend.hh:574
TransferLOP CGTODGLOP
Definition ovlp_amg_dg_backend.hh:487
void setParameters(const Parameters &amg_parameters_)
set AMG parameters
Definition ovlp_amg_dg_backend.hh:556
Dune::PDELab::ISTL::CommSelector< s, Dune::MPIHelper::isFake >::type Comm
Definition ovlp_amg_dg_backend.hh:497
Dune::PDELab::EmptyTransformation CC
Definition ovlp_amg_dg_backend.hh:486
const Parameters & parameters() const
Get the parameters describing the behaviuour of AMG.
Definition ovlp_amg_dg_backend.hh:568
PGO::Jacobian PMatrix
Definition ovlp_amg_dg_backend.hh:489
ISTLBackend_OVLP_AMG_4_DG(DGGO &dggo_, const DGCC &dgcc_, CGGFS &cggfs_, const CGCC &cgcc_, const ParameterTree ¶ms)
Definition ovlp_amg_dg_backend.hh:631
Definition ovlpistlsolverbackend.hh:43
Definition ovlpistlsolverbackend.hh:385
const ISTL::ParallelHelper< DGGO::Traits::TrialGridFunctionSpace > & parallelHelper() const
Definition ovlpistlsolverbackend.hh:415
Definition ovlpistlsolverbackend.hh:435
Definition parallelhelper.hh:51
Definition solver.hh:54
Dune::PDELab::LinearSolverResult< double > res
Definition solver.hh:63
Definition constraintstransformation.hh:112
Definition genericdatahandle.hh:667
void jacobian(const Domain &x, Jacobian &a) const
Assembler jacobian.
Definition gridoperator.hh:180
Dune::PDELab::Backend::Matrix< MBE, Domain, Range, field_type > Jacobian
The type of the jacobian.
Definition gridoperator.hh:47
Default class for additional methods in instationary local operators.
Definition idefault.hh:90
Implements linear and nonlinear versions of jacobian_apply_volume() based on alpha_volume()
Definition numericaljacobianapply.hh:34
T end(T... args)
T endl(T... args)
T find(T... args)
T make_pair(T... args)
T reset(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8