escript  Revision_
Paso.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 
00018 /****************************************************************************/
00019 
00020 /*    Paso finite element solver library                                    */
00021 
00022 /****************************************************************************/
00023 
00024 /*  Copyrights by ACcESS Australia, 2003,2004,2005 */
00025 /*  Author: Lutz Gross, l.gross@uq.edu.au */
00026 
00027 /****************************************************************************/
00028 
00029 #ifndef __PASO_H__
00030 #define __PASO_H__
00031 
00032 #include <cfloat>
00033 #include <esysUtils/error.h>
00034 #include <esysUtils/Esys_MPI.h>
00035 #include <esysUtils/index.h>
00036 #include <esysUtils/maths.h>
00037 
00038 #include <boost/enable_shared_from_this.hpp>
00039 #include <boost/shared_ptr.hpp>
00040 
00041 #define PASO_DLL_API
00042 #ifdef _WIN32
00043 #   ifndef PASO_STATIC_LIB
00044 #      undef PASO_DLL_API
00045 #      ifdef PASO_EXPORTS
00046 #         define PASO_DLL_API __declspec(dllexport)
00047 #      else
00048 #         define PASO_DLL_API __declspec(dllimport)
00049 #      endif
00050 #   endif
00051 #endif
00052 
00053 #define MATRIX_FORMAT_DEFAULT 1
00054 #define MATRIX_FORMAT_CSC 2
00055 #define MATRIX_FORMAT_BLK1 4
00056 #define MATRIX_FORMAT_OFFSET1 8
00057 #define MATRIX_FORMAT_TRILINOS_CRS 16
00058 #define MATRIX_FORMAT_DIAGONAL_BLOCK 32
00059 
00060 #define PASO_ONE (double)(1.0)
00061 #define PASO_ZERO (double)(0.0)
00062 
00063 #endif // __PASO_H__
00064