ESYS13  Revision_
Dudley.h
Go to the documentation of this file.
00001 
00002 /*******************************************************
00003 *
00004 * Copyright (c) 2003-2012 by University of Queensland
00005 * Earth Systems Science Computational Center (ESSCC)
00006 * http://www.uq.edu.au/esscc
00007 *
00008 * Primary Business: Queensland, Australia
00009 * Licensed under the Open Software License version 3.0
00010 * http://www.opensource.org/licenses/osl-3.0.php
00011 *
00012 *******************************************************/
00013 
00014 #ifndef INC_DUDLEY
00015 #define INC_DUDLEY
00016 
00017 /**************************************************************/
00018 
00019 /*    Dudley finite element solver */
00020 
00021 /**************************************************************/
00022 
00023 #include "esysUtils/types.h"
00024 #include "esysUtils/Esys_MPI.h"
00025 #include "esysUtils/error.h"
00026 
00027 /**************************************************************/
00028 /*#define Dudley_TRACE */
00029 #define DUDLEY_UNKNOWN -1
00030 #define DUDLEY_DEGREES_OF_FREEDOM 1
00031 #define DUDLEY_NODES 3
00032 #define DUDLEY_ELEMENTS 4
00033 #define DUDLEY_FACE_ELEMENTS 5
00034 #define DUDLEY_POINTS 6
00035 #define DUDLEY_REDUCED_DEGREES_OF_FREEDOM 2
00036 #define DUDLEY_REDUCED_NODES 14
00037 #define DUDLEY_REDUCED_ELEMENTS 10
00038 #define DUDLEY_REDUCED_FACE_ELEMENTS 11
00039 
00040 /* status stuff */
00041 typedef int Dudley_Status_t;
00042 #define Dudley_increaseStatus(self) ((self)->status)++
00043 #define DUDLEY_INITIAL_STATUS 0
00044 
00045 /* error codes */
00046 
00047 typedef Esys_ErrorCodeType Dudley_ErrorCodeType;
00048 
00049 /* interfaces */
00050 
00051 double Dudley_timer(void);
00052 bool_t Dudley_checkPtr(void *);
00053 void Dudley_resetError(void);
00054 void Dudley_setError(Dudley_ErrorCodeType err, __const char *msg);
00055 bool_t Dudley_noError(void);
00056 Dudley_ErrorCodeType Dudley_getErrorType(void);
00057 char *Dudley_getErrorMessage(void);
00058 void Dudley_convertPasoError(void);
00059 bool_t Dudley_MPI_noError(Esys_MPIInfo * mpi_info);
00060 void Dudley_setTagsInUse(const index_t Tag, const dim_t numTags, dim_t * numTagsInUse, index_t ** tagsInUse,
00061              Esys_MPIInfo * mpiinfo);
00062 
00063 #endif              /* #ifndef INC_DUDLEY */