Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::AlephMatrixHypre Class Reference
Inheritance diagram for Arcane::AlephMatrixHypre:
Collaboration diagram for Arcane::AlephMatrixHypre:

Public Member Functions

 AlephMatrixHypre (ITraceMng *tm, AlephKernel *kernel, Integer index)
void AlephMatrixCreate (void)
void AlephMatrixSetFilled (bool)
int AlephMatrixAssemble (void)
void AlephMatrixFill (int size, HYPRE_Int *rows, HYPRE_Int *cols, double *values)
bool isAlreadySolved (AlephVectorHypre *x, AlephVectorHypre *b, AlephVectorHypre *tmp, Real *residual_norm, AlephParams *params)
int AlephMatrixSolve (AlephVector *x, AlephVector *b, AlephVector *t, Integer &nb_iteration, Real *residual_norm, AlephParams *solver_param)
void writeToFile (const String filename)
void initSolverPCG (const AlephParams *solver_param, HYPRE_Solver &solver)
void initSolverBiCGStab (const AlephParams *solver_param, HYPRE_Solver &solver)
void initSolverGMRES (const AlephParams *solver_param, HYPRE_Solver &solver)
void setDiagonalPreconditioner (const TypesSolver::eSolverMethod solver_method, const HYPRE_Solver &solver, HYPRE_Solver &precond)
void setILUPreconditioner (const TypesSolver::eSolverMethod solver_method, const HYPRE_Solver &solver, HYPRE_Solver &precond)
void setSpaiStatPreconditioner (const TypesSolver::eSolverMethod solver_method, const HYPRE_Solver &solver, const AlephParams *solver_param, HYPRE_Solver &precond)
void setAMGPreconditioner (const TypesSolver::eSolverMethod solver_method, const HYPRE_Solver &solver, const AlephParams *solver_param, HYPRE_Solver &precond)
bool solvePCG (const AlephParams *solver_param, HYPRE_Solver &solver, HYPRE_ParCSRMatrix &M, HYPRE_ParVector &B, HYPRE_ParVector &X, HYPRE_Int &iteration, double &residue)
bool solveBiCGStab (HYPRE_Solver &solver, HYPRE_ParCSRMatrix &M, HYPRE_ParVector &B, HYPRE_ParVector &X, HYPRE_Int &iteration, double &residue)
bool solveGMRES (HYPRE_Solver &solver, HYPRE_ParCSRMatrix &M, HYPRE_ParVector &B, HYPRE_ParVector &X, HYPRE_Int &iteration, double &residue)
Public Member Functions inherited from Arcane::IAlephMatrix
 IAlephMatrix (ITraceMng *tm, AlephKernel *kernel, Integer index)
virtual void AlephMatrixFill (int, AlephInt *, AlephInt *, double *)=0
Public Member Functions inherited from Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Constructs an accessor via the trace manager m.
 TraceAccessor (const TraceAccessor &rhs)
 Copy constructor.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const

Private Attributes

HYPRE_IJMatrix m_hypre_ijmatrix = nullptr
HYPRE_ParCSRMatrix m_hypre_parmatrix = nullptr

Additional Inherited Members

Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const
Protected Attributes inherited from Arcane::IAlephMatrix
Integer m_index
AlephKernelm_kernel

Detailed Description

Definition at line 248 of file AlephHypre.cc.

Constructor & Destructor Documentation

◆ AlephMatrixHypre()

Arcane::AlephMatrixHypre::AlephMatrixHypre ( ITraceMng * tm,
AlephKernel * kernel,
Integer index )
inline

Definition at line 256 of file AlephHypre.cc.

◆ ~AlephMatrixHypre()

Arcane::AlephMatrixHypre::~AlephMatrixHypre ( )
inline

Definition at line 263 of file AlephHypre.cc.

Member Function Documentation

◆ AlephMatrixAssemble()

int Arcane::AlephMatrixHypre::AlephMatrixAssemble ( void )
inlinevirtual

Implements Arcane::IAlephMatrix.

Definition at line 324 of file AlephHypre.cc.

◆ AlephMatrixCreate()

void Arcane::AlephMatrixHypre::AlephMatrixCreate ( void )
inlinevirtual

Implements Arcane::IAlephMatrix.

Definition at line 283 of file AlephHypre.cc.

◆ AlephMatrixFill()

void Arcane::AlephMatrixHypre::AlephMatrixFill ( int size,
HYPRE_Int * rows,
HYPRE_Int * cols,
double * values )
inline

Definition at line 334 of file AlephHypre.cc.

◆ AlephMatrixSetFilled()

void Arcane::AlephMatrixHypre::AlephMatrixSetFilled ( bool )
inlinevirtual

Implements Arcane::IAlephMatrix.

Definition at line 320 of file AlephHypre.cc.

◆ AlephMatrixSolve()

int Arcane::AlephMatrixHypre::AlephMatrixSolve ( AlephVector * x,
AlephVector * b,
AlephVector * t,
Integer & nb_iteration,
Real * residual_norm,
AlephParams * solver_param )
inlinevirtual

Implements Arcane::IAlephMatrix.

Definition at line 413 of file AlephHypre.cc.

◆ initSolverBiCGStab()

void Arcane::AlephMatrixHypre::initSolverBiCGStab ( const AlephParams * solver_param,
HYPRE_Solver & solver )
inline

Definition at line 593 of file AlephHypre.cc.

◆ initSolverGMRES()

void Arcane::AlephMatrixHypre::initSolverGMRES ( const AlephParams * solver_param,
HYPRE_Solver & solver )
inline

Definition at line 608 of file AlephHypre.cc.

◆ initSolverPCG()

void Arcane::AlephMatrixHypre::initSolverPCG ( const AlephParams * solver_param,
HYPRE_Solver & solver )
inline

Definition at line 577 of file AlephHypre.cc.

◆ isAlreadySolved()

bool Arcane::AlephMatrixHypre::isAlreadySolved ( AlephVectorHypre * x,
AlephVectorHypre * b,
AlephVectorHypre * tmp,
Real * residual_norm,
AlephParams * params )
inline

Definition at line 350 of file AlephHypre.cc.

◆ setAMGPreconditioner()

void Arcane::AlephMatrixHypre::setAMGPreconditioner ( const TypesSolver::eSolverMethod solver_method,
const HYPRE_Solver & solver,
const AlephParams * solver_param,
HYPRE_Solver & precond )
inline

Definition at line 720 of file AlephHypre.cc.

◆ setDiagonalPreconditioner()

void Arcane::AlephMatrixHypre::setDiagonalPreconditioner ( const TypesSolver::eSolverMethod solver_method,
const HYPRE_Solver & solver,
HYPRE_Solver & precond )
inline

Definition at line 625 of file AlephHypre.cc.

◆ setILUPreconditioner()

void Arcane::AlephMatrixHypre::setILUPreconditioner ( const TypesSolver::eSolverMethod solver_method,
const HYPRE_Solver & solver,
HYPRE_Solver & precond )
inline

Definition at line 656 of file AlephHypre.cc.

◆ setSpaiStatPreconditioner()

void Arcane::AlephMatrixHypre::setSpaiStatPreconditioner ( const TypesSolver::eSolverMethod solver_method,
const HYPRE_Solver & solver,
const AlephParams * solver_param,
HYPRE_Solver & precond )
inline

Definition at line 687 of file AlephHypre.cc.

◆ solveBiCGStab()

bool Arcane::AlephMatrixHypre::solveBiCGStab ( HYPRE_Solver & solver,
HYPRE_ParCSRMatrix & M,
HYPRE_ParVector & B,
HYPRE_ParVector & X,
HYPRE_Int & iteration,
double & residue )
inline

Definition at line 896 of file AlephHypre.cc.

◆ solveGMRES()

bool Arcane::AlephMatrixHypre::solveGMRES ( HYPRE_Solver & solver,
HYPRE_ParCSRMatrix & M,
HYPRE_ParVector & B,
HYPRE_ParVector & X,
HYPRE_Int & iteration,
double & residue )
inline

Definition at line 922 of file AlephHypre.cc.

◆ solvePCG()

bool Arcane::AlephMatrixHypre::solvePCG ( const AlephParams * solver_param,
HYPRE_Solver & solver,
HYPRE_ParCSRMatrix & M,
HYPRE_ParVector & B,
HYPRE_ParVector & X,
HYPRE_Int & iteration,
double & residue )
inline

Definition at line 866 of file AlephHypre.cc.

◆ writeToFile()

void Arcane::AlephMatrixHypre::writeToFile ( const String filename)
inlinevirtual

Implements Arcane::IAlephMatrix.

Definition at line 570 of file AlephHypre.cc.

Member Data Documentation

◆ m_hypre_ijmatrix

HYPRE_IJMatrix Arcane::AlephMatrixHypre::m_hypre_ijmatrix = nullptr
private

Definition at line 946 of file AlephHypre.cc.

◆ m_hypre_parmatrix

HYPRE_ParCSRMatrix Arcane::AlephMatrixHypre::m_hypre_parmatrix = nullptr
private

Definition at line 947 of file AlephHypre.cc.


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