escript  Revision_
DataFactory.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 
19 #if !defined escript_DataFactory_20040721_H
20 #define escript_DataFactory_20040721_H
21 
22 #include "system_dep.h"
23 
24 #include "AbstractDomain.h"
25 #include "FunctionSpace.h"
26 #include "Data.h"
27 
28 #include <boost/python/object.hpp>
29 
30 namespace escript {
31 
48 ESCRIPT_DLL_API Data
49 Scalar(double value,
50  const FunctionSpace& what=FunctionSpace(),
51  bool expanded=false);
52 
63 ESCRIPT_DLL_API Data
64 ComplexScalar(double value,
65  const FunctionSpace& what=FunctionSpace(),
66  bool expanded=false);
67 
78 ESCRIPT_DLL_API Data
80  const FunctionSpace& what=FunctionSpace(),
81  bool expanded=false);
82 
93 ESCRIPT_DLL_API Data
95  const FunctionSpace& what=FunctionSpace(),
96  bool expanded=false);
97 
102 Data
103 ScalarFromObj(boost::python::object o,
104  const FunctionSpace& what=FunctionSpace(),
105  bool expanded=false);
106 
111 Data
112 ComplexScalarFromObj(boost::python::object o,
113  const FunctionSpace& what=FunctionSpace(),
114  bool expanded=false);
115 
121 ESCRIPT_DLL_API Data
122 Vector(double value,
123  const FunctionSpace& what=FunctionSpace(),
124  bool expanded=false);
125 
126 ESCRIPT_DLL_API Data
127 ComplexVector(double value,
128  const FunctionSpace& what=FunctionSpace(),
129  bool expanded=false);
130 
132 Data
133 VectorFromObj(boost::python::object o,
134  const FunctionSpace& what=FunctionSpace(),
135  bool expanded=false);
136 
138 Data
139 ComplexVectorFromObj(boost::python::object o,
140  const FunctionSpace& what=FunctionSpace(),
141  bool expanded=false);
148 Tensor(double value,
149  const FunctionSpace& what=FunctionSpace(),
150  bool expanded=false);
151 
153 ComplexTensor(double value,
154  const FunctionSpace& what=FunctionSpace(),
155  bool expanded=false);
156 
158 Data
159 TensorFromObj(boost::python::object o,
160  const FunctionSpace& what=FunctionSpace(),
161  bool expanded=false);
162 
164 Data
165 ComplexTensorFromObj(boost::python::object o,
166  const FunctionSpace& what=FunctionSpace(),
167  bool expanded=false);
168 
175 Tensor3(double value,
176  const FunctionSpace& what=FunctionSpace(),
177  bool expanded=false);
178 
180 ComplexTensor3(double value,
181  const FunctionSpace& what=FunctionSpace(),
182  bool expanded=false);
183 
185 Data
186 Tensor3FromObj(boost::python::object o,
187  const FunctionSpace& what=FunctionSpace(),
188  bool expanded=false);
189 
191 Data
192 ComplexTensor3FromObj(boost::python::object o,
193  const FunctionSpace& what=FunctionSpace(),
194  bool expanded=false);
195 
202 Tensor4(double value,
203  const FunctionSpace& what=FunctionSpace(),
204  bool expanded=false);
205 
207 ComplexTensor4(double value,
208  const FunctionSpace& what=FunctionSpace(),
209  bool expanded=false);
210 
212 Data
213 Tensor4FromObj(boost::python::object o,
214  const FunctionSpace& what=FunctionSpace(),
215  bool expanded=false);
216 
218 Data
219 ComplexTensor4FromObj(boost::python::object o,
220  const FunctionSpace& what=FunctionSpace(),
221  bool expanded=false);
222 
224 Data
225 ComplexData(boost::python::object o,
226  const FunctionSpace& what=FunctionSpace(),
227  bool expanded=false);
228 
234 load(const std::string fileName,
235  const AbstractDomain& domain);
240 ESCRIPT_DLL_API bool
242 
251 convertToData(const boost::python::object& value,
252  const FunctionSpace& what=FunctionSpace());
253 
254 
255 } // end of namespace
256 
257 #endif
escript::ComplexVector
Data ComplexVector(double value, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:131
escript::Tensor3C
Data Tensor3C(DataTypes::cplx_t value, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:270
escript::DataTypes::maxRank
static const int maxRank
The maximum number of dimensions a datapoint can have.
Definition: DataTypes.h:47
escript::ComplexScalar
Data ComplexScalar(double value, const FunctionSpace &what, bool expanded)
Return a Complex Data object containing scalar data-points. ie: rank 0 data-points.
Definition: DataFactory.cpp:63
DataFactory.h
ESCRIPT_DLL_API
#define ESCRIPT_DLL_API
Definition: escriptcore/src/system_dep.h:30
escript::ComplexTensor3C
Data ComplexTensor3C(DataTypes::cplx_t value, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:276
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:4617
escript::DataTypes::real_t
double real_t
type of all real-valued scalars in escript
Definition: DataTypes.h:52
escript::Tensor4FromObj
Data Tensor4FromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:363
escript::loadConfigured
bool loadConfigured()
returns true if the load funtion is configured.
Definition: DataFactory.cpp:918
escript::DataAbstract::reorderByReferenceIDs
virtual void reorderByReferenceIDs(DataTypes::dim_t *reference_ids)
reorders data sample ordered by reference_ids to the ordering of the functions space
Definition: DataAbstract.cpp:276
escript::FunctionSpace::getNumSamples
DataTypes::dim_t getNumSamples() const
Returns the number of samples.
Definition: FunctionSpace.h:168
escript::ComplexTensorFromObj
Data ComplexTensorFromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:230
escript::ComplexVectorFromObj
Data ComplexVectorFromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:157
escript::Data::getDataPointShape
const DataTypes::ShapeType & getDataPointShape() const
Return a reference to the data point shape.
Definition: Data.h:705
escript::AbstractDomain::getPtr
Domain_ptr getPtr()
Returns smart pointer which is managing this object. If one does not exist yet it creates one.
Definition: AbstractDomain.cpp:25
escript::DataTypes::DataVectorAlt
Definition: DataVectorAlt.h:37
escript::ScalarFromObj
Data ScalarFromObj(boost::python::object o, const FunctionSpace &what, bool expanded)
Python interface for the Scalar factory.
Definition: DataFactory.cpp:82
escript::TensorFromObj
Data TensorFromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:205
escript::Data::getDataAtOffsetRW
DataTypes::RealVectorType::reference getDataAtOffsetRW(DataTypes::RealVectorType::size_type i, DataTypes::real_t dummy)
Definition: Data.cpp:4678
escript::AbstractDomain::getMPI
virtual JMPI getMPI() const =0
returns a shared pointer to the MPI information wrapper for this domain
escript::checkResult
bool checkResult(int res, int &mres, const JMPI &info)
Everyone puts in their error code and everyone gets the largest one.
Definition: EsysMPI.cpp:110
escript::FunctionSpace
Definition: FunctionSpace.h:36
escript::Data::complicate
void complicate()
Definition: Data.cpp:6053
escript::FunctionSpace::getDomain
const_Domain_ptr getDomain() const
Returns the function space domain.
Definition: FunctionSpace.cpp:103
escript::ComplexTensor4
Data ComplexTensor4(double value, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:341
escript::convertToData
Data convertToData(const bp::object &value, const FunctionSpace &what)
Definition: DataFactory.cpp:927
escript::Scalar
Data Scalar(DataTypes::cplx_t value, const FunctionSpace &what, bool expanded)
Return a Data object containing scalar data-points. ie: rank 0 data-points.
Definition: DataFactory.cpp:56
escript::DataTagged
Simulates a full dataset accessible via sampleNo and dataPointNo.
Definition: DataTagged.h:46
escript::Data
Data represents a collection of datapoints.
Definition: Data.h:64
escript::Data::getDataOffset
DataTypes::RealVectorType::size_type getDataOffset(int sampleNo, int dataPointNo)
Return the offset for the given sample and point within the sample.
Definition: Data.h:693
escript::DataException
Definition: DataException.h:28
escript::FunctionSpace::getNumDataPointsPerSample
int getNumDataPointsPerSample() const
Definition: FunctionSpace.h:177
escript::ComplexTensorC
Data ComplexTensorC(DataTypes::cplx_t value, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:196
escript::DataTypes::dim_t
index_t dim_t
Definition: DataTypes.h:66
escript::DataTypes::ShapeType
std::vector< int > ShapeType
The shape of a single datapoint.
Definition: DataTypes.h:44
escript::JMPI
boost::shared_ptr< JMPI_ > JMPI
Definition: EsysMPI.h:74
escript::AbstractDomain::isValidFunctionSpaceType
virtual bool isValidFunctionSpaceType(int functionSpaceType) const =0
Returns true if the given integer is a valid function space type for this domain.
AbstractDomain.h
escript::ComplexScalar
Data ComplexScalar(DataTypes::cplx_t value, const FunctionSpace &what, bool expanded)
Return a Data object containing scalar data-points. ie: rank 0 data-points.
Definition: DataFactory.cpp:72
escript::Data::isEmpty
bool isEmpty() const
Definition: Data.cpp:1132
escript::ComplexData
Data ComplexData(boost::python::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:414
escript::Tensor3
Data Tensor3(double value, const FunctionSpace &what, bool expanded)
Return a Data object containing tensor3 datapoints. ie: rank 3 data-points.
Definition: DataFactory.cpp:256
NCHelper.h
escript::ComplexTensor4C
Data ComplexTensor4C(DataTypes::cplx_t value, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:355
escript::DataTypes::RealVectorType
escript::DataTypes::DataVectorAlt< real_t > RealVectorType
Vector to store underlying data.
Definition: DataVector.h:44
escript::load
Data load(const std::string fileName, const AbstractDomain &domain)
reads Data on domain from file in netCDF format
Definition: DataFactory.cpp:708
escript::Tensor4C
Data Tensor4C(DataTypes::cplx_t value, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:349
escript
Definition: AbstractContinuousDomain.cpp:23
escript::ComplexTensor3
Data ComplexTensor3(double value, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:262
escript::Tensor
Data Tensor(double value, const FunctionSpace &what, bool expanded)
Return a Data object containing tensor datapoints. ie: rank 2 data-points.
Definition: DataFactory.cpp:176
escript::Vector
Data Vector(double value, const FunctionSpace &what, bool expanded)
Return a Data object containing vector data-points. ie: rank 1 data-points.
Definition: DataFactory.cpp:125
escript::ComplexTensor3FromObj
Data ComplexTensor3FromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:309
escript::EsysException::what
virtual const char * what() const
Returns a description of the exception.
Definition: EsysException.h:57
escript::TensorC
Data TensorC(DataTypes::cplx_t value, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:190
escript::FunctionSpace::borrowSampleReferenceIDs
const DataTypes::dim_t * borrowSampleReferenceIDs() const
Returns a borrowed reference to the list of sample reference IDs.
Definition: FunctionSpace.cpp:199
escript::ComplexScalarFromObj
Data ComplexScalarFromObj(boost::python::object o, const FunctionSpace &what, bool expanded)
Python interface for the Complex Scalar factory.
Definition: DataFactory.cpp:104
escript::VectorFromObj
Data VectorFromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:139
Data.h
escript::AbstractDomain
Base class for all escript domains.
Definition: AbstractDomain.h:51
escript::Tensor3FromObj
Data Tensor3FromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:284
system_dep.h
escript::shipString
bool shipString(const char *src, char **dest, MPI_Comm &comm)
Definition: EsysMPI.cpp:164
escript::DataTypes::cplx_t
std::complex< real_t > cplx_t
complex data type
Definition: DataTypes.h:55
escript::Scalar
Data Scalar(double value, const FunctionSpace &what, bool expanded)
A collection of factory functions for creating Data objects which contain data points of various shap...
Definition: DataFactory.cpp:49
escript::ComplexTensor4FromObj
Data ComplexTensor4FromObj(bp::object o, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:388
escript::Tensor4
Data Tensor4(double value, const FunctionSpace &what, bool expanded)
Return a Data object containing tensor4 datapoints. ie: rank 4 data-points.
Definition: DataFactory.cpp:335
escript::ComplexTensor
Data ComplexTensor(double value, const FunctionSpace &what, bool expanded)
Definition: DataFactory.cpp:182
FunctionSpace.h