/[escript]/trunk/escript/src/Utils.h
ViewVC logotype

Contents of /trunk/escript/src/Utils.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2635 - (show annotations)
Thu Aug 27 04:54:41 2009 UTC (10 years, 3 months ago) by jfenwick
File MIME type: text/plain
File size: 2279 byte(s)
A bunch of changes related to saveDataCSV.
[Not completed or unit tested yet]

Added saveDataCSV to util.py
AbstractDomain (and MeshAdapter) have a commonFunctionSpace method to 
take a group of FunctionSpaces and return something they can all be interpolated to.

Added pointToStream() in DataTypes to help print points.

added actsConstant() to data - required because DataConstant doesn't store samples the same way other Data do.
1
2 /*******************************************************
3 *
4 * Copyright (c) 2003-2009 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 #if !defined escript_Utils_H
16 #define escript_Utils_H
17 #include "system_dep.h"
18
19 namespace escript {
20
21 /**
22 \brief
23 some functions
24
25 */
26
27 /**
28 \brief
29 return the SVN version number used to build this version.
30 \warning Only gives accurate answers for clean checkouts
31 */
32 ESCRIPT_DLL_API int getSvnVersion();
33
34 /**
35 \brief
36 print a message about how many MPI CPUs and OpenMP threads we're using
37 */
38 ESCRIPT_DLL_API void printParallelThreadCnt();
39
40 /**
41 \brief
42 set the number of threads
43 \warning Use of this method is strongly discouraged. It may be deprecated in future.
44 */
45 ESCRIPT_DLL_API void setNumberOfThreads(const int num_threads);
46
47 /**
48 \brief
49 returns the number of threads
50 */
51 ESCRIPT_DLL_API int getNumberOfThreads();
52
53 /**
54 \brief
55 returns the total number of available MPI processes for MPI_COMM_WORLD
56 */
57 ESCRIPT_DLL_API int getMPISizeWorld();
58
59 /**
60 \brief
61 returns the MPI processor number within MPI_COMM_WORLD
62 */
63 ESCRIPT_DLL_API int getMPIRankWorld();
64 /**
65 \brief
66 returns the maximum value of an integer over all processors within MPI_COMM_WORLD
67 */
68 ESCRIPT_DLL_API int getMPIWorldMax(const int val);
69
70 /**
71 \brief returns sum of an integer over all processors with MPI_COMM_WORLD
72 */
73 ESCRIPT_DLL_API int getMPIWorldSum(const int val);
74
75 /**
76 \brief performs a barrier synchronization across all processors.
77 */
78
79 ESCRIPT_DLL_API void MPIBarrierWorld();
80
81 /**
82 \brief
83 returns machine precision
84 */
85 ESCRIPT_DLL_API double getMachinePrecision();
86 /*
87 \brief
88 return largest positive float
89 */
90 ESCRIPT_DLL_API double getMaxFloat();
91
92 ESCRIPT_DLL_API
93 void
94 saveDataCSV(const std::string& filename, boost::python::dict arg, const std::string& sep, const std::string& csep,
95 bool append=false);
96
97 } // end of namespace
98 #endif

  ViewVC Help
Powered by ViewVC 1.1.26