hypre/struct_ls/F90_HYPRE_struct_pfmg.c
falgout c4ae5f02f8 Changed fortran interface port to (hopefully) support CRAY fortran
compilers and any other fortran compilers that mangle subroutine
names using all caps.
2000-10-09 22:32:34 +00:00

237 lines
9.4 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"
#include "fortran.h"
/*--------------------------------------------------------------------------
* HYPRE_StructPFMGCreate
*--------------------------------------------------------------------------*/
void
hypre_F90_IFACE(hypre_structpfmgcreate, HYPRE_STRUCTPFMGCREATE)( int *comm,
long int *solver,
int *ierr )
{
*ierr = (int)
( HYPRE_StructPFMGCreate( (MPI_Comm) *comm,
(HYPRE_StructSolver *) solver ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructPFMGDestroy
*--------------------------------------------------------------------------*/
void
hypre_F90_IFACE(hypre_structpfmgdestroy, HYPRE_STRUCTPFMGDESTROY)( long int *solver,
int *ierr )
{
*ierr = (int) ( HYPRE_StructPFMGDestroy( (HYPRE_StructSolver) *solver ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructPFMGSetup
*--------------------------------------------------------------------------*/
void
hypre_F90_IFACE(hypre_structpfmgsetup, HYPRE_STRUCTPFMGSETUP)( long int *solver,
long int *A,
long int *b,
long int *x,
int *ierr )
{
*ierr = (int) ( HYPRE_StructPFMGSetup( (HYPRE_StructSolver) *solver,
(HYPRE_StructMatrix) *A,
(HYPRE_StructVector) *b,
(HYPRE_StructVector) *x ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructPFMGSolve
*--------------------------------------------------------------------------*/
void
hypre_F90_IFACE(hypre_structpfmgsolve, HYPRE_STRUCTPFMGSOLVE)( long int *solver,
long int *A,
long int *b,
long int *x,
int *ierr )
{
*ierr = (int) ( HYPRE_StructPFMGSolve( (HYPRE_StructSolver) *solver,
(HYPRE_StructMatrix) *A,
(HYPRE_StructVector) *b,
(HYPRE_StructVector) *x ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructPFMGSetTol
*--------------------------------------------------------------------------*/
void
hypre_F90_IFACE(hypre_structpfmgsettol, HYPRE_STRUCTPFMGSETTOL)( long int *solver,
double *tol,
int *ierr )
{
*ierr = (int) ( HYPRE_StructPFMGSetTol( (HYPRE_StructSolver) *solver,
(double) *tol ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructPFMGSetMaxIter
*--------------------------------------------------------------------------*/
void
hypre_F90_IFACE(hypre_structpfmgsetmaxiter, HYPRE_STRUCTPFMGSETMAXITER)( long int *solver,
int *max_iter,
int *ierr )
{
*ierr = (int)
( HYPRE_StructPFMGSetMaxIter( (HYPRE_StructSolver) *solver,
(int) *max_iter ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructPFMGSetRelChange
*--------------------------------------------------------------------------*/
void
hypre_F90_IFACE(hypre_structpfmgsetrelchange, HYPRE_STRUCTPFMGSETRELCHANGE)( long int *solver,
int *rel_change,
int *ierr )
{
*ierr = (int)
( HYPRE_StructPFMGSetRelChange( (HYPRE_StructSolver) *solver,
(int) *rel_change ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructPFMGSetZeroGuess
*--------------------------------------------------------------------------*/
void
hypre_F90_IFACE(hypre_structpfmgsetzeroguess, HYPRE_STRUCTPFMGSETZEROGUESS)( long int *solver,
int *ierr )
{
*ierr = (int)
( HYPRE_StructPFMGSetZeroGuess( (HYPRE_StructSolver) *solver ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructPFMGSetNonZeroGuess
*--------------------------------------------------------------------------*/
void
hypre_F90_IFACE(hypre_structpfmgsetnonzeroguess, HYPRE_STRUCTPFMGSETNONZEROGUESS)( long int *solver,
int *ierr )
{
*ierr = (int)
( HYPRE_StructPFMGSetNonZeroGuess( (HYPRE_StructSolver) *solver ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructPFMGSetRelaxType
*--------------------------------------------------------------------------*/
void
hypre_F90_IFACE(hypre_structpfmgsetrelaxtype, HYPRE_STRUCTPFMGSETRELAXTYPE)( long int *solver,
int *relax_type,
int *ierr )
{
*ierr = (int)
( HYPRE_StructPFMGSetRelaxType( (HYPRE_StructSolver) *solver,
(int) *relax_type ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructPFMGSetNumPreRelax
*--------------------------------------------------------------------------*/
void
hypre_F90_IFACE(hypre_structpfmgsetnumprerelax, HYPRE_STRUCTPFMGSETNUMPRERELAX)( long int *solver,
int *num_pre_relax,
int *ierr )
{
*ierr = (int)
( HYPRE_StructPFMGSetNumPreRelax(
(HYPRE_StructSolver) *solver,
(int) *num_pre_relax ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructPFMGSetNumPostRelax
*--------------------------------------------------------------------------*/
void
hypre_F90_IFACE(hypre_structpfmgsetnumpostrelax, HYPRE_STRUCTPFMGSETNUMPOSTRELAX)( long int *solver,
int *num_post_relax,
int *ierr )
{
*ierr = (int)
( HYPRE_StructPFMGSetNumPostRelax(
(HYPRE_StructSolver) *solver,
(int) *num_post_relax ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructPFMGSetDxyz
*--------------------------------------------------------------------------*/
void
hypre_F90_IFACE(hypre_structpfmgsetdxyz, HYPRE_STRUCTPFMGSETDXYZ)( long int *solver,
double *dxyz,
int *ierr )
{
*ierr = (int) ( HYPRE_StructPFMGSetDxyz( (HYPRE_StructSolver) *solver,
(double *) dxyz ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructPFMGSetLogging
*--------------------------------------------------------------------------*/
void
hypre_F90_IFACE(hypre_structpfmgsetlogging, HYPRE_STRUCTPFMGSETLOGGING)( long int *solver,
int *logging,
int *ierr )
{
*ierr = (int)
( HYPRE_StructPFMGSetLogging( (HYPRE_StructSolver) *solver,
(int) *logging ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructPFMGGetNumIterations
*--------------------------------------------------------------------------*/
void
hypre_F90_IFACE(hypre_structpfmggetnumiteration, HYPRE_STRUCTPFMGGETNUMITERATION)( long int *solver,
int *num_iterations,
int *ierr )
{
*ierr = (int)
( HYPRE_StructPFMGGetNumIterations(
(HYPRE_StructSolver) *solver,
(int *) num_iterations ) );
}
/*--------------------------------------------------------------------------
* HYPRE_StructPFMGGetFinalRelativeResidualNorm
*--------------------------------------------------------------------------*/
void
hypre_F90_IFACE(hypre_structpfmggetfinalrelativ, HYPRE_STRUCTPFMGGETFINALRELATIV)( long int *solver,
double *norm,
int *ierr )
{
*ierr = (int)
( HYPRE_StructPFMGGetFinalRelativeResidualNorm(
(HYPRE_StructSolver) *solver,
(double *) norm ) );
}