hypre/struct_ls/HYPRE_struct_hybrid.c
falgout ad9a961eb7 Removed pthreads port of Struct codes (and PTHREADS_MANGLING stuff from
Makefiles).  To be re-added later (possibly) in a cleaner form.
Added DOC++ reference comments to Struct '.h' files.
Changed names of Struct include and lib files.
Removed 'stencil' argument from interface for StructVectorCreate.
2000-08-28 22:21:33 +00:00

206 lines
7.3 KiB
C

/*BHEADER**********************************************************************
* (c) 1999 The Regents of the University of California
*
* See the file COPYRIGHT_and_DISCLAIMER for a complete copyright
* notice, contact person, and disclaimer.
*
* $Revision$
*********************************************************************EHEADER*/
/******************************************************************************
*
*
*****************************************************************************/
#include "headers.h"
/*--------------------------------------------------------------------------
* HYPRE_StructHybridCreate
*--------------------------------------------------------------------------*/
int
HYPRE_StructHybridCreate( MPI_Comm comm, HYPRE_StructSolver *solver )
{
*solver = ( (HYPRE_StructSolver) hypre_HybridCreate( comm ) );
return 0;
}
/*--------------------------------------------------------------------------
* HYPRE_StructHybridDestroy
*--------------------------------------------------------------------------*/
int
HYPRE_StructHybridDestroy( HYPRE_StructSolver solver )
{
return( hypre_HybridDestroy( (void *) solver ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructHybridSetup
*--------------------------------------------------------------------------*/
int
HYPRE_StructHybridSetup( HYPRE_StructSolver solver,
HYPRE_StructMatrix A,
HYPRE_StructVector b,
HYPRE_StructVector x )
{
return( hypre_HybridSetup( (void *) solver,
(hypre_StructMatrix *) A,
(hypre_StructVector *) b,
(hypre_StructVector *) x ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructHybridSolve
*--------------------------------------------------------------------------*/
int
HYPRE_StructHybridSolve( HYPRE_StructSolver solver,
HYPRE_StructMatrix A,
HYPRE_StructVector b,
HYPRE_StructVector x )
{
return( hypre_HybridSolve( (void *) solver,
(hypre_StructMatrix *) A,
(hypre_StructVector *) b,
(hypre_StructVector *) x ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructHybridSetTol
*--------------------------------------------------------------------------*/
int
HYPRE_StructHybridSetTol( HYPRE_StructSolver solver,
double tol )
{
return( hypre_HybridSetTol( (void *) solver, tol ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructHybridSetConvergenceTol
*--------------------------------------------------------------------------*/
int
HYPRE_StructHybridSetConvergenceTol( HYPRE_StructSolver solver,
double cf_tol )
{
return( hypre_HybridSetConvergenceTol( (void *) solver, cf_tol ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructHybridSetDSCGMaxIter
*--------------------------------------------------------------------------*/
int
HYPRE_StructHybridSetDSCGMaxIter( HYPRE_StructSolver solver,
int dscg_max_its )
{
return( hypre_HybridSetDSCGMaxIter( (void *) solver, dscg_max_its ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructHybridSetPCGMaxIter
*--------------------------------------------------------------------------*/
int
HYPRE_StructHybridSetPCGMaxIter( HYPRE_StructSolver solver,
int pcg_max_its )
{
return( hypre_HybridSetPCGMaxIter( (void *) solver, pcg_max_its ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructHybridSetTwoNorm
*--------------------------------------------------------------------------*/
int
HYPRE_StructHybridSetTwoNorm( HYPRE_StructSolver solver,
int two_norm )
{
return( hypre_HybridSetTwoNorm( (void *) solver, two_norm ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructHybridSetRelChange
*--------------------------------------------------------------------------*/
int
HYPRE_StructHybridSetRelChange( HYPRE_StructSolver solver,
int rel_change )
{
return( hypre_HybridSetRelChange( (void *) solver, rel_change ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructHybridSetPrecond
*--------------------------------------------------------------------------*/
int
HYPRE_StructHybridSetPrecond( HYPRE_StructSolver solver,
HYPRE_PtrToStructSolverFcn precond,
HYPRE_PtrToStructSolverFcn precond_setup,
HYPRE_StructSolver precond_solver )
{
return( hypre_HybridSetPrecond( (void *) solver,
precond, precond_setup,
(void *) precond_solver ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructHybridSetLogging
*--------------------------------------------------------------------------*/
int
HYPRE_StructHybridSetLogging( HYPRE_StructSolver solver,
int logging )
{
return( hypre_HybridSetLogging( (void *) solver, logging ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructHybridGetNumIterations
*--------------------------------------------------------------------------*/
int
HYPRE_StructHybridGetNumIterations( HYPRE_StructSolver solver,
int *num_its )
{
return( hypre_HybridGetNumIterations( (void *) solver, num_its ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructHybridGetDSCGNumIterations
*--------------------------------------------------------------------------*/
int
HYPRE_StructHybridGetDSCGNumIterations( HYPRE_StructSolver solver,
int *dscg_num_its )
{
return( hypre_HybridGetDSCGNumIterations( (void *) solver, dscg_num_its ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructHybridGetPCGNumIterations
*--------------------------------------------------------------------------*/
int
HYPRE_StructHybridGetPCGNumIterations( HYPRE_StructSolver solver,
int *pcg_num_its )
{
return( hypre_HybridGetPCGNumIterations( (void *) solver, pcg_num_its ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructHybridGetFinalRelativeResidualNorm
*--------------------------------------------------------------------------*/
int
HYPRE_StructHybridGetFinalRelativeResidualNorm( HYPRE_StructSolver solver,
double *norm )
{
return( hypre_HybridGetFinalRelativeResidualNorm( (void *) solver, norm ) );
}