Public Member Functions | Private Attributes

escript::TestDomain Class Reference

(Testing use only) Provides a domain to wrap a collection of values. More...

#include <TestDomain.h>

Inheritance diagram for escript::TestDomain:
escript::AbstractDomain

List of all members.

Public Member Functions

ESCRIPT_DLL_API TestDomain (int pointspersample, int numsamples)
 Default constructor for TestDomain.
ESCRIPT_DLL_API ~TestDomain ()
virtual ESCRIPT_DLL_API bool isValidFunctionSpaceType (int functionSpaceType) const
 Returns true if the given integer is a valid function space type for this domain.
virtual ESCRIPT_DLL_API std::string getDescription () const
 Return a description for this domain.
virtual ESCRIPT_DLL_API std::string functionSpaceTypeAsString (int functionSpaceType) const
 Return a description for the given function space type code.
virtual ESCRIPT_DLL_API void interpolateOnDomain (escript::Data &target, const escript::Data &source) const
 Interpolates data given on source onto target where source and target have to be given on the same domain. TestDomain only has one FunctionSpace so this makes target a shallow copy of source.
virtual ESCRIPT_DLL_API bool probeInterpolationOnDomain (int functionSpaceType_source, int functionSpaceType_target) const
ESCRIPT_DLL_API bool commonFunctionSpace (const std::vector< int > &fs, int &resultcode) const
 given a vector of FunctionSpace type codes, pass back a code which then can all be interpolated to.
virtual ESCRIPT_DLL_API
escript::Data 
getX () const
 Returns locations in the domain.
virtual ESCRIPT_DLL_API void interpolateACross (escript::Data &target, const escript::Data &source) const
 Interpolates data given on source onto target where source and target are given on different domains. We do not permit interpolation into the TestDomain so this method always throws.
virtual ESCRIPT_DLL_API bool probeInterpolationACross (int functionSpaceType_source, const AbstractDomain &targetDomain, int functionSpaceType_target) const
virtual ESCRIPT_DLL_API int getDefaultCode () const
 Return a continuous FunctionSpace.
virtual ESCRIPT_DLL_API int getContinuousFunctionCode () const
 Return a continuous FunctionSpace.
virtual ESCRIPT_DLL_API int getFunctionCode () const
 Return a function FunctionSpace.
virtual ESCRIPT_DLL_API int getFunctionOnBoundaryCode () const
 Return a function on boundary FunctionSpace.
virtual ESCRIPT_DLL_API int getFunctionOnContactZeroCode () const
 Return a FunctionSpace.
virtual ESCRIPT_DLL_API int getFunctionOnContactOneCode () const
 Return a FunctionSpace.
virtual ESCRIPT_DLL_API int getSolutionCode () const
 Return a FunctionSpace.
virtual ESCRIPT_DLL_API int getReducedSolutionCode () const
 Return a FunctionSpace.
virtual ESCRIPT_DLL_API int getDiracDeltaFunctionsCode () const
 Return a FunctionSpace.
virtual ESCRIPT_DLL_API
std::pair< int, int > 
getDataShape (int functionSpaceCode) const
 Return the number of data points per sample, and the number of samples as a pair.
virtual ESCRIPT_DLL_API int getTagFromSampleNo (int functionSpaceType, int sampleNo) const
 Return the tag key for the given sample number.
virtual ESCRIPT_DLL_API const int * borrowSampleReferenceIDs (int functionSpaceType) const
 Return a borrowed pointer to the sample reference number id list.
virtual ESCRIPT_DLL_API int getDim () const
 Returns the spatial dimension of the domain.
virtual ESCRIPT_DLL_API bool operator== (const AbstractDomain &other) const
 Return true if given domains are equal.
virtual ESCRIPT_DLL_API bool operator!= (const AbstractDomain &other) const
virtual ESCRIPT_DLL_API bool canTag (int functionSpaceCode) const
 Checks if this domain allows tags for the specified functionSpaceCode.
virtual ESCRIPT_DLL_API int getNumberOfTagsInUse (int functionSpaceCode) const
 return the number of tags in use. For this class the answer is always 1(the default tag).
virtual ESCRIPT_DLL_API const int * borrowListOfTagsInUse (int functionSpaceCode) const
 returns a pointer to an array with the tags used. For this class the answer will always be {0}

Private Attributes

int m_samples
int m_dpps
int * m_samplerefids

Detailed Description

(Testing use only) Provides a domain to wrap a collection of values.

This domain provides more functionality than NullDomain in that it can store varying numbers of samples and points per sample.

It currently supports a single function space which does not support tagging. No effort has been made to make this work with MPI

Warning:
This class exists to support testing and should not be used as a general domain without ensuring that it works the way you expect. Also, other doco says that this class can be removed without notice.

Constructor & Destructor Documentation

escript::TestDomain::TestDomain ( int  pointspersample,
int  numsamples 
)

Default constructor for TestDomain.

Description: Default constructor for TestDomain.

References escript::getMPIRankWorld(), escript::getMPISizeWorld(), m_samplerefids, and m_samples.

escript::TestDomain::~TestDomain (  ) 

References m_samplerefids.


Member Function Documentation

const int * escript::TestDomain::borrowListOfTagsInUse ( int  functionSpaceCode  )  const [virtual]

returns a pointer to an array with the tags used. For this class the answer will always be {0}

Reimplemented from escript::AbstractDomain.

const int * escript::TestDomain::borrowSampleReferenceIDs ( int  functionSpaceType  )  const [virtual]

Return a borrowed pointer to the sample reference number id list.

Parameters:
functionSpaceType Input - The function space type.

Reimplemented from escript::AbstractDomain.

References m_samplerefids.

bool escript::TestDomain::canTag ( int  functionSpaceCode  )  const [virtual]

Checks if this domain allows tags for the specified functionSpaceCode.

Reimplemented from escript::AbstractDomain.

ESCRIPT_DLL_API bool escript::TestDomain::commonFunctionSpace ( const std::vector< int > &  fs,
int &  resultcode 
) const [virtual]

given a vector of FunctionSpace type codes, pass back a code which then can all be interpolated to.

Note:
This method must be called on the domain which the FunctionSpaces point to
Returns:
true is result is valid, false if not

Reimplemented from escript::AbstractDomain.

std::string escript::TestDomain::functionSpaceTypeAsString ( int  functionSpaceType  )  const [virtual]

Return a description for the given function space type code.

Reimplemented from escript::AbstractDomain.

int escript::TestDomain::getContinuousFunctionCode (  )  const [virtual]

Return a continuous FunctionSpace.

std::pair< int, int > escript::TestDomain::getDataShape ( int  functionSpaceCode  )  const [virtual]

Return the number of data points per sample, and the number of samples as a pair.

Parameters:
functionSpaceCode Input - Code for the function space type.
Returns:
pair, first - number of data points per sample, second - number of samples

Reimplemented from escript::AbstractDomain.

References m_dpps, and m_samples.

int escript::TestDomain::getDefaultCode (  )  const [virtual]

Return a continuous FunctionSpace.

Referenced by getX().

std::string escript::TestDomain::getDescription (  )  const [virtual]

Return a description for this domain.

Reimplemented from escript::AbstractDomain.

int escript::TestDomain::getDim (  )  const [virtual]

Returns the spatial dimension of the domain.

This has to be implemented by the actual Domain adapter.

Reimplemented from escript::AbstractDomain.

int escript::TestDomain::getDiracDeltaFunctionsCode (  )  const [virtual]

Return a FunctionSpace.

int escript::TestDomain::getFunctionCode (  )  const [virtual]

Return a function FunctionSpace.

int escript::TestDomain::getFunctionOnBoundaryCode (  )  const [virtual]

Return a function on boundary FunctionSpace.

int escript::TestDomain::getFunctionOnContactOneCode (  )  const [virtual]

Return a FunctionSpace.

int escript::TestDomain::getFunctionOnContactZeroCode (  )  const [virtual]

Return a FunctionSpace.

int escript::TestDomain::getNumberOfTagsInUse ( int  functionSpaceCode  )  const [virtual]

return the number of tags in use. For this class the answer is always 1(the default tag).

Reimplemented from escript::AbstractDomain.

int escript::TestDomain::getReducedSolutionCode (  )  const [virtual]

Return a FunctionSpace.

int escript::TestDomain::getSolutionCode (  )  const [virtual]

Return a FunctionSpace.

int escript::TestDomain::getTagFromSampleNo ( int  functionSpaceType,
int  sampleNo 
) const [virtual]

Return the tag key for the given sample number.

Parameters:
functionSpaceType Input - The function space type.
sampleNo Input - The sample number.

Reimplemented from escript::AbstractDomain.

escript::Data escript::TestDomain::getX (  )  const [virtual]
void escript::TestDomain::interpolateACross ( escript::Data target,
const escript::Data source 
) const [virtual]

Interpolates data given on source onto target where source and target are given on different domains. We do not permit interpolation into the TestDomain so this method always throws.

Reimplemented from escript::AbstractDomain.

void escript::TestDomain::interpolateOnDomain ( escript::Data target,
const escript::Data source 
) const [virtual]

Interpolates data given on source onto target where source and target have to be given on the same domain. TestDomain only has one FunctionSpace so this makes target a shallow copy of source.

Reimplemented from escript::AbstractDomain.

References escript::FunctionSpace::getDomain(), and escript::Data::getFunctionSpace().

bool escript::TestDomain::isValidFunctionSpaceType ( int  functionSpaceType  )  const [virtual]

Returns true if the given integer is a valid function space type for this domain.

Reimplemented from escript::AbstractDomain.

bool escript::TestDomain::operator!= ( const AbstractDomain other  )  const [virtual]

Reimplemented from escript::AbstractDomain.

bool escript::TestDomain::operator== ( const AbstractDomain other  )  const [virtual]

Return true if given domains are equal.

Reimplemented from escript::AbstractDomain.

bool escript::TestDomain::probeInterpolationACross ( int  functionSpaceType_source,
const AbstractDomain targetDomain,
int  functionSpaceType_target 
) const [virtual]

Reimplemented from escript::AbstractDomain.

bool escript::TestDomain::probeInterpolationOnDomain ( int  functionSpaceType_source,
int  functionSpaceType_target 
) const [virtual]

Reimplemented from escript::AbstractDomain.


Member Data Documentation

Referenced by getDataShape(), and getX().


The documentation for this class was generated from the following files: