1998-01-07 03:57:39 +08:00
|
|
|
/*BHEADER**********************************************************************
|
|
|
|
|
* (c) 1997 The Regents of the University of California
|
|
|
|
|
*
|
|
|
|
|
* See the file COPYRIGHT_and_DISCLAIMER for a complete copyright
|
|
|
|
|
* notice, contact person, and disclaimer.
|
|
|
|
|
*
|
|
|
|
|
* $Revision$
|
|
|
|
|
*********************************************************************EHEADER*/
|
|
|
|
|
/******************************************************************************
|
|
|
|
|
*
|
1998-02-18 01:56:00 +08:00
|
|
|
* HYPRE_StructGrid interface
|
1998-01-07 03:57:39 +08:00
|
|
|
*
|
|
|
|
|
*****************************************************************************/
|
2000-04-20 05:31:17 +08:00
|
|
|
|
1998-01-07 03:57:39 +08:00
|
|
|
#include "headers.h"
|
|
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------------
|
1999-09-07 15:03:59 +08:00
|
|
|
* HYPRE_StructGridCreate
|
1998-01-07 03:57:39 +08:00
|
|
|
*--------------------------------------------------------------------------*/
|
|
|
|
|
|
1998-12-19 08:46:37 +08:00
|
|
|
int
|
1999-09-07 15:03:59 +08:00
|
|
|
HYPRE_StructGridCreate( MPI_Comm comm,
|
1999-09-01 07:31:24 +08:00
|
|
|
int dim,
|
|
|
|
|
HYPRE_StructGrid *grid )
|
1998-01-07 03:57:39 +08:00
|
|
|
{
|
2000-03-22 00:52:39 +08:00
|
|
|
int ierr;
|
1998-12-19 08:46:37 +08:00
|
|
|
|
2000-04-20 05:31:17 +08:00
|
|
|
ierr = hypre_StructGridCreate(comm, dim, grid);
|
2000-03-22 00:52:39 +08:00
|
|
|
|
|
|
|
|
return ierr;
|
1998-01-07 03:57:39 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------------
|
1999-09-07 15:03:59 +08:00
|
|
|
* HYPRE_StructGridDestroy
|
1998-01-07 03:57:39 +08:00
|
|
|
*--------------------------------------------------------------------------*/
|
|
|
|
|
|
1998-12-22 04:00:10 +08:00
|
|
|
int
|
1999-09-07 15:03:59 +08:00
|
|
|
HYPRE_StructGridDestroy( HYPRE_StructGrid grid )
|
1998-01-07 03:57:39 +08:00
|
|
|
{
|
2000-04-20 05:31:17 +08:00
|
|
|
return ( hypre_StructGridDestroy(grid) );
|
1998-01-07 03:57:39 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*--------------------------------------------------------------------------
|
1999-09-07 15:03:59 +08:00
|
|
|
* HYPRE_StructGridSetExtents
|
1998-01-07 03:57:39 +08:00
|
|
|
*--------------------------------------------------------------------------*/
|
|
|
|
|
|
1998-12-22 04:00:10 +08:00
|
|
|
int
|
1999-09-07 15:03:59 +08:00
|
|
|
HYPRE_StructGridSetExtents( HYPRE_StructGrid grid,
|
1998-02-19 07:45:29 +08:00
|
|
|
int *ilower,
|
|
|
|
|
int *iupper )
|
1998-01-07 03:57:39 +08:00
|
|
|
{
|
1998-02-18 01:56:00 +08:00
|
|
|
hypre_Index new_ilower;
|
|
|
|
|
hypre_Index new_iupper;
|
1998-01-07 03:57:39 +08:00
|
|
|
|
1998-02-19 07:45:29 +08:00
|
|
|
int d;
|
1998-01-07 03:57:39 +08:00
|
|
|
|
1998-03-14 00:56:50 +08:00
|
|
|
hypre_ClearIndex(new_ilower);
|
|
|
|
|
hypre_ClearIndex(new_iupper);
|
1998-02-18 01:56:00 +08:00
|
|
|
for (d = 0; d < hypre_StructGridDim((hypre_StructGrid *) grid); d++)
|
1998-01-07 03:57:39 +08:00
|
|
|
{
|
1998-02-18 01:56:00 +08:00
|
|
|
hypre_IndexD(new_ilower, d) = ilower[d];
|
|
|
|
|
hypre_IndexD(new_iupper, d) = iupper[d];
|
1998-01-07 03:57:39 +08:00
|
|
|
}
|
|
|
|
|
|
2000-04-20 05:31:17 +08:00
|
|
|
return ( hypre_StructGridSetExtents(grid, new_ilower, new_iupper) );
|
1998-01-07 03:57:39 +08:00
|
|
|
}
|
|
|
|
|
|
1999-01-23 06:01:27 +08:00
|
|
|
/*--------------------------------------------------------------------------
|
|
|
|
|
* HYPRE_SetStructGridPeriodicity
|
|
|
|
|
*--------------------------------------------------------------------------*/
|
|
|
|
|
|
|
|
|
|
int
|
1999-09-07 15:03:59 +08:00
|
|
|
HYPRE_StructGridSetPeriodic( HYPRE_StructGrid grid,
|
2000-04-20 05:31:17 +08:00
|
|
|
int *periodic )
|
1999-01-23 06:01:27 +08:00
|
|
|
{
|
|
|
|
|
hypre_Index new_periodic;
|
|
|
|
|
|
|
|
|
|
int d;
|
|
|
|
|
|
|
|
|
|
hypre_ClearIndex(new_periodic);
|
2000-04-20 05:31:17 +08:00
|
|
|
for (d = 0; d < hypre_StructGridDim(grid); d++)
|
1999-01-23 06:01:27 +08:00
|
|
|
{
|
|
|
|
|
hypre_IndexD(new_periodic, d) = periodic[d];
|
|
|
|
|
}
|
|
|
|
|
|
2000-04-20 05:31:17 +08:00
|
|
|
return ( hypre_StructGridSetPeriodic(grid, new_periodic) );
|
1999-01-23 06:01:27 +08:00
|
|
|
}
|
|
|
|
|
|
1998-01-07 03:57:39 +08:00
|
|
|
/*--------------------------------------------------------------------------
|
1999-09-07 15:03:59 +08:00
|
|
|
* HYPRE_StructGridAssemble
|
1998-01-07 03:57:39 +08:00
|
|
|
*--------------------------------------------------------------------------*/
|
|
|
|
|
|
1998-12-22 04:00:10 +08:00
|
|
|
int
|
1999-09-07 15:03:59 +08:00
|
|
|
HYPRE_StructGridAssemble( HYPRE_StructGrid grid )
|
1998-01-07 03:57:39 +08:00
|
|
|
{
|
2000-04-20 05:31:17 +08:00
|
|
|
return ( hypre_StructGridAssemble(grid) );
|
1998-01-07 03:57:39 +08:00
|
|
|
}
|