Use the new generic user interface to Krylov solvers. Most functions
like HYPRE_StructGMRESSetTol (all but Create and Destroy) are now obsolete, and for backwards compatibility now simply call function like Hypre_GMRESSetTol, etc.
This commit is contained in:
parent
b2fd731cd9
commit
889880a69c
@ -97,10 +97,7 @@ HYPRE_StructGMRESSetup( HYPRE_StructSolver solver,
|
||||
HYPRE_StructVector b,
|
||||
HYPRE_StructVector x )
|
||||
{
|
||||
return( hypre_GMRESSetup( (void *) solver,
|
||||
(void *) A,
|
||||
(void *) b,
|
||||
(void *) x ) );
|
||||
return( HYPRE_GMRESSetup( solver, A, b, x ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -130,10 +127,7 @@ HYPRE_StructGMRESSolve( HYPRE_StructSolver solver,
|
||||
HYPRE_StructVector b,
|
||||
HYPRE_StructVector x )
|
||||
{
|
||||
return( hypre_GMRESSolve( (void *) solver,
|
||||
(void *) A,
|
||||
(void *) b,
|
||||
(void *) x ) );
|
||||
return( HYPRE_GMRESSolve( solver, A, b, x ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -157,7 +151,7 @@ int
|
||||
HYPRE_StructGMRESSetTol( HYPRE_StructSolver solver,
|
||||
double tol )
|
||||
{
|
||||
return( hypre_GMRESSetTol( (void *) solver, tol ) );
|
||||
return( HYPRE_GMRESSetTol( solver, tol ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -181,7 +175,7 @@ int
|
||||
HYPRE_StructGMRESSetMaxIter( HYPRE_StructSolver solver,
|
||||
int max_iter )
|
||||
{
|
||||
return( hypre_GMRESSetMaxIter( (void *) solver, max_iter ) );
|
||||
return( HYPRE_GMRESSetMaxIter( solver, max_iter ) );
|
||||
}
|
||||
|
||||
|
||||
@ -213,9 +207,9 @@ HYPRE_StructGMRESSetPrecond( HYPRE_StructSolver solver,
|
||||
HYPRE_PtrToStructSolverFcn precond_setup,
|
||||
HYPRE_StructSolver precond_solver )
|
||||
{
|
||||
return( hypre_GMRESSetPrecond( (void *) solver,
|
||||
return( HYPRE_GMRESSetPrecond( solver,
|
||||
precond, precond_setup,
|
||||
(void *) precond_solver ) );
|
||||
precond_solver ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -241,7 +235,7 @@ int
|
||||
HYPRE_StructGMRESSetLogging( HYPRE_StructSolver solver,
|
||||
int logging )
|
||||
{
|
||||
return( hypre_GMRESSetLogging( (void *) solver, logging ) );
|
||||
return( HYPRE_GMRESSetLogging( solver, logging ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -265,7 +259,7 @@ int
|
||||
HYPRE_StructGMRESGetNumIterations( HYPRE_StructSolver solver,
|
||||
int *num_iterations )
|
||||
{
|
||||
return( hypre_GMRESGetNumIterations( (void *) solver, num_iterations ) );
|
||||
return( HYPRE_GMRESGetNumIterations( solver, num_iterations ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -289,7 +283,7 @@ int
|
||||
HYPRE_StructGMRESGetFinalRelativeResidualNorm( HYPRE_StructSolver solver,
|
||||
double *norm )
|
||||
{
|
||||
return( hypre_GMRESGetFinalRelativeResidualNorm( (void *) solver, norm ) );
|
||||
return( HYPRE_GMRESGetFinalRelativeResidualNorm( solver, norm ) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -44,11 +44,30 @@ extern "C" {
|
||||
**/
|
||||
/*@{*/
|
||||
|
||||
struct hypre_StructSolver_struct;
|
||||
/*struct hypre_StructSolver_struct;*/
|
||||
/**
|
||||
* The solver object.
|
||||
**/
|
||||
typedef struct hypre_StructSolver_struct *HYPRE_StructSolver;
|
||||
|
||||
/*typedef struct hypre_StructSolver_struct *HYPRE_StructSolver;*/
|
||||
|
||||
#ifndef HYPRE_SOLVER_STRUCT
|
||||
#define HYPRE_SOLVER_STRUCT
|
||||
struct hypre_Solver_struct;
|
||||
typedef struct hypre_Solver_struct *HYPRE_Solver;
|
||||
#endif
|
||||
#ifndef HYPRE_MATRIX_STRUCT
|
||||
#define HYPRE_MATRIX_STRUCT
|
||||
struct hypre_Matrix_struct;
|
||||
typedef struct hypre_Matrix_struct *HYPRE_Matrix;
|
||||
#endif
|
||||
#ifndef HYPRE_VECTOR_STRUCT
|
||||
#define HYPRE_VECTOR_STRUCT
|
||||
struct hypre_Vector_struct;
|
||||
typedef struct hypre_Vector_struct *HYPRE_Vector;
|
||||
#endif
|
||||
|
||||
typedef struct hypre_Solver_struct *HYPRE_StructSolver;
|
||||
|
||||
typedef int (*HYPRE_PtrToStructSolverFcn)(HYPRE_StructSolver,
|
||||
HYPRE_StructMatrix,
|
||||
|
||||
@ -99,10 +99,7 @@ HYPRE_StructPCGSetup( HYPRE_StructSolver solver,
|
||||
HYPRE_StructVector b,
|
||||
HYPRE_StructVector x )
|
||||
{
|
||||
return( hypre_PCGSetup( (void *) solver,
|
||||
(void *) A,
|
||||
(void *) b,
|
||||
(void *) x ) );
|
||||
return( HYPRE_PCGSetup( solver, A, b, x ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -132,10 +129,7 @@ HYPRE_StructPCGSolve( HYPRE_StructSolver solver,
|
||||
HYPRE_StructVector b,
|
||||
HYPRE_StructVector x )
|
||||
{
|
||||
return( hypre_PCGSolve( (void *) solver,
|
||||
(void *) A,
|
||||
(void *) b,
|
||||
(void *) x ) );
|
||||
return( HYPRE_PCGSolve( solver, A, b, x ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -159,7 +153,7 @@ int
|
||||
HYPRE_StructPCGSetTol( HYPRE_StructSolver solver,
|
||||
double tol )
|
||||
{
|
||||
return( hypre_PCGSetTol( (void *) solver, tol ) );
|
||||
return( HYPRE_PCGSetTol( solver, tol ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -183,7 +177,7 @@ int
|
||||
HYPRE_StructPCGSetMaxIter( HYPRE_StructSolver solver,
|
||||
int max_iter )
|
||||
{
|
||||
return( hypre_PCGSetMaxIter( (void *) solver, max_iter ) );
|
||||
return( HYPRE_PCGSetMaxIter( solver, max_iter ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -209,7 +203,7 @@ int
|
||||
HYPRE_StructPCGSetTwoNorm( HYPRE_StructSolver solver,
|
||||
int two_norm )
|
||||
{
|
||||
return( hypre_PCGSetTwoNorm( (void *) solver, two_norm ) );
|
||||
return( HYPRE_PCGSetTwoNorm( solver, two_norm ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -235,7 +229,7 @@ int
|
||||
HYPRE_StructPCGSetRelChange( HYPRE_StructSolver solver,
|
||||
int rel_change )
|
||||
{
|
||||
return( hypre_PCGSetRelChange( (void *) solver, rel_change ) );
|
||||
return( HYPRE_PCGSetRelChange( solver, rel_change ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -266,9 +260,9 @@ HYPRE_StructPCGSetPrecond( HYPRE_StructSolver solver,
|
||||
HYPRE_PtrToStructSolverFcn precond_setup,
|
||||
HYPRE_StructSolver precond_solver )
|
||||
{
|
||||
return( hypre_PCGSetPrecond( (void *) solver,
|
||||
return( HYPRE_PCGSetPrecond( solver,
|
||||
precond, precond_setup,
|
||||
(void *) precond_solver ) );
|
||||
precond_solver ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -294,7 +288,7 @@ int
|
||||
HYPRE_StructPCGSetLogging( HYPRE_StructSolver solver,
|
||||
int logging )
|
||||
{
|
||||
return( hypre_PCGSetLogging( (void *) solver, logging ) );
|
||||
return( HYPRE_PCGSetLogging( solver, logging ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -318,7 +312,7 @@ int
|
||||
HYPRE_StructPCGGetNumIterations( HYPRE_StructSolver solver,
|
||||
int *num_iterations )
|
||||
{
|
||||
return( hypre_PCGGetNumIterations( (void *) solver, num_iterations ) );
|
||||
return( HYPRE_PCGGetNumIterations( solver, num_iterations ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -342,7 +336,7 @@ int
|
||||
HYPRE_StructPCGGetFinalRelativeResidualNorm( HYPRE_StructSolver solver,
|
||||
double *norm )
|
||||
{
|
||||
return( hypre_PCGGetFinalRelativeResidualNorm( (void *) solver, norm ) );
|
||||
return( HYPRE_PCGGetFinalRelativeResidualNorm( solver, norm ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
|
||||
@ -74,9 +74,9 @@ hypre_StructKrylovCreateVectorArray(int n, void *vvector )
|
||||
{
|
||||
HYPRE_StructVectorCreate(hypre_StructVectorComm(vector),
|
||||
hypre_StructVectorGrid(vector),
|
||||
&new_vector[i]);
|
||||
HYPRE_StructVectorInitialize(new_vector[i]);
|
||||
HYPRE_StructVectorAssemble(new_vector[i]);
|
||||
(HYPRE_StructVector *) &new_vector[i] );
|
||||
HYPRE_StructVectorInitialize((HYPRE_StructVector) new_vector[i]);
|
||||
HYPRE_StructVectorAssemble((HYPRE_StructVector) new_vector[i]);
|
||||
}
|
||||
|
||||
return ( (void *) new_vector );
|
||||
|
||||
@ -97,10 +97,7 @@ HYPRE_StructGMRESSetup( HYPRE_StructSolver solver,
|
||||
HYPRE_StructVector b,
|
||||
HYPRE_StructVector x )
|
||||
{
|
||||
return( hypre_GMRESSetup( (void *) solver,
|
||||
(void *) A,
|
||||
(void *) b,
|
||||
(void *) x ) );
|
||||
return( HYPRE_GMRESSetup( solver, A, b, x ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -130,10 +127,7 @@ HYPRE_StructGMRESSolve( HYPRE_StructSolver solver,
|
||||
HYPRE_StructVector b,
|
||||
HYPRE_StructVector x )
|
||||
{
|
||||
return( hypre_GMRESSolve( (void *) solver,
|
||||
(void *) A,
|
||||
(void *) b,
|
||||
(void *) x ) );
|
||||
return( HYPRE_GMRESSolve( solver, A, b, x ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -157,7 +151,7 @@ int
|
||||
HYPRE_StructGMRESSetTol( HYPRE_StructSolver solver,
|
||||
double tol )
|
||||
{
|
||||
return( hypre_GMRESSetTol( (void *) solver, tol ) );
|
||||
return( HYPRE_GMRESSetTol( solver, tol ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -181,7 +175,7 @@ int
|
||||
HYPRE_StructGMRESSetMaxIter( HYPRE_StructSolver solver,
|
||||
int max_iter )
|
||||
{
|
||||
return( hypre_GMRESSetMaxIter( (void *) solver, max_iter ) );
|
||||
return( HYPRE_GMRESSetMaxIter( solver, max_iter ) );
|
||||
}
|
||||
|
||||
|
||||
@ -213,9 +207,9 @@ HYPRE_StructGMRESSetPrecond( HYPRE_StructSolver solver,
|
||||
HYPRE_PtrToStructSolverFcn precond_setup,
|
||||
HYPRE_StructSolver precond_solver )
|
||||
{
|
||||
return( hypre_GMRESSetPrecond( (void *) solver,
|
||||
return( HYPRE_GMRESSetPrecond( solver,
|
||||
precond, precond_setup,
|
||||
(void *) precond_solver ) );
|
||||
precond_solver ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -241,7 +235,7 @@ int
|
||||
HYPRE_StructGMRESSetLogging( HYPRE_StructSolver solver,
|
||||
int logging )
|
||||
{
|
||||
return( hypre_GMRESSetLogging( (void *) solver, logging ) );
|
||||
return( HYPRE_GMRESSetLogging( solver, logging ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -265,7 +259,7 @@ int
|
||||
HYPRE_StructGMRESGetNumIterations( HYPRE_StructSolver solver,
|
||||
int *num_iterations )
|
||||
{
|
||||
return( hypre_GMRESGetNumIterations( (void *) solver, num_iterations ) );
|
||||
return( HYPRE_GMRESGetNumIterations( solver, num_iterations ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -289,7 +283,7 @@ int
|
||||
HYPRE_StructGMRESGetFinalRelativeResidualNorm( HYPRE_StructSolver solver,
|
||||
double *norm )
|
||||
{
|
||||
return( hypre_GMRESGetFinalRelativeResidualNorm( (void *) solver, norm ) );
|
||||
return( HYPRE_GMRESGetFinalRelativeResidualNorm( solver, norm ) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -44,11 +44,30 @@ extern "C" {
|
||||
**/
|
||||
/*@{*/
|
||||
|
||||
struct hypre_StructSolver_struct;
|
||||
/*struct hypre_StructSolver_struct;*/
|
||||
/**
|
||||
* The solver object.
|
||||
**/
|
||||
typedef struct hypre_StructSolver_struct *HYPRE_StructSolver;
|
||||
|
||||
/*typedef struct hypre_StructSolver_struct *HYPRE_StructSolver;*/
|
||||
|
||||
#ifndef HYPRE_SOLVER_STRUCT
|
||||
#define HYPRE_SOLVER_STRUCT
|
||||
struct hypre_Solver_struct;
|
||||
typedef struct hypre_Solver_struct *HYPRE_Solver;
|
||||
#endif
|
||||
#ifndef HYPRE_MATRIX_STRUCT
|
||||
#define HYPRE_MATRIX_STRUCT
|
||||
struct hypre_Matrix_struct;
|
||||
typedef struct hypre_Matrix_struct *HYPRE_Matrix;
|
||||
#endif
|
||||
#ifndef HYPRE_VECTOR_STRUCT
|
||||
#define HYPRE_VECTOR_STRUCT
|
||||
struct hypre_Vector_struct;
|
||||
typedef struct hypre_Vector_struct *HYPRE_Vector;
|
||||
#endif
|
||||
|
||||
typedef struct hypre_Solver_struct *HYPRE_StructSolver;
|
||||
|
||||
typedef int (*HYPRE_PtrToStructSolverFcn)(HYPRE_StructSolver,
|
||||
HYPRE_StructMatrix,
|
||||
|
||||
@ -99,10 +99,7 @@ HYPRE_StructPCGSetup( HYPRE_StructSolver solver,
|
||||
HYPRE_StructVector b,
|
||||
HYPRE_StructVector x )
|
||||
{
|
||||
return( hypre_PCGSetup( (void *) solver,
|
||||
(void *) A,
|
||||
(void *) b,
|
||||
(void *) x ) );
|
||||
return( HYPRE_PCGSetup( solver, A, b, x ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -132,10 +129,7 @@ HYPRE_StructPCGSolve( HYPRE_StructSolver solver,
|
||||
HYPRE_StructVector b,
|
||||
HYPRE_StructVector x )
|
||||
{
|
||||
return( hypre_PCGSolve( (void *) solver,
|
||||
(void *) A,
|
||||
(void *) b,
|
||||
(void *) x ) );
|
||||
return( HYPRE_PCGSolve( solver, A, b, x ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -159,7 +153,7 @@ int
|
||||
HYPRE_StructPCGSetTol( HYPRE_StructSolver solver,
|
||||
double tol )
|
||||
{
|
||||
return( hypre_PCGSetTol( (void *) solver, tol ) );
|
||||
return( HYPRE_PCGSetTol( solver, tol ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -183,7 +177,7 @@ int
|
||||
HYPRE_StructPCGSetMaxIter( HYPRE_StructSolver solver,
|
||||
int max_iter )
|
||||
{
|
||||
return( hypre_PCGSetMaxIter( (void *) solver, max_iter ) );
|
||||
return( HYPRE_PCGSetMaxIter( solver, max_iter ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -209,7 +203,7 @@ int
|
||||
HYPRE_StructPCGSetTwoNorm( HYPRE_StructSolver solver,
|
||||
int two_norm )
|
||||
{
|
||||
return( hypre_PCGSetTwoNorm( (void *) solver, two_norm ) );
|
||||
return( HYPRE_PCGSetTwoNorm( solver, two_norm ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -235,7 +229,7 @@ int
|
||||
HYPRE_StructPCGSetRelChange( HYPRE_StructSolver solver,
|
||||
int rel_change )
|
||||
{
|
||||
return( hypre_PCGSetRelChange( (void *) solver, rel_change ) );
|
||||
return( HYPRE_PCGSetRelChange( solver, rel_change ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -266,9 +260,9 @@ HYPRE_StructPCGSetPrecond( HYPRE_StructSolver solver,
|
||||
HYPRE_PtrToStructSolverFcn precond_setup,
|
||||
HYPRE_StructSolver precond_solver )
|
||||
{
|
||||
return( hypre_PCGSetPrecond( (void *) solver,
|
||||
return( HYPRE_PCGSetPrecond( solver,
|
||||
precond, precond_setup,
|
||||
(void *) precond_solver ) );
|
||||
precond_solver ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -294,7 +288,7 @@ int
|
||||
HYPRE_StructPCGSetLogging( HYPRE_StructSolver solver,
|
||||
int logging )
|
||||
{
|
||||
return( hypre_PCGSetLogging( (void *) solver, logging ) );
|
||||
return( HYPRE_PCGSetLogging( solver, logging ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -318,7 +312,7 @@ int
|
||||
HYPRE_StructPCGGetNumIterations( HYPRE_StructSolver solver,
|
||||
int *num_iterations )
|
||||
{
|
||||
return( hypre_PCGGetNumIterations( (void *) solver, num_iterations ) );
|
||||
return( HYPRE_PCGGetNumIterations( solver, num_iterations ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
@ -342,7 +336,7 @@ int
|
||||
HYPRE_StructPCGGetFinalRelativeResidualNorm( HYPRE_StructSolver solver,
|
||||
double *norm )
|
||||
{
|
||||
return( hypre_PCGGetFinalRelativeResidualNorm( (void *) solver, norm ) );
|
||||
return( HYPRE_PCGGetFinalRelativeResidualNorm( solver, norm ) );
|
||||
}
|
||||
|
||||
/*==========================================================================*/
|
||||
|
||||
@ -74,9 +74,9 @@ hypre_StructKrylovCreateVectorArray(int n, void *vvector )
|
||||
{
|
||||
HYPRE_StructVectorCreate(hypre_StructVectorComm(vector),
|
||||
hypre_StructVectorGrid(vector),
|
||||
&new_vector[i]);
|
||||
HYPRE_StructVectorInitialize(new_vector[i]);
|
||||
HYPRE_StructVectorAssemble(new_vector[i]);
|
||||
(HYPRE_StructVector *) &new_vector[i] );
|
||||
HYPRE_StructVectorInitialize((HYPRE_StructVector) new_vector[i]);
|
||||
HYPRE_StructVectorAssemble((HYPRE_StructVector) new_vector[i]);
|
||||
}
|
||||
|
||||
return ( (void *) new_vector );
|
||||
|
||||
Loading…
Reference in New Issue
Block a user