70 lines
2.4 KiB
C
70 lines
2.4 KiB
C
/*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*/
|
|
/******************************************************************************
|
|
*
|
|
* Header info for the hypre_StructVector structures
|
|
*
|
|
*****************************************************************************/
|
|
|
|
#ifndef hypre_STENCIL_INTERFACE_VECTOR_HEADER
|
|
#define hypre_STENCIL_INTERFACE_VECTOR_HEADER
|
|
|
|
|
|
/*--------------------------------------------------------------------------
|
|
* hypre_StructInterfaceVector:
|
|
*--------------------------------------------------------------------------*/
|
|
|
|
typedef struct
|
|
{
|
|
MPI_Comm context;
|
|
|
|
hypre_StructGrid *grid;
|
|
hypre_StructStencil *stencil;
|
|
|
|
int retrieval_on;
|
|
|
|
int storage_type;
|
|
void *translator;
|
|
void *data;
|
|
void *auxiliary_data;
|
|
|
|
} hypre_StructInterfaceVector;
|
|
|
|
/*--------------------------------------------------------------------------
|
|
* Accessor macros: hypre_StructInterfaceVector
|
|
*--------------------------------------------------------------------------*/
|
|
|
|
#define hypre_StructInterfaceVectorContext(vector) ((vector) -> context)
|
|
#define hypre_StructInterfaceVectorStructGrid(vector) ((vector) -> grid)
|
|
#define hypre_StructInterfaceVectorStructStencil(vector) ((vector) -> stencil)
|
|
#define hypre_StructInterfaceVectorRetrievalOn(vector) ((vector) -> retrieval_on)
|
|
|
|
#define hypre_StructInterfaceVectorStorageType(vector) ((vector) -> storage_type)
|
|
#define hypre_StructInterfaceVectorTranslator(vector) ((vector) -> translator)
|
|
#define hypre_StructInterfaceVectorData(vector) ((vector) -> data)
|
|
#define hypre_StructInterfaceVectorAuxData(vector) ((vector) -> auxiliary_data)
|
|
|
|
/*--------------------------------------------------------------------------
|
|
* Auxiliary Data Structure definitions
|
|
*--------------------------------------------------------------------------*/
|
|
|
|
/* PETSc Matrix */
|
|
|
|
typedef struct
|
|
{
|
|
double *VecArray;
|
|
} hypre_StructInterfaceVectorPETScAD;
|
|
|
|
#define hypre_StructInterfaceVectorVecArray(vector) \
|
|
(( (hypre_StructInterfaceVectorPETScAD *) hypre_StructInterfaceVectorAuxData(vector)) -> \
|
|
VecArray)
|
|
|
|
|
|
#endif
|