ESYS13
Revision_
|
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 */