18 #ifndef __ESCRIPT_TESTDOMAIN_H__
19 #define __ESCRIPT_TESTDOMAIN_H__
45 TestDomain(
int pointspersample,
int numsamples,
int dpsize=1);
49 virtual int getMPISize()
const;
50 virtual int getMPIRank()
const;
51 virtual void MPIBarrier()
const;
52 virtual bool onMasterProcessor()
const;
56 virtual bool isValidFunctionSpaceType(
int functionSpaceType)
const;
58 virtual std::string getDescription()
const;
60 virtual std::string functionSpaceTypeAsString(
int functionSpaceType)
const;
64 virtual bool probeInterpolationOnDomain(
int functionSpaceType_source,
int functionSpaceType_target)
const;
66 bool commonFunctionSpace(
const std::vector<int>& fs,
int& resultcode)
const;
74 virtual int getDefaultCode()
const;
75 virtual int getContinuousFunctionCode()
const;
76 virtual int getFunctionCode()
const;
77 virtual int getFunctionOnBoundaryCode()
const;
78 virtual int getFunctionOnContactZeroCode()
const;
79 virtual int getFunctionOnContactOneCode()
const;
80 virtual int getSolutionCode()
const;
81 virtual int getReducedSolutionCode()
const;
82 virtual int getDiracDeltaFunctionsCode()
const;
84 virtual std::pair<int,DataTypes::dim_t> getDataShape(
int functionSpaceCode)
const;
86 virtual int getTagFromSampleNo(
int functionSpaceType,
DataTypes::index_t sampleNo)
const;
88 virtual const DataTypes::dim_t* borrowSampleReferenceIDs(
int functionSpaceType)
const;
90 virtual int getDim()
const;
96 virtual bool canTag(
int functionSpaceCode)
const;
98 virtual int getNumberOfTagsInUse(
int functionSpaceCode)
const;
100 virtual const int* borrowListOfTagsInUse(
int functionSpaceCode)
const;
104 const boost::python::tuple& filter)
const;
106 void addUsedTag(
int t);
107 void clearUsedTags();
108 void assignTags(std::vector<int> t);
109 void resetTagAssignments();
Base class for all escript domains.
Definition: AbstractDomain.h:51
Data represents a collection of datapoints.
Definition: Data.h:64
Definition: FunctionSpace.h:36
NullDomain provides a null value for domain. Needed for the construction of a default FunctionSpace.
Definition: NullDomain.h:41
(Testing use only) Provides a domain to wrap a collection of values.
Definition: TestDomain.h:43
std::vector< int > tag_assignment
Definition: TestDomain.h:123
int m_dpps
Definition: TestDomain.h:118
int m_dpsize
Definition: TestDomain.h:119
DataTypes::dim_t * m_samplerefids
Definition: TestDomain.h:120
escript::JMPI myworld
Definition: TestDomain.h:126
DataTypes::dim_t m_endsample
Definition: TestDomain.h:115
DataTypes::dim_t m_samples
Definition: TestDomain.h:113
DataTypes::dim_t m_totalsamples
Definition: TestDomain.h:112
std::vector< int > mytags
Definition: TestDomain.h:122
DataTypes::dim_t m_originsample
Definition: TestDomain.h:114
#define ESCRIPT_DLL_API
Definition: escriptcore/src/system_dep.h:30
std::vector< int > ShapeType
The shape of a single datapoint.
Definition: DataTypes.h:44
index_t dim_t
Definition: DataTypes.h:66
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:61
Definition: AbstractContinuousDomain.cpp:23
FunctionSpace getTestDomainFunctionSpace(int dpps, DataTypes::dim_t samples, int dpsize)
Definition: TestDomain.cpp:338
boost::shared_ptr< JMPI_ > JMPI
Definition: EsysMPI.h:74
bool probeInterpolationAcross(int fsType_source, const escript::AbstractDomain &domain, int fsType_target, int dim)
Definition: CrossDomainCoupler.cpp:32