SMOOTHER
This class is used to manage the smoother for AMG. More…
#include "SMOOTHER.h"
Public Functions
| Name | |
|---|---|
| SMOOTHER(const DSMat & mat_A, const SMOOTHER_params & input_params) Constructs the object. |
|
| ~SMOOTHER() Deletes the object. |
|
| void | Compute(DSMat & mat_A) Computes the operator. |
| void | Prepare_Apply(const iReg nRHS) Prepares the operator application. |
| void | UndoPrepare_Apply() Undo the data structure necessary for the application. |
| void | Print_ASCII(const string & filename) const Prints the Smoother Operator in ASCII format. |
| double | Get_omega() const Retrieves omega (smoother damping factor). |
| int | Get_niter_S() const Retrieves number of iterations to compute omega. |
| double | Get_nrm_omega() const Retrieves number of iterations to compute omega. |
| iExt | Get_nnz_S() const Retrieves number of non-zeroes of the smoother. |
| long int | Get_FlopEst_S() const Retrieves Flop estimate for the application of the preconditioning matrix. |
| double | Get_time_PR() const Retrieves Computation time for the preconditioner. |
| double | Get_time_OM() const Retrieves Computation time for omega. |
| int | Get_type() const Retrieves Smoother type. |
| Preconditioner * | Get_ptr_Prec() Retrieves pointer to the preconditioner. |
| void | Apply_Step(const iReg nRHS, DSMat & mat_A, DDMat & RHS, DDMat & iSOL, DDMat & oSOL, DDMat & WR1, DDMat & WR2) Applies a single step of the smoother. |
| void | Apply_Pre_Smoothing(DSMat & mat_A, DDMat & RHS, DDMat & SOL, DDMat & WR1, DDMat & WR2) Applies an input number of pre-smoothing steps to a given vector. |
| void | Apply_Post_Smoothing(DSMat & mat_A, DDMat & RHS, DDMat & SOL, DDMat & WR1, DDMat & WR2) Applies an input number of post-smoothing steps to a given vector. |
Detailed Description
class SMOOTHER;
This class is used to manage the smoother for AMG.
class SMOOTHER.
Public Functions Documentation
function SMOOTHER
SMOOTHER(
const DSMat & mat_A,
const SMOOTHER_params & input_params
)
Constructs the object.
function ~SMOOTHER
~SMOOTHER()
Deletes the object.
function Compute
void Compute(
DSMat & mat_A
)
Computes the operator.
Parameters:
- mat_A system matrix.
function Prepare_Apply
void Prepare_Apply(
const iReg nRHS
)
Prepares the operator application.
Parameters:
- nRHS number of Right Hand Sides.
function UndoPrepare_Apply
void UndoPrepare_Apply()
Undo the data structure necessary for the application.
function Print_ASCII
inline void Print_ASCII(
const string & filename
) const
Prints the Smoother Operator in ASCII format.
function Get_omega
inline double Get_omega() const
Retrieves omega (smoother damping factor).
function Get_niter_S
inline int Get_niter_S() const
Retrieves number of iterations to compute omega.
function Get_nrm_omega
inline double Get_nrm_omega() const
Retrieves number of iterations to compute omega.
function Get_nnz_S
inline iExt Get_nnz_S() const
Retrieves number of non-zeroes of the smoother.
function Get_FlopEst_S
inline long int Get_FlopEst_S() const
Retrieves Flop estimate for the application of the preconditioning matrix.
function Get_time_PR
inline double Get_time_PR() const
Retrieves Computation time for the preconditioner.
function Get_time_OM
inline double Get_time_OM() const
Retrieves Computation time for omega.
function Get_type
inline int Get_type() const
Retrieves Smoother type.
function Get_ptr_Prec
inline Preconditioner * Get_ptr_Prec()
Retrieves pointer to the preconditioner.
function Apply_Step
void Apply_Step(
const iReg nRHS,
DSMat & mat_A,
DDMat & RHS,
DDMat & iSOL,
DDMat & oSOL,
DDMat & WR1,
DDMat & WR2
)
Applies a single step of the smoother.
Parameters:
- nRHS number of Right Hand Side.
- mat_A system matrix.
- RHS input vector to be smoothed.
- iSOL input smoothed vector.
- oSOL output smoothed vector.
- WR1 global scratch vector 1.
- WR2 global scratch vector 2.
function Apply_Pre_Smoothing
void Apply_Pre_Smoothing(
DSMat & mat_A,
DDMat & RHS,
DDMat & SOL,
DDMat & WR1,
DDMat & WR2
)
Applies an input number of pre-smoothing steps to a given vector.
Parameters:
- mat_A system matrix.
- RHS input vector to be smoothed.
- SOL output smoothed vector.
- WR1 global scratch vector 1.
- WR2 global scratch vector 2.
function Apply_Post_Smoothing
void Apply_Post_Smoothing(
DSMat & mat_A,
DDMat & RHS,
DDMat & SOL,
DDMat & WR1,
DDMat & WR2
)
Applies an input number of post-smoothing steps to a given vector.
Parameters:
- mat_A system matrix.
- RHS input vector to be smoothed.
- SOL output smoothed vector.
- WR1 global scratch vector 1.
- WR2 global scratch vector 2.
Updated on 19 November 2024 at 10:20:48 CET