18 #if !defined escript_AbstractDomain_20040609_H
19 #define escript_AbstractDomain_20040609_H
21 #ifdef BADPYTHONMACROS
28 #undef BADPYTHONMACROS
37 #include <boost/python/dict.hpp>
38 #include <boost/python/list.hpp>
39 #include "esysUtils/Esys_MPI.h"
75 const_Domain_ptr getPtr()
const;
122 virtual ~AbstractDomain();
129 virtual int getMPISize()
const;
136 virtual int getMPIRank()
const;
144 virtual void MPIBarrier()
const;
151 virtual bool onMasterProcessor()
const;
173 virtual bool isValidFunctionSpaceType(
int functionSpaceType)
const;
180 virtual std::string getDescription()
const;
187 virtual std::string functionSpaceTypeAsString(
int functionSpaceType)
const;
196 virtual int getDim()
const;
203 virtual bool operator==(
const AbstractDomain& other)
const;
205 virtual bool operator!=(
const AbstractDomain& other)
const;
214 virtual void write(
const std::string& filename)
const;
223 virtual void dump(
const std::string& filename)
const;
235 virtual std::pair<int,int> getDataShape(
int functionSpaceCode)
const;
244 virtual int getTagFromSampleNo(
int functionSpaceType,
int sampleNo)
const;
253 virtual void setTagMap(
const std::string& name,
int tag);
261 virtual int getTag(
const std::string& name)
const;
269 virtual bool isValidTagName(
const std::string& name)
const;
276 virtual std::string showTagNames()
const;
284 virtual const int* borrowSampleReferenceIDs(
int functionSpaceType)
const;
308 virtual bool probeInterpolationOnDomain(
int functionSpaceType_source,
int functionSpaceType_target)
const;
317 virtual signed char preferredInterpolationOnDomain(
int functionSpaceType_source,
int functionSpaceType_target)
const;
327 commonFunctionSpace(
const std::vector<int>& fs,
int& resultcode)
const;
338 virtual bool probeInterpolationACross(
int functionSpaceType_source,
const AbstractDomain& targetDomain,
int functionSpaceType_target)
const;
409 virtual bool ownSample(
int fs_code,
index_t id)
const;
417 virtual void setTags(
const int functionSpaceType,
const int newTag,
const escript::Data& mask)
const;
427 virtual bool isCellOriented(
int functionSpaceCode)
const;
438 virtual StatusType getStatus()
const;
446 void throwStandardException(
const std::string& functionName)
const;
453 virtual int getNumberOfTagsInUse(
int functionSpaceCode)
const;
456 virtual const int* borrowListOfTagsInUse(
int functionSpaceCode)
const;
462 virtual bool canTag(
int functionspacecode)
const;
469 virtual int getApproximationOrder(
const int functionSpaceCode)
const;
472 virtual bool supportsContactElements()
const;
480 virtual bool supportsFilter(
const boost::python::tuple& t)
const;
487 const FunctionSpace& what,
long seed,
const boost::python::tuple& filter)
const=0;
Give a short description of what FunctionSpace does.
Definition: FunctionSpace.h:46
boost::shared_ptr< Data > m_data
Definition: AbstractDomain.h:82
#define POINTER_WRAPPER_CLASS(x)
Definition: Pointers.h:32
Definition: AbstractDomain.h:79
boost::shared_ptr< AbstractDomain > Domain_ptr
Definition: AbstractDomain.h:57
BufferMapType m_normal_buffer
Definition: AbstractDomain.h:497
#define REFCOUNT_BASE_CLASS(x)
Definition: Pointers.h:29
std::vector< int > ShapeType
The shape of a single datapoint.
Definition: DataTypes.h:38
int MPI_Comm
Definition: Esys_MPI.h:29
std::map< int, ValueBuffer > BufferMapType
Definition: AbstractDomain.h:88
Typedefs and macros for reference counted storage.
BufferMapType m_x_buffer
Definition: AbstractDomain.h:494
int StatusType
Definition: AbstractDomain.h:78
Data represents a collection of datapoints.
Definition: Data.h:71
StatusType m_status
Definition: AbstractDomain.h:81
int index_t
Definition: types.h:25
#define ESCRIPT_DLL_API
Definition: escriptcore/src/system_dep.h:64
Definition: AbstractDomain.h:62
BufferMapType m_size_buffer
Definition: AbstractDomain.h:500
boost::shared_ptr< const AbstractDomain > const_Domain_ptr
Definition: AbstractDomain.h:60