10#ifndef MUELU_SHIFTEDLAPLACIAN_DECL_HPP
11#define MUELU_SHIFTEDLAPLACIAN_DECL_HPP
14#include <Xpetra_Matrix_fwd.hpp>
15#include <Xpetra_VectorFactory_fwd.hpp>
16#include <Xpetra_MultiVectorFactory_fwd.hpp>
17#include <Xpetra_TpetraMultiVector.hpp>
38#include <MueLu_ShiftedLaplacianOperator.hpp>
47#include <BelosConfigDefs.hpp>
48#include <BelosLinearProblem.hpp>
49#include <BelosSolverFactory.hpp>
50#include <BelosTpetraAdapter.hpp>
52#include "Kokkos_Core.hpp"
70#undef MUELU_SHIFTEDLAPLACIAN_SHORT
73 typedef Tpetra::Vector<SC, LO, GO, NO>
TVEC;
74 typedef Tpetra::MultiVector<SC, LO, GO, NO>
TMV;
75 typedef Tpetra::Operator<SC, LO, GO, NO>
OP;
94 ,
omega_(2.0 * Kokkos::numbers::pi_v<double>)
135 void setParameters(Teuchos::RCP<Teuchos::ParameterList> paramList);
143 void setstiff(RCP<Tpetra::CrsMatrix<SC, LO, GO, NO> >& TpetraK);
145 void setmass(RCP<Tpetra::CrsMatrix<SC, LO, GO, NO> >& TpetraM);
146 void setcoords(RCP<MultiVector>& Coords);
171 Belos::ReturnType
solve(
const RCP<TMV> B, RCP<TMV>& X);
173 RCP<MultiVector>& X);
174 void multigrid_apply(
const RCP<Tpetra::MultiVector<SC, LO, GO, NO> > B,
175 RCP<Tpetra::MultiVector<SC, LO, GO, NO> >& X);
177 typename Teuchos::ScalarTraits<Scalar>::magnitudeType
GetResidual();
253 RCP<MueLu::ShiftedLaplacianOperator<SC, LO, GO, NO> >
MueLuOp_;
265#define MUELU_SHIFTEDLAPLACIAN_SHORT
MueLu::DefaultLocalOrdinal LocalOrdinal
MueLu::DefaultScalar Scalar
MueLu::DefaultGlobalOrdinal GlobalOrdinal
Base class for MueLu classes.
Shifted Laplacian Helmholtz solver.
Tpetra::MultiVector< SC, LO, GO, NO > TMV
void setPreconditioningMatrix(RCP< Matrix > &P)
RCP< TransPFactory > TransPfact_
RCP< MultiVector > NullSpace_
void setmass(RCP< Matrix > &M)
RCP< Tpetra::CrsMatrix< SC, LO, GO, NO > > TpetraA_
double ilu_diagpivotthresh_
std::string ilu_normtype_
int krylov_preconditioner_
Tpetra::Operator< SC, LO, GO, NO > OP
RCP< CoarseMapFactory > CoarseMapfact_
std::string ilu_milutype_
RCP< GenericRFactory > Rfact_
void resetLinearProblem()
RCP< MultiVector > Coords_
RCP< LinearProblem > LinearProblem_
void setNullSpace(RCP< MultiVector > NullSpace)
RCP< RAPFactory > Acfact_
RCP< MueLu::ShiftedLaplacianOperator< SC, LO, GO, NO > > MueLuOp_
RCP< SmootherPrototype > coarsestSmooProto_
std::vector< SC > levelshifts_
RCP< RAPShiftFactory > Acshift_
void setcoords(RCP< MultiVector > &Coords)
Belos::LinearProblem< SC, TMV, OP > LinearProblem
Teuchos::ScalarTraits< Scalar >::magnitudeType GetResidual()
RCP< TentativePFactory > TentPfact_
Belos::SolverManager< SC, TMV, OP > SolverManager
Teuchos::ParameterList precList_
RCP< UncoupledAggregationFactory > UCaggfact_
RCP< SmootherPrototype > smooProto_
RCP< SmootherFactory > smooFact_
void setLevelShifts(std::vector< Scalar > levelshifts)
void setParameters(Teuchos::RCP< Teuchos::ParameterList > paramList)
std::string schwarz_ordermethod_
RCP< FactoryManager > Manager_
virtual ~ShiftedLaplacian()
RCP< SolverManager > SolverManager_
void setstiff(RCP< Matrix > &K)
void setProblemMatrix(RCP< Matrix > &A)
void multigrid_apply(const RCP< MultiVector > B, RCP< MultiVector > &X)
Teuchos::ParameterList coarsestSmooList_
RCP< Hierarchy > Hierarchy_
ShiftedLaplacian()
Constructors.
Belos::SolverFactory< SC, TMV, OP > SolverFactory
RCP< SolverFactory > SolverFactory_
RCP< Teuchos::ParameterList > BelosList_
RCP< AmalgamationFactory > Amalgfact_
Tpetra::Vector< SC, LO, GO, NO > TVEC
std::string ilu_drop_rule_
RCP< CoalesceDropFactory > Dropfact_
RCP< SmootherFactory > coarsestSmooFact_
RCP< PgPFactory > PgPfact_
Tpetra::CombineMode schwarz_combinemode_
Belos::ReturnType solve(const RCP< TMV > B, RCP< TMV > &X)
Namespace for MueLu classes and methods.
Tpetra::KokkosClassic::DefaultNode::DefaultNodeType DefaultNode
Tpetra::Details::DefaultTypes::scalar_type DefaultScalar