ESScript  Revision_4488
Dudley.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2013 by University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Open Software License version 3.0
9 * http://www.opensource.org/licenses/osl-3.0.php
10 *
11 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 * Development since 2012 by School of Earth Sciences
13 *
14 *****************************************************************************/
15 
16 #ifndef INC_DUDLEY
17 #define INC_DUDLEY
18 
19 /************************************************************************************/
20 
21 /* Dudley finite element solver */
22 
23 /************************************************************************************/
24 
25 #include "esysUtils/types.h"
26 #include "esysUtils/Esys_MPI.h"
27 #include "esysUtils/error.h"
28 
29 /************************************************************************************/
30 /*#define Dudley_TRACE */
31 #define DUDLEY_UNKNOWN -1
32 #define DUDLEY_DEGREES_OF_FREEDOM 1
33 #define DUDLEY_NODES 3
34 #define DUDLEY_ELEMENTS 4
35 #define DUDLEY_FACE_ELEMENTS 5
36 #define DUDLEY_POINTS 6
37 #define DUDLEY_REDUCED_DEGREES_OF_FREEDOM 2
38 #define DUDLEY_REDUCED_NODES 14
39 #define DUDLEY_REDUCED_ELEMENTS 10
40 #define DUDLEY_REDUCED_FACE_ELEMENTS 11
41 
42 /* status stuff */
43 typedef int Dudley_Status_t;
44 #define Dudley_increaseStatus(self) ((self)->status)++
45 #define DUDLEY_INITIAL_STATUS 0
46 
47 /* error codes */
48 
50 
51 /* interfaces */
52 
53 double Dudley_timer(void);
54 bool_t Dudley_checkPtr(void *);
55 void Dudley_resetError(void);
56 void Dudley_setError(Dudley_ErrorCodeType err, __const char *msg);
59 char *Dudley_getErrorMessage(void);
60 void Dudley_convertPasoError(void);
62 void Dudley_setTagsInUse(const index_t Tag, const dim_t numTags, dim_t * numTagsInUse, index_t ** tagsInUse,
63  Esys_MPIInfo * mpiinfo);
64 
65 #endif /* #ifndef INC_DUDLEY */