escript  Revision_
Utils.h
Go to the documentation of this file.
1 
2 /*****************************************************************************
3 *
4 * Copyright (c) 2003-2018 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 by Centre for Geoscience Computing (GeoComp)
14 *
15 *****************************************************************************/
16 
17 #ifndef __ESCRIPT_UTILS_H__
18 #define __ESCRIPT_UTILS_H__
19 
20 #include "system_dep.h"
21 #include <boost/python/dict.hpp>
22 
23 #ifdef ESYS_HAVE_BOOST_NUMPY
24 #include <boost/python/numpy.hpp>
25 #endif
26 
27 namespace escript {
28 
40 
46 
52 ESCRIPT_DLL_API void setNumberOfThreads(const int num_threads);
53 
59 
65 
71 
76 ESCRIPT_DLL_API int getMPIWorldMax(const int val);
77 
81 ESCRIPT_DLL_API int getMPIWorldSum(const int val);
82 
87 
91 ESCRIPT_DLL_API int runMPIProgram(const boost::python::list args);
92 
98 
99 /*
100  \brief
101  return largest positive float
102 */
104 
105 ESCRIPT_DLL_API void saveDataCSV(const std::string& filename,
106  boost::python::dict arg,
107  const std::string& sep,
108  const std::string& csep,
109  bool refid=false,
110  bool append=false);
111 
112 #ifdef ESYS_HAVE_BOOST_NUMPY
113 ESCRIPT_DLL_API boost::python::list getNumpy(boost::python::dict arg);
114 #else
115 ESCRIPT_DLL_API void getNumpy(boost::python::dict arg);
116 #endif
117 
118 
126 ESCRIPT_DLL_API void resolveGroup(boost::python::object obj);
127 
128 } // end of namespace
129 
130 #endif // __ESCRIPT_UTILS_H__
131 
escript::FunctionSpace::ownSample
bool ownSample(DataTypes::dim_t sampleNo) const
Does this process own the sample? For non-MPI builds will always return true.
Definition: FunctionSpace.h:142
ESCRIPT_DLL_API
#define ESCRIPT_DLL_API
Definition: escriptcore/src/system_dep.h:28
escript::Data::borrowData
DataAbstract * borrowData(void) const
return the object produced by the factory, which is a DataConstant or DataExpanded TODO Ownership of ...
Definition: Data.cpp:4624
escript::MPIBarrierWorld
void MPIBarrierWorld()
performs a barrier synchronization across all processors.
Definition: Utils.cpp:376
escript::getSvnVersion
int getSvnVersion()
some functions
Definition: Utils.cpp:42
escript::saveDataCSV
void saveDataCSV(const std::string &filename, bp::dict arg, const std::string &sep, const std::string &csep, bool refid, bool append)
Definition: Utils.cpp:387
escript::DataTypes::real_t
double real_t
type of all real-valued scalars in escript
Definition: DataTypes.h:73
escript::getNumpy
void getNumpy(bp::dict arg)
Definition: Utils.cpp:919
escript::getMaxFloat
double getMaxFloat()
Definition: Utils.cpp:371
escript::EsysException
The base class for escript exceptions.
Definition: EsysException.h:39
escript::Data::getDomain
const_Domain_ptr getDomain() const
Return the domain.
Definition: Data.h:473
escript::FunctionSpace::getReferenceIDOfSample
DataTypes::dim_t getReferenceIDOfSample(DataTypes::dim_t sampleNo) const
Returns the reference number associated with the given sample number. This function is not efficient....
Definition: FunctionSpace.h:133
escript::Data::getSampleDataRO
const DataTypes::real_t * getSampleDataRO(DataTypes::RealVectorType::size_type sampleNo, DataTypes::real_t dummy=0) const
Return the sample data for the given sample no. Please do not use this unless you NEED to access samp...
Definition: Data.h:1975
escript::resolveGroup
void resolveGroup(bp::object obj)
Definition: Utils.cpp:924
escript::Data::interpolate
Data interpolate(const FunctionSpace &functionspace) const
Interpolates this onto the given functionspace and returns the result as a Data object.
Definition: Data.cpp:1314
escript::FileWriter
Definition: FileWriter.h:39
MPI_SUM
#define MPI_SUM
Definition: EsysMPI.h:50
escript::getMPISizeWorld
int getMPISizeWorld()
returns the total number of available MPI processes for MPI_COMM_WORLD
Definition: Utils.cpp:93
escript::get_core_id
int get_core_id()
Definition: Utils.cpp:53
escript::FunctionSpace
Definition: FunctionSpace.h:45
CHILD_FAIL
#define CHILD_FAIL
Definition: Utils.cpp:163
escript::Data::getFunctionSpace
const FunctionSpace & getFunctionSpace() const
Return the function space.
Definition: Data.h:461
escript::FileWriter::openFile
bool openFile(std::string filename, size_t initialSize=0, bool binary=false, bool append=false)
Definition: FileWriter.h:71
MPI_INT
#define MPI_INT
Definition: EsysMPI.h:44
weipa::VisItControl::initialize
bool initialize(const std::string &simFile, const std::string &comment)
Definition: VisItControl.cpp:200
MPI_MAX
#define MPI_MAX
Definition: EsysMPI.h:52
system_dep.h
escript::getNumberOfThreads
int getNumberOfThreads()
returns the number of threads
Definition: Utils.cpp:84
MPI_COMM_WORLD
#define MPI_COMM_WORLD
Definition: EsysMPI.h:46
Utils.h
escript::Data
Data represents a collection of datapoints.
Definition: Data.h:62
escript::DataException
Definition: DataException.h:37
escript::DataTypes::ShapeType
std::vector< int > ShapeType
The shape of a single datapoint.
Definition: DataTypes.h:65
escript::runMPIProgram
int runMPIProgram(bp::list args)
Definition: Utils.cpp:311
escript::DataTypes::noValues
int noValues(const ShapeType &shape)
Calculate the number of values in a datapoint with the given shape.
Definition: DataTypes.cpp:89
escript::DataTypes::pointToStream
void pointToStream(std::ostream &os, const RealVectorType::ElementType *data, const ShapeType &shape, int offset, bool needsep=true, const std::string &sep=",")
Display a single value (with the specified shape) from the data.
escript::getMPIWorldSum
int getMPIWorldSum(int val)
returns sum of an integer over all processors with MPI_COMM_WORLD
Definition: Utils.cpp:123
FileWriter.h
OVERLORDPATH
#define OVERLORDPATH
Definition: Utils.cpp:37
CHILD_COMPLETE
#define CHILD_COMPLETE
Definition: Utils.cpp:164
escript::printParallelThreadCnt
void printParallelThreadCnt()
print a message about how many MPI CPUs and OpenMP threads we're using
Definition: Utils.cpp:135
escript
Definition: AbstractContinuousDomain.cpp:22
DataVector.h
MPI_COMM_NULL
#define MPI_COMM_NULL
Definition: EsysMPI.h:47
DataTypes.h
escript::getMPIWorldMax
int getMPIWorldMax(int val)
returns the maximum value of an integer over all processors within MPI_COMM_WORLD
Definition: Utils.cpp:111
escript::FunctionSpace::getTypeCode
int getTypeCode() const
Returns the function space type code.
Definition: FunctionSpace.cpp:93
escript::Data::isLazy
bool isLazy() const
Return true if this Data is lazy.
Definition: Data.cpp:1149
escript::EsysException::what
virtual const char * what() const
Returns a description of the exception.
Definition: EsysException.h:69
MPI_Comm
int MPI_Comm
Definition: EsysMPI.h:40
Data.h
escript::Data::actsExpanded
bool actsExpanded() const
Return true if this Data is expanded or resolves to expanded. That is, if it has a separate value for...
Definition: Data.cpp:1121
escript::getMPIRankWorld
int getMPIRankWorld()
returns the MPI processor number within MPI_COMM_WORLD
Definition: Utils.cpp:102
escript::FileWriter::close
void close()
Definition: FileWriter.h:221
escript::DataTypes::cplx_t
std::complex< real_t > cplx_t
complex data type
Definition: DataTypes.h:76
escript::setNumberOfThreads
void setNumberOfThreads(int num_threads)
set the number of threads
Definition: Utils.cpp:77
escript::getMachinePrecision
double getMachinePrecision()
returns the machine precision
Definition: Utils.cpp:366
escript::NoCOMM_WORLD::active
static bool active()
Definition: EsysMPI.cpp:247
escript::FileWriter::writeOrdered
bool writeOrdered(std::ostringstream &oss)
Definition: FileWriter.h:148
escript::Data::getDataPointRank
unsigned int getDataPointRank() const
Return the rank of the point data.
Definition: Data.h:498