escript  Revision_
weipa.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2020 by The University of Queensland
5 * http://www.uq.edu.au
6 *
7 * Primary Business: Queensland, Australia
8 * Licensed under the Apache License, version 2.0
9 * http://www.apache.org/licenses/LICENSE-2.0
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-2017 by Centre for Geoscience Computing (GeoComp)
14 * Development from 2019 by School of Earth and Environmental Sciences
15 **
16 *****************************************************************************/
17 
18 #ifndef __WEIPA_H__
19 #define __WEIPA_H__
20 
21 #ifndef VISIT_PLUGIN
22 #include <escript/DataTypes.h>
23 #endif
24 
25 #include <string>
26 #include <vector>
27 #include <map>
28 #include <boost/shared_ptr.hpp>
29 
30 #ifdef ESYS_MPI
31 #define WEIPA_HAVE_MPI 1
32 #endif
33 
34 #if WEIPA_HAVE_MPI
35 #include <mpi.h>
36 #endif
37 
38 #define WEIPA_DLL_API
39 
40 #ifdef _WIN32
41 # ifndef WEIPA_STATIC_LIB
42 # undef WEIPA_DLL_API
43 # ifdef WEIPA_EXPORTS
44 # define WEIPA_DLL_API __declspec(dllexport)
45 # else
46 # define WEIPA_DLL_API __declspec(dllimport)
47 # endif
48 # endif
49 #endif
50 
51 namespace weipa {
52 
53 class DataVar;
54 class DomainChunk;
55 class ElementData;
57 class NodeData;
58 
59 typedef std::vector<float> FloatVec;
60 typedef std::vector<int> IntVec;
61 typedef std::vector<std::string> StringVec;
62 typedef std::vector<float*> CoordArray;
63 typedef std::map<int, size_t> IndexMap;
64 
65 typedef boost::shared_ptr<DataVar> DataVar_ptr;
66 typedef boost::shared_ptr<DomainChunk> DomainChunk_ptr;
67 typedef boost::shared_ptr<ElementData> ElementData_ptr;
68 typedef boost::shared_ptr<EscriptDataset> EscriptDataset_ptr;
69 typedef boost::shared_ptr<NodeData> NodeData_ptr;
70 
71 typedef boost::shared_ptr<const DomainChunk> const_DomainChunk_ptr;
72 typedef boost::shared_ptr<const EscriptDataset> const_EscriptDataset_ptr;
73 
74 } // namespace weipa
75 
76 #endif // __WEIPA_H__
77 
weipa::FloatVec
std::vector< float > FloatVec
Definition: weipa.h:56
weipa::EscriptDataset_ptr
boost::shared_ptr< EscriptDataset > EscriptDataset_ptr
Definition: weipa.h:67
weipa::DataVar_ptr
boost::shared_ptr< DataVar > DataVar_ptr
Definition: weipa.h:64
weipa
Definition: DataVar.cpp:50
weipa::NodeData
Definition: NodeData.h:39
weipa::IndexMap
std::map< int, size_t > IndexMap
Definition: weipa.h:62
weipa::CoordArray
std::vector< float * > CoordArray
Definition: weipa.h:61
weipa::ElementData_ptr
boost::shared_ptr< ElementData > ElementData_ptr
Definition: weipa.h:66
weipa::NodeData_ptr
boost::shared_ptr< NodeData > NodeData_ptr
Definition: weipa.h:68
weipa::StringVec
std::vector< std::string > StringVec
Definition: weipa.h:60
weipa::EscriptDataset
Represents an escript dataset including a domain and data variables for one timestep.
Definition: EscriptDataset.h:62
weipa::DomainChunk_ptr
boost::shared_ptr< DomainChunk > DomainChunk_ptr
Definition: weipa.h:65
weipa::IntVec
std::vector< int > IntVec
Definition: weipa.h:59
weipa::const_EscriptDataset_ptr
boost::shared_ptr< const EscriptDataset > const_EscriptDataset_ptr
Definition: weipa.h:71
weipa::const_DomainChunk_ptr
boost::shared_ptr< const DomainChunk > const_DomainChunk_ptr
Definition: weipa.h:70