OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
MGPoissonSolver Class Referenceabstract

#include <MGPoissonSolver.h>

Inheritance diagram for MGPoissonSolver:
Collaboration diagram for MGPoissonSolver:

Public Types

typedef Tpetra::Vector TpetraVector_t
typedef Tpetra::MultiVector TpetraMultiVector_t
typedef Tpetra::Map TpetraMap_t
typedef Tpetra::Vector ::scalar_type TpetraScalar_t
typedef Tpetra::Vector ::global_ordinal_type TpetraGlobalOrdinal_t
typedef Tpetra::Operator TpetraOperator_t
typedef MueLu::TpetraOperator MueLuTpetraOperator_t
typedef Tpetra::CrsMatrix TpetraCrsMatrix_t
typedef Teuchos::MpiComm< int > Comm_t
typedef Teuchos::ParameterList ParameterList_t
typedef Belos::SolverManager< TpetraScalar_t, TpetraMultiVector_t, TpetraOperator_tSolverManager_t
typedef Belos::LinearProblem< TpetraScalar_t, TpetraMultiVector_t, TpetraOperator_tLinearProblem_t

Public Member Functions

 MGPoissonSolver (PartBunch *beam, Mesh_t *mesh, FieldLayout_t *fl, std::vector< BoundaryGeometry * > geometries, std::string itsolver, std::string interpl, double tol, int maxiters, std::string precmode)
 ~MGPoissonSolver ()
void computePotential (Field_t &rho, Vector_t hr)
void computePotential (Field_t &rho, Vector_t hr, double zshift)
void setGeometry (std::vector< BoundaryGeometry * > geometries)
 set a geometry
double getXRangeMin (unsigned short)
double getXRangeMax (unsigned short)
double getYRangeMin (unsigned short)
double getYRangeMax (unsigned short)
double getZRangeMin (unsigned short)
double getZRangeMax (unsigned short)
void test (PartBunchBase< double, 3 > *)
void printLoadBalanceStats ()
 useful load balance information
void extrapolateLHS ()
void resizeMesh (Vector_t &origin, Vector_t &hr, const Vector_t &rmin, const Vector_t &rmax, double dh)
Informprint (Inform &os) const
virtual void computePotential (Field_t &rho, Vector_t hr)=0
virtual void computePotential (Field_t &rho, Vector_t hr, double zshift)=0
virtual void solve (AmrScalarFieldContainer_t &, AmrScalarFieldContainer_t &, AmrVectorFieldContainer_t &, unsigned short, unsigned short, bool=true)
virtual void hasToRegrid ()
virtual void resizeMesh (Vector_t &, Vector_t &, const Vector_t &, const Vector_t &, double)
virtual double getinteractionRadius () const
virtual void calculatePairForces (PartBunchBase< double, 3 > *, double)

Protected Types

typedef Field< int, 3, Mesh_t, Center_tIField_t
typedef Field< std::complex< double >, 3, Mesh_t, Center_tCxField_t

Protected Member Functions

void setupBelosList ()
 Setup the parameters for the Belos iterative solver.
void setupMueLuList ()
 Setup the parameters for the SAAMG preconditioner.

Private Member Functions

void deletePtr ()
void computeMap (NDIndex< 3 > localId)
 recomputes the map
void IPPLToMap3D (NDIndex< 3 > localId)
void ComputeStencil (Vector_t hr, Teuchos::RCP< TpetraVector_t > RHS)

Private Attributes

bool isMatrixfilled_m
bool useLeftPrec_m
BoundaryGeometrycurrentGeometry
 holding the currently active geometry
std::vector< BoundaryGeometry * > geometries_m
 container for multiple geometries
int repartFreq_m
bool verbose_m
 flag specifying if we are verbose
double tol_m
 tolerance for the iterative solver
int maxiters_m
 maximal number of iterations for the iterative solver
int precmode_m
 preconditioner mode
int numBlocks_m
 maximum number of blocks in Krylov space
int recycleBlocks_m
 number of vectors in recycle space
std::unique_ptr< IrregularDomainbp_m
 structure that holds boundary points
Teuchos::RCP< TpetraVector_tRHS
 right hand side of our problem
Teuchos::RCP< TpetraVector_tLHS
 left hand side of the linear system of equations we solve
Teuchos::RCP< TpetraCrsMatrix_tA
 matrix used in the linear system of equations
Teuchos::RCP< TpetraMap_tmap_p
 Map holding the processor distribution of data.
Teuchos::RCP< const Comm_tcomm_mp
 communicator used by Trilinos
unsigned int nLHS_m
 last N LHS's for extrapolating the new LHS as starting vector
Teuchos::RCP< TpetraMultiVector_tP_mp
std::deque< TpetraVector_tOldLHS
Teuchos::RCP< LinearProblem_tproblem_mp
Teuchos::RCP< SolverManager_tsolver_mp
Teuchos::RCP< MueLuTpetraOperator_tprec_mp
 MueLu preconditioner object.
Teuchos::ParameterList MueLuList_m
 parameter list for the MueLu solver
Teuchos::ParameterList belosList
 parameter list for the iterative solver (Belos)
PartBunchitsBunch_m
 PartBunch object.
Mesh_tmesh_m
FieldLayout_tlayout_m
NDIndex< 3 > domain_m
Vector_t hr_m
 mesh spacings in each direction
Vektor< int, 3 > nr_m
 current number of mesh points in each direction
Vektor< int, 3 > orig_nr_m
 global number of mesh points in each direction
IpplTimings::TimerRef FunctionTimer1_m
IpplTimings::TimerRef FunctionTimer2_m
IpplTimings::TimerRef FunctionTimer3_m
IpplTimings::TimerRef FunctionTimer4_m
IpplTimings::TimerRef FunctionTimer5_m
IpplTimings::TimerRef FunctionTimer6_m
IpplTimings::TimerRef FunctionTimer7_m
IpplTimings::TimerRef FunctionTimer8_m

Detailed Description

Definition at line 73 of file MGPoissonSolver.h.

Member Typedef Documentation

◆ Comm_t

typedef Teuchos::MpiComm<int> MGPoissonSolver::Comm_t

Definition at line 84 of file MGPoissonSolver.h.

◆ CxField_t

typedef Field<std::complex<double>, 3, Mesh_t, Center_t> PoissonSolver::CxField_t
protectedinherited

Definition at line 20 of file PoissonSolver.h.

◆ IField_t

typedef Field<int, 3, Mesh_t, Center_t> PoissonSolver::IField_t
protectedinherited

Definition at line 19 of file PoissonSolver.h.

◆ LinearProblem_t

Definition at line 94 of file MGPoissonSolver.h.

◆ MueLuTpetraOperator_t

typedef MueLu::TpetraOperator MGPoissonSolver::MueLuTpetraOperator_t

Definition at line 82 of file MGPoissonSolver.h.

◆ ParameterList_t

typedef Teuchos::ParameterList MGPoissonSolver::ParameterList_t

Definition at line 86 of file MGPoissonSolver.h.

◆ SolverManager_t

Definition at line 90 of file MGPoissonSolver.h.

◆ TpetraCrsMatrix_t

typedef Tpetra::CrsMatrix MGPoissonSolver::TpetraCrsMatrix_t

Definition at line 83 of file MGPoissonSolver.h.

◆ TpetraGlobalOrdinal_t

typedef Tpetra::Vector ::global_ordinal_type MGPoissonSolver::TpetraGlobalOrdinal_t

Definition at line 80 of file MGPoissonSolver.h.

◆ TpetraMap_t

typedef Tpetra::Map MGPoissonSolver::TpetraMap_t

Definition at line 78 of file MGPoissonSolver.h.

◆ TpetraMultiVector_t

typedef Tpetra::MultiVector MGPoissonSolver::TpetraMultiVector_t

Definition at line 77 of file MGPoissonSolver.h.

◆ TpetraOperator_t

typedef Tpetra::Operator MGPoissonSolver::TpetraOperator_t

Definition at line 81 of file MGPoissonSolver.h.

◆ TpetraScalar_t

typedef Tpetra::Vector ::scalar_type MGPoissonSolver::TpetraScalar_t

Definition at line 79 of file MGPoissonSolver.h.

◆ TpetraVector_t

typedef Tpetra::Vector MGPoissonSolver::TpetraVector_t

Definition at line 76 of file MGPoissonSolver.h.

Constructor & Destructor Documentation

◆ MGPoissonSolver()

MGPoissonSolver::MGPoissonSolver ( PartBunch * beam,
Mesh_t * mesh,
FieldLayout_t * fl,
std::vector< BoundaryGeometry * > geometries,
std::string itsolver,
std::string interpl,
double tol,
int maxiters,
std::string precmode )

◆ ~MGPoissonSolver()

MGPoissonSolver::~MGPoissonSolver ( )

Definition at line 217 of file MGPoissonSolver.cpp.

References deletePtr(), problem_mp, and solver_mp.

Here is the call graph for this function:

Member Function Documentation

◆ calculatePairForces()

virtual void PoissonSolver::calculatePairForces ( PartBunchBase< double, 3 > * ,
double  )
inlinevirtualinherited

Reimplemented in P3MPoissonSolver.

Definition at line 74 of file PoissonSolver.h.

◆ computeMap()

void MGPoissonSolver::computeMap ( NDIndex< 3 > localId)
private

recomputes the map

Definition at line 227 of file MGPoissonSolver.cpp.

References deletePtr(), extrapolateLHS(), IPPLToMap3D(), itsBunch_m, and repartFreq_m.

Referenced by computePotential().

Here is the call graph for this function:

◆ computePotential() [1/4]

void MGPoissonSolver::computePotential ( Field_t & rho,
Vector_t hr )

given a charge-density field rho and a set of mesh spacings hr, compute the scalar potential in 'open space'

Parameters
rho(inout) scalar field of the potential
hrmesh spacings in each direction

Definition at line 296 of file MGPoissonSolver.cpp.

References A, Track::block, bp_m, IpplInfo::Comm, comm_mp, computeMap(), ComputeStencil(), endl(), ERRORMSG, FunctionTimer1_m, FunctionTimer2_m, FunctionTimer3_m, FunctionTimer4_m, FunctionTimer5_m, FunctionTimer6_m, FunctionTimer7_m, FunctionTimer8_m, INFOMSG, INFORM_ALL_NODES, itsBunch_m, layout_m, level3(), LHS, BareField< T, Dim >::localElement(), map_p, MueLuList_m, IpplInfo::myNode(), nLHS_m, nr_m, numBlocks_m, OldLHS, orig_nr_m, prec_mp, precmode_m, problem_mp, recycleBlocks_m, reduce(), REUSE_HIERARCHY, REUSE_PREC, RHS, solver_mp, IpplTimings::startTimer(), STD_PREC, IpplTimings::stopTimer(), useLeftPrec_m, and verbose_m.

Here is the call graph for this function:

◆ computePotential() [2/4]

void MGPoissonSolver::computePotential ( Field_t & rho,
Vector_t hr,
double zshift )

Definition at line 223 of file MGPoissonSolver.cpp.

◆ computePotential() [3/4]

virtual void PoissonSolver::computePotential ( Field_t & rho,
Vector_t hr )
pure virtualinherited

◆ computePotential() [4/4]

virtual void PoissonSolver::computePotential ( Field_t & rho,
Vector_t hr,
double zshift )
pure virtualinherited

◆ ComputeStencil()

void MGPoissonSolver::ComputeStencil ( Vector_t hr,
Teuchos::RCP< TpetraVector_t > RHS )
private

returns a discretized stencil that has Neumann BC in z direction and Dirichlet BC on the surface of a specified geometry

Parameters
hrgridspacings in each direction
RHSright hand side might be scaled

Definition at line 527 of file MGPoissonSolver.cpp.

References A, IrregularDomain::Stencil< T >::back, bp_m, IrregularDomain::Stencil< T >::center, IrregularDomain::Stencil< T >::east, IrregularDomain::Stencil< T >::front, isMatrixfilled_m, map_p, IrregularDomain::Stencil< T >::north, RHS, IrregularDomain::Stencil< T >::south, and IrregularDomain::Stencil< T >::west.

Referenced by computePotential().

◆ deletePtr()

void MGPoissonSolver::deletePtr ( )
private

Definition at line 208 of file MGPoissonSolver.cpp.

References A, isMatrixfilled_m, LHS, map_p, prec_mp, and RHS.

Referenced by computeMap(), and ~MGPoissonSolver().

◆ extrapolateLHS()

void MGPoissonSolver::extrapolateLHS ( )

Definition at line 236 of file MGPoissonSolver.cpp.

References LHS, map_p, nLHS_m, OldLHS, and P_mp.

Referenced by computeMap().

◆ getinteractionRadius()

virtual double PoissonSolver::getinteractionRadius ( ) const
inlinevirtualinherited

Reimplemented in P3MPoissonSolver.

Definition at line 72 of file PoissonSolver.h.

◆ getXRangeMax()

double MGPoissonSolver::getXRangeMax ( unsigned short )
inlinevirtual

Implements PoissonSolver.

Definition at line 117 of file MGPoissonSolver.h.

References bp_m.

◆ getXRangeMin()

double MGPoissonSolver::getXRangeMin ( unsigned short )
inlinevirtual

Implements PoissonSolver.

Definition at line 116 of file MGPoissonSolver.h.

References bp_m.

◆ getYRangeMax()

double MGPoissonSolver::getYRangeMax ( unsigned short )
inlinevirtual

Implements PoissonSolver.

Definition at line 119 of file MGPoissonSolver.h.

References bp_m.

◆ getYRangeMin()

double MGPoissonSolver::getYRangeMin ( unsigned short )
inlinevirtual

Implements PoissonSolver.

Definition at line 118 of file MGPoissonSolver.h.

References bp_m.

◆ getZRangeMax()

double MGPoissonSolver::getZRangeMax ( unsigned short )
inlinevirtual

Implements PoissonSolver.

Definition at line 121 of file MGPoissonSolver.h.

References bp_m.

◆ getZRangeMin()

double MGPoissonSolver::getZRangeMin ( unsigned short )
inlinevirtual

Implements PoissonSolver.

Definition at line 120 of file MGPoissonSolver.h.

References bp_m.

◆ hasToRegrid()

virtual void PoissonSolver::hasToRegrid ( )
inlinevirtualinherited

Tell solver to regrid

Reimplemented in AmrPoissonSolver< AmrObject >, and AmrPoissonSolver< AmrBoxLib >.

Definition at line 52 of file PoissonSolver.h.

Referenced by AmrBoxLib::postRegrid_m().

◆ IPPLToMap3D()

void MGPoissonSolver::IPPLToMap3D ( NDIndex< 3 > localId)
private

converts IPPL grid to a 3D map

Parameters
localIdlocal IPPL grid node indices

Definition at line 506 of file MGPoissonSolver.cpp.

References bp_m, comm_mp, and map_p.

Referenced by computeMap().

◆ print()

Inform & MGPoissonSolver::print ( Inform & os) const

Definition at line 713 of file MGPoissonSolver.cpp.

References endl(), and hr_m.

Here is the call graph for this function:

◆ printLoadBalanceStats()

void MGPoissonSolver::printLoadBalanceStats ( )

useful load balance information

Definition at line 606 of file MGPoissonSolver.cpp.

References comm_mp, endl(), gmsg, map_p, max(), min(), and reduce().

Here is the call graph for this function:

◆ resizeMesh() [1/2]

void MGPoissonSolver::resizeMesh ( Vector_t & origin,
Vector_t & hr,
const Vector_t & rmin,
const Vector_t & rmax,
double dh )
inline

Definition at line 128 of file MGPoissonSolver.h.

References bp_m.

◆ resizeMesh() [2/2]

virtual void PoissonSolver::resizeMesh ( Vector_t & ,
Vector_t & ,
const Vector_t & ,
const Vector_t & ,
double  )
inlinevirtualinherited

Definition at line 68 of file PoissonSolver.h.

◆ setGeometry()

void MGPoissonSolver::setGeometry ( std::vector< BoundaryGeometry * > geometries)

set a geometry

◆ setupBelosList()

void MGPoissonSolver::setupBelosList ( )
protected

Setup the parameters for the Belos iterative solver.

Definition at line 638 of file MGPoissonSolver.cpp.

References belosList, maxiters_m, numBlocks_m, recycleBlocks_m, tol_m, and verbose_m.

◆ setupMueLuList()

void MGPoissonSolver::setupMueLuList ( )
protected

Setup the parameters for the SAAMG preconditioner.

Definition at line 656 of file MGPoissonSolver.cpp.

References comm_mp, MueLuList_m, precmode_m, REUSE_HIERARCHY, REUSE_PREC, and STD_PREC.

◆ solve()

virtual void PoissonSolver::solve ( AmrScalarFieldContainer_t & ,
AmrScalarFieldContainer_t & ,
AmrVectorFieldContainer_t & ,
unsigned short ,
unsigned short ,
bool = true )
inlinevirtualinherited

AMR solver calls

Parameters
rhoright-hand side charge density on grid [C / m]
phielectrostatic potential (unknown) [V]
efieldelectric field [V / m]
baseLevelfor solve
finestLevelfor solve
prevAsGuessuse of previous solution as initial guess

Reimplemented in AmrMultiGrid.

Definition at line 39 of file PoissonSolver.h.

Referenced by AmrBoxLib::computeSelfFields_cycl(), and AmrBoxLib::solvePoisson_m().

◆ test()

void MGPoissonSolver::test ( PartBunchBase< double, 3 > * )
inlinevirtual

Implements PoissonSolver.

Definition at line 122 of file MGPoissonSolver.h.

Member Data Documentation

◆ A

Teuchos::RCP<TpetraCrsMatrix_t> MGPoissonSolver::A
private

matrix used in the linear system of equations

Definition at line 176 of file MGPoissonSolver.h.

Referenced by computePotential(), ComputeStencil(), and deletePtr().

◆ belosList

Teuchos::ParameterList MGPoissonSolver::belosList
private

parameter list for the iterative solver (Belos)

Definition at line 198 of file MGPoissonSolver.h.

Referenced by setupBelosList().

◆ bp_m

std::unique_ptr<IrregularDomain> MGPoissonSolver::bp_m
private

◆ comm_mp

Teuchos::RCP<const Comm_t> MGPoissonSolver::comm_mp
private

communicator used by Trilinos

Definition at line 182 of file MGPoissonSolver.h.

Referenced by computePotential(), IPPLToMap3D(), MGPoissonSolver(), printLoadBalanceStats(), and setupMueLuList().

◆ currentGeometry

BoundaryGeometry* MGPoissonSolver::currentGeometry
private

holding the currently active geometry

Definition at line 148 of file MGPoissonSolver.h.

Referenced by MGPoissonSolver().

◆ domain_m

NDIndex<3> MGPoissonSolver::domain_m
private

Definition at line 208 of file MGPoissonSolver.h.

Referenced by MGPoissonSolver().

◆ FunctionTimer1_m

IpplTimings::TimerRef MGPoissonSolver::FunctionTimer1_m
private

Definition at line 218 of file MGPoissonSolver.h.

Referenced by computePotential().

◆ FunctionTimer2_m

IpplTimings::TimerRef MGPoissonSolver::FunctionTimer2_m
private

Definition at line 219 of file MGPoissonSolver.h.

Referenced by computePotential().

◆ FunctionTimer3_m

IpplTimings::TimerRef MGPoissonSolver::FunctionTimer3_m
private

Definition at line 220 of file MGPoissonSolver.h.

Referenced by computePotential().

◆ FunctionTimer4_m

IpplTimings::TimerRef MGPoissonSolver::FunctionTimer4_m
private

Definition at line 221 of file MGPoissonSolver.h.

Referenced by computePotential().

◆ FunctionTimer5_m

IpplTimings::TimerRef MGPoissonSolver::FunctionTimer5_m
private

Definition at line 222 of file MGPoissonSolver.h.

Referenced by computePotential().

◆ FunctionTimer6_m

IpplTimings::TimerRef MGPoissonSolver::FunctionTimer6_m
private

Definition at line 223 of file MGPoissonSolver.h.

Referenced by computePotential().

◆ FunctionTimer7_m

IpplTimings::TimerRef MGPoissonSolver::FunctionTimer7_m
private

Definition at line 224 of file MGPoissonSolver.h.

Referenced by computePotential().

◆ FunctionTimer8_m

IpplTimings::TimerRef MGPoissonSolver::FunctionTimer8_m
private

Definition at line 225 of file MGPoissonSolver.h.

Referenced by computePotential().

◆ geometries_m

std::vector<BoundaryGeometry *> MGPoissonSolver::geometries_m
private

container for multiple geometries

Definition at line 151 of file MGPoissonSolver.h.

Referenced by MGPoissonSolver().

◆ hr_m

Vector_t MGPoissonSolver::hr_m
private

mesh spacings in each direction

Definition at line 211 of file MGPoissonSolver.h.

Referenced by MGPoissonSolver(), and print().

◆ isMatrixfilled_m

bool MGPoissonSolver::isMatrixfilled_m
private

Definition at line 140 of file MGPoissonSolver.h.

Referenced by ComputeStencil(), deletePtr(), and MGPoissonSolver().

◆ itsBunch_m

PartBunch* MGPoissonSolver::itsBunch_m
private

PartBunch object.

Definition at line 201 of file MGPoissonSolver.h.

Referenced by computeMap(), computePotential(), and MGPoissonSolver().

◆ layout_m

FieldLayout_t* MGPoissonSolver::layout_m
private

Definition at line 205 of file MGPoissonSolver.h.

Referenced by computePotential(), and MGPoissonSolver().

◆ LHS

Teuchos::RCP<TpetraVector_t> MGPoissonSolver::LHS
private

left hand side of the linear system of equations we solve

Definition at line 174 of file MGPoissonSolver.h.

Referenced by computePotential(), deletePtr(), and extrapolateLHS().

◆ map_p

Teuchos::RCP<TpetraMap_t> MGPoissonSolver::map_p
private

Map holding the processor distribution of data.

Definition at line 179 of file MGPoissonSolver.h.

Referenced by computePotential(), ComputeStencil(), deletePtr(), extrapolateLHS(), IPPLToMap3D(), and printLoadBalanceStats().

◆ maxiters_m

int MGPoissonSolver::maxiters_m
private

maximal number of iterations for the iterative solver

Definition at line 160 of file MGPoissonSolver.h.

Referenced by MGPoissonSolver(), and setupBelosList().

◆ mesh_m

Mesh_t* MGPoissonSolver::mesh_m
private

Definition at line 204 of file MGPoissonSolver.h.

Referenced by MGPoissonSolver().

◆ MueLuList_m

Teuchos::ParameterList MGPoissonSolver::MueLuList_m
private

parameter list for the MueLu solver

Definition at line 196 of file MGPoissonSolver.h.

Referenced by computePotential(), and setupMueLuList().

◆ nLHS_m

unsigned int MGPoissonSolver::nLHS_m
private

last N LHS's for extrapolating the new LHS as starting vector

Definition at line 185 of file MGPoissonSolver.h.

Referenced by computePotential(), and extrapolateLHS().

◆ nr_m

Vektor<int, 3> MGPoissonSolver::nr_m
private

current number of mesh points in each direction

Definition at line 213 of file MGPoissonSolver.h.

Referenced by computePotential().

◆ numBlocks_m

int MGPoissonSolver::numBlocks_m
private

maximum number of blocks in Krylov space

Definition at line 164 of file MGPoissonSolver.h.

Referenced by computePotential(), and setupBelosList().

◆ OldLHS

std::deque< TpetraVector_t > MGPoissonSolver::OldLHS
private

Definition at line 187 of file MGPoissonSolver.h.

Referenced by computePotential(), and extrapolateLHS().

◆ orig_nr_m

Vektor<int, 3> MGPoissonSolver::orig_nr_m
private

global number of mesh points in each direction

Definition at line 215 of file MGPoissonSolver.h.

Referenced by computePotential(), and MGPoissonSolver().

◆ P_mp

Teuchos::RCP<TpetraMultiVector_t> MGPoissonSolver::P_mp
private

Definition at line 186 of file MGPoissonSolver.h.

Referenced by extrapolateLHS().

◆ prec_mp

Teuchos::RCP<MueLuTpetraOperator_t> MGPoissonSolver::prec_mp
private

MueLu preconditioner object.

Definition at line 193 of file MGPoissonSolver.h.

Referenced by computePotential(), and deletePtr().

◆ precmode_m

int MGPoissonSolver::precmode_m
private

preconditioner mode

Definition at line 162 of file MGPoissonSolver.h.

Referenced by computePotential(), MGPoissonSolver(), and setupMueLuList().

◆ problem_mp

Teuchos::RCP<LinearProblem_t> MGPoissonSolver::problem_mp
private

Definition at line 189 of file MGPoissonSolver.h.

Referenced by computePotential(), and ~MGPoissonSolver().

◆ recycleBlocks_m

int MGPoissonSolver::recycleBlocks_m
private

number of vectors in recycle space

Definition at line 166 of file MGPoissonSolver.h.

Referenced by computePotential(), and setupBelosList().

◆ repartFreq_m

int MGPoissonSolver::repartFreq_m
private

Definition at line 153 of file MGPoissonSolver.h.

Referenced by computeMap(), and MGPoissonSolver().

◆ RHS

Teuchos::RCP<TpetraVector_t> MGPoissonSolver::RHS
private

right hand side of our problem

Definition at line 172 of file MGPoissonSolver.h.

Referenced by computePotential(), ComputeStencil(), and deletePtr().

◆ solver_mp

Teuchos::RCP<SolverManager_t> MGPoissonSolver::solver_mp
private

Definition at line 190 of file MGPoissonSolver.h.

Referenced by computePotential(), and ~MGPoissonSolver().

◆ tol_m

double MGPoissonSolver::tol_m
private

tolerance for the iterative solver

Definition at line 158 of file MGPoissonSolver.h.

Referenced by MGPoissonSolver(), and setupBelosList().

◆ useLeftPrec_m

bool MGPoissonSolver::useLeftPrec_m
private

Definition at line 143 of file MGPoissonSolver.h.

Referenced by computePotential(), and MGPoissonSolver().

◆ verbose_m

bool MGPoissonSolver::verbose_m
private

flag specifying if we are verbose

Definition at line 155 of file MGPoissonSolver.h.

Referenced by computePotential(), MGPoissonSolver(), and setupBelosList().


The documentation for this class was generated from the following files: