/[escript]/branches/split/weipa/src/weipa.h
ViewVC logotype

Contents of /branches/split/weipa/src/weipa.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4724 - (show annotations)
Thu Mar 6 05:22:12 2014 UTC (5 years, 1 month ago) by jfenwick
File MIME type: text/plain
File size: 1884 byte(s)
Work towards parallel domains

1
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2014 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 2012-2013 by School of Earth Sciences
13 * Development from 2014 by Centre for Geoscience Computing (GeoComp)
14 *
15 *****************************************************************************/
16
17 #ifndef __WEIPA_H__
18 #define __WEIPA_H__
19
20 #include <string>
21 #include <vector>
22 #include <map>
23 #include <boost/shared_ptr.hpp>
24
25 #ifdef ESYS_MPI
26 #define HAVE_MPI 1
27 #endif
28
29 #if HAVE_MPI
30 #include <mpi.h>
31 #endif
32
33 #define WEIPA_DLL_API
34
35 #ifdef _WIN32
36 # ifndef WEIPA_STATIC_LIB
37 # undef WEIPA_DLL_API
38 # ifdef WEIPA_EXPORTS
39 # define WEIPA_DLL_API __declspec(dllexport)
40 # else
41 # define WEIPA_DLL_API __declspec(dllimport)
42 # endif
43 # endif
44 #endif
45
46 namespace weipa {
47
48 class DataVar;
49 class DomainChunk;
50 class ElementData;
51 class EscriptDataset;
52 class NodeData;
53
54 typedef std::vector<float> FloatVec;
55 typedef std::vector<int> IntVec;
56 typedef std::vector<std::string> StringVec;
57 typedef std::vector<float*> CoordArray;
58 typedef std::map<int, size_t> IndexMap;
59
60 typedef boost::shared_ptr<DataVar> DataVar_ptr;
61 typedef boost::shared_ptr<DomainChunk> DomainChunk_ptr;
62 typedef boost::shared_ptr<ElementData> ElementData_ptr;
63 typedef boost::shared_ptr<EscriptDataset> EscriptDataset_ptr;
64 typedef boost::shared_ptr<NodeData> NodeData_ptr;
65
66 typedef boost::shared_ptr<const DomainChunk> const_DomainChunk_ptr;
67 typedef boost::shared_ptr<const EscriptDataset> const_EscriptDataset_ptr;
68
69 } // namespace weipa
70
71 #endif // __WEIPA_H__
72

  ViewVC Help
Powered by ViewVC 1.1.26