1 |
|
2 |
/******************************************************* |
3 |
* |
4 |
* Copyright (c) 2003-2008 by University of Queensland |
5 |
* Earth Systems Science Computational Center (ESSCC) |
6 |
* http://www.uq.edu.au/esscc |
7 |
* |
8 |
* Primary Business: Queensland, Australia |
9 |
* Licensed under the Open Software License version 3.0 |
10 |
* http://www.opensource.org/licenses/osl-3.0.php |
11 |
* |
12 |
*******************************************************/ |
13 |
|
14 |
|
15 |
#ifndef INC_FINLEY |
16 |
#define INC_FINLEY |
17 |
|
18 |
/**************************************************************/ |
19 |
|
20 |
/* Finley finite element solver */ |
21 |
|
22 |
/**************************************************************/ |
23 |
|
24 |
#include "paso/Paso.h" |
25 |
#include "paso/Paso_MPI.h" |
26 |
|
27 |
/**************************************************************/ |
28 |
/*#define Finley_TRACE */ |
29 |
#define FINLEY_UNKNOWN -1 |
30 |
#define FINLEY_DEGREES_OF_FREEDOM 1 |
31 |
#define FINLEY_NODES 3 |
32 |
#define FINLEY_ELEMENTS 4 |
33 |
#define FINLEY_FACE_ELEMENTS 5 |
34 |
#define FINLEY_POINTS 6 |
35 |
#define FINLEY_CONTACT_ELEMENTS_1 7 |
36 |
#define FINLEY_CONTACT_ELEMENTS_2 8 |
37 |
#define FINLEY_REDUCED_DEGREES_OF_FREEDOM 2 |
38 |
#define FINLEY_REDUCED_NODES 14 |
39 |
#define FINLEY_REDUCED_ELEMENTS 10 |
40 |
#define FINLEY_REDUCED_FACE_ELEMENTS 11 |
41 |
#define FINLEY_REDUCED_CONTACT_ELEMENTS_1 12 |
42 |
#define FINLEY_REDUCED_CONTACT_ELEMENTS_2 13 |
43 |
|
44 |
/* status stuff */ |
45 |
typedef int Finley_Status_t; |
46 |
#define Finley_increaseStatus(self) ((self)->status)++ |
47 |
#define FINLEY_INITIAL_STATUS 0 |
48 |
|
49 |
/* error codes */ |
50 |
|
51 |
|
52 |
typedef Paso_ErrorCodeType Finley_ErrorCodeType; |
53 |
|
54 |
/* interfaces */ |
55 |
|
56 |
double Finley_timer(void); |
57 |
bool_t Finley_checkPtr(void*); |
58 |
void Finley_resetError(void); |
59 |
void Finley_setError(Finley_ErrorCodeType err,__const char* msg); |
60 |
bool_t Finley_noError(void); |
61 |
Finley_ErrorCodeType Finley_getErrorType(void); |
62 |
char* Finley_getErrorMessage(void); |
63 |
void Finley_convertPasoError(void); |
64 |
bool_t Finley_MPI_noError( Paso_MPIInfo *mpi_info ); |
65 |
void Finley_setTagsInUse(const index_t Tag, const dim_t numTags, dim_t *numTagsInUse, index_t **tagsInUse, Paso_MPIInfo* mpiinfo); |
66 |
|
67 |
#endif /* #ifndef INC_FINLEY */ |
68 |
|