escript  Revision_
Finley.h
Go to the documentation of this file.
00001 
00002 /*****************************************************************************
00003 *
00004 * Copyright (c) 2003-2014 by University of Queensland
00005 * http://www.uq.edu.au
00006 *
00007 * Primary Business: Queensland, Australia
00008 * Licensed under the Open Software License version 3.0
00009 * http://www.opensource.org/licenses/osl-3.0.php
00010 *
00011 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
00012 * Development 2012-2013 by School of Earth Sciences
00013 * Development from 2014 by Centre for Geoscience Computing (GeoComp)
00014 *
00015 *****************************************************************************/
00016 
00017 #ifndef __FINLEY_H__
00018 #define __FINLEY_H__
00019 
00020 /****************************************************************************
00021 
00022   Finley finite element solver
00023 
00024 *****************************************************************************/
00025 
00026 #include "esysUtils/Esys_MPI.h"
00027 #include "esysUtils/error.h"
00028 
00029 #include <vector>
00030 
00031 namespace finley {
00032 
00033 //#define Finley_TRACE
00034 #define FINLEY_UNKNOWN -1
00035 #define FINLEY_DEGREES_OF_FREEDOM 1
00036 #define FINLEY_NODES 3
00037 #define FINLEY_ELEMENTS 4
00038 #define FINLEY_FACE_ELEMENTS 5
00039 #define FINLEY_POINTS 6
00040 #define FINLEY_CONTACT_ELEMENTS_1 7
00041 #define FINLEY_CONTACT_ELEMENTS_2 8
00042 #define FINLEY_REDUCED_DEGREES_OF_FREEDOM 2
00043 #define FINLEY_REDUCED_NODES 14
00044 #define FINLEY_REDUCED_ELEMENTS 10
00045 #define FINLEY_REDUCED_FACE_ELEMENTS 11
00046 #define FINLEY_REDUCED_CONTACT_ELEMENTS_1 12
00047 #define FINLEY_REDUCED_CONTACT_ELEMENTS_2 13
00048 
00049 #define FINLEY_INITIAL_STATUS 0
00050 
00051 typedef Esys_ErrorCodeType ErrorCodeType;
00052 
00053 double timer();
00054 void resetError();
00055 void setError(ErrorCodeType err, const char* msg);
00056 bool noError();
00057 ErrorCodeType getErrorType();
00058 char* getErrorMessage();
00059 void checkFinleyError();
00060 bool MPI_noError(Esys_MPIInfo *mpi_info);
00061 
00062 } // namespace finley
00063 
00064 #endif // __FINLEY_H__
00065