SPModel: libSPModel/src/types.h Source File
VPAC - Computational Software Development
Main | SPModel | StGermain FrameWork |
Main Page | Alphabetical List | Class List | Directories | File List | Class Members | File Members

types.h

Go to the documentation of this file.
00001 /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00002 **
00003 ** Copyright (C), 2004, Victorian Partnership for Advanced Computing (VPAC) Ltd, 110 Victoria Street, Melbourne, 3053, Australia.
00004 **
00005 ** Authors:
00006 **  Ogar R. Widjaja, Computational Scientist, VPAC.
00007 **  Raquibul Hassan, Software Engineer, VPAC. (raq@vpac.org)
00008 **  Keith Hsuan, Computational Scientist, VPAC (keith@vpac.org)
00009 **  William F. Appelbe, Director, VPAC. (bill@vpac.org)
00010 **  Stevan M. Quenette, Senior Software Engineer, VPAC. (steve@vpac.org)
00011 **  Patrick D. Sunter, Software Engineer, VPAC. (patrick@vpac.org)
00012 **
00013 ** This file may be distributed under the terms of the VPAC Public License
00014 ** as defined by VPAC of Australia and appearing in the file
00015 ** LICENSE.VPL included in the packaging of this file.
00016 **
00017 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00018 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00019 **
00020 */
00034 #ifndef __SPModel_types_h__
00035 #define __SPModel_types_h__
00036 
00037     /* Defines */
00038     #ifndef INFINITY
00039         #define INFINITY 1e32
00040     #endif
00041     #define TRUE         1
00042     #define FALSE        0
00043     #define UNDEFINED   -1
00044     #define OUTPUT_PATH_SIZE 500
00045     #define PI 3.1415926535897932384626
00046     #define MASTER_PROC 0
00047 
00048     /* defining Comm tags */
00049     
00050     #define MY_LOAD_TAG 1<<1
00051     #define PACKAGE_TAG 1<<2
00052     #define NEIGHBOUR_TAG 1<<3
00053     #define SIDE_TAG 1<<4
00054     #define PROVIDERS_TAG 1<<5
00055     #define HALONODE_COUNT_TAG 1<<6
00056     #define HALO_PACKAGE_TAG 1<<7
00057     #define FOREIGN_HALONODE_COUNT_TAG 1<<8
00058     #define FOREIGN_HALONODE_ID_TAG 1<<9
00059     #define PROVIDERS_SYNC_TAG 1<<10
00060     #define WATERSEDI_TAG 1<<11
00061     #define FLEXURE_SEND_RECV_TAG 1<<12
00062 
00063     extern const char* MESH_TYPE_AUTOGENERATED;
00064     extern const char* MESH_TYPE_FROM_TEXT_INPUT;
00065     extern const char* MESH_TYPE_FROM_ENVI_INPUT;
00066     extern const char* MESH_TYPE_FROM_SPM_INPUT;
00067     extern const char* MESH_TYPE_FROM_OUTPUT_FILES;
00068 
00069     /* Types */
00070     typedef struct SPModel_Node                 SPModel_Node;
00071     typedef struct SPModel_RegularMeshNode      SPModel_RegularMeshNode;
00072     typedef struct SurfaceMesh                  SurfaceMesh;
00073     typedef struct SurfaceMeshHaloNodes         SurfaceMeshHaloNodes;
00074     typedef struct SurfaceMeshForeignHaloNodes  SurfaceMeshForeignHaloNodes;
00075     typedef struct SurfaceMeshLoader            SurfaceMeshLoader;
00076     typedef struct SurfaceMeshSmoother          SurfaceMeshSmoother;
00077     typedef struct _SurfaceMeshDecomp           _SurfaceMeshDecomp;
00078     typedef struct SurfaceMeshIrregularDecomp   SurfaceMeshIrregularDecomp;
00079     typedef struct SurfaceMeshRegularDecomp     SurfaceMeshRegularDecomp;
00080     typedef struct SPModel_Context              SPModel_Context;
00081     typedef struct SPModel_HaloNode             SPModel_HaloNode;
00082     typedef struct NodeWaterSediment            NodeWaterSediment;
00083     typedef struct Catchment                    Catchment;
00084     typedef struct CatchmentList                CatchmentList;
00085     typedef struct SPModel_FlexureInfo          SPModel_FlexureInfo;
00086     typedef struct LinearInterpolator           LinearInterpolator;
00087     typedef struct _Interpolator                _Interpolator;
00088     typedef struct SurfaceRegularMesh           SurfaceRegularMesh;
00089     typedef struct _SurfaceMeshCyclicBC         _SurfaceMeshCyclicBC;
00090     typedef struct SurfaceMeshRectangularCyclicBC   SurfaceMeshRectangularCyclicBC;
00091     typedef struct ParameterTimeSeries          ParameterTimeSeries;
00092     typedef struct SplineInterpolator           SplineInterpolator;
00093 
00094     /* output streams: initialised in SPModel_Init() */
00095     extern Stream* SPModel_VerboseConfig;
00096     extern Stream* SPModel_Debug;
00097     extern Stream* SPModel_Warning;
00098 
00099 #endif /* __SPModel_types_h__ */