Public Member Functions | Private Types | Private Attributes

escript::DataConstant Class Reference

DataConstant stores a single data point which represents the entire function space. More...

#include <DataConstant.h>

Inheritance diagram for escript::DataConstant:
escript::DataReady escript::DataAbstract

List of all members.

Public Member Functions

ESCRIPT_DLL_API DataConstant (const WrappedArray &value, const FunctionSpace &what)
 Constructor for DataConstant objects.
ESCRIPT_DLL_API DataConstant (const DataConstant &other)
 Copy constructor. Performs a deep copy.
ESCRIPT_DLL_API DataConstant (const DataConstant &other, const DataTypes::RegionType &region)
 Alternative constructor for DataConstant objects.
ESCRIPT_DLL_API DataConstant (const FunctionSpace &what, const DataTypes::ShapeType &shape, const DataTypes::ValueType &data)
 Alternative constructor for DataConstant objects.
ESCRIPT_DLL_API DataConstant (const FunctionSpace &what, const DataTypes::ShapeType &shape, const double v)
ESCRIPT_DLL_API bool isConstant () const
ESCRIPT_DLL_API bool hasNaN () const
 Return true if the value contains a NaN.
ESCRIPT_DLL_API std::string toString () const
 Write the data as a string.
virtual ESCRIPT_DLL_API
DataAbstract
deepCopy ()
 Return a deep copy of the current object.
virtual ESCRIPT_DLL_API void dump (const std::string fileName) const
 dumps the object into a netCDF file
virtual ESCRIPT_DLL_API void setToZero ()
 sets all values to zero
virtual ESCRIPT_DLL_API
DataTypes::ValueType::size_type 
getPointOffset (int sampleNo, int dataPointNo) const
 Return the offset for the given sample. This is a somewhat artificial notion but returns the offset in bytes for the given point into the container holding the point data. Only really necessary to avoid many DataArrayView objects.
virtual ESCRIPT_DLL_API
DataTypes::ValueType::size_type 
getPointOffset (int sampleNo, int dataPointNo)
virtual ESCRIPT_DLL_API
DataTypes::ValueType::size_type 
getLength () const
 Return the number of doubles stored for the Data object.
virtual ESCRIPT_DLL_API
DataAbstract
getSlice (const DataTypes::RegionType &region) const
 Factory method that returns a newly created DataConstant object sliced from the specified region of this object. The caller is reponsible for managing the object created.
virtual ESCRIPT_DLL_API void setSlice (const DataAbstract *value, const DataTypes::RegionType &region)
 Copy the specified region from the given value.
virtual ESCRIPT_DLL_API void symmetric (DataAbstract *ev)
 Computes a symmetric matrix (A + AT) / 2.
virtual ESCRIPT_DLL_API void nonsymmetric (DataAbstract *ev)
 Computes a nonsymmetric matrix (A - AT) / 2.
virtual ESCRIPT_DLL_API void trace (DataAbstract *ev, int axis_offset)
 Computes the trace of a matrix.
virtual ESCRIPT_DLL_API void transpose (DataAbstract *ev, int axis_offset)
 Transpose each data point of this Data object around the given axis.
virtual ESCRIPT_DLL_API void swapaxes (DataAbstract *ev, int axis0, int axis1)
 swaps components axis0 and axis1
virtual ESCRIPT_DLL_API void eigenvalues (DataAbstract *ev)
 solves the eigenvalue problem this*V=ev*V for the eigenvalues ev
virtual ESCRIPT_DLL_API void eigenvalues_and_eigenvectors (DataAbstract *ev, DataAbstract *V, const double tol=1.e-13)
 solves the eigenvalue problem this*V=ev*V for the eigenvalues ev and eigenvectors V
virtual ESCRIPT_DLL_API int matrixInverse (DataAbstract *out) const
 invert square matricies
ESCRIPT_DLL_API
DataTypes::ValueType
getVectorRW ()
 Return a reference to the underlying DataVector.
ESCRIPT_DLL_API const
DataTypes::ValueType
getVectorRO () const

Private Types

typedef DataReady parent

Private Attributes

DataTypes::ValueType m_data

Detailed Description

DataConstant stores a single data point which represents the entire function space.

Description: DataConstant stores a single data point which represents the entire function space.


Member Typedef Documentation

Reimplemented from escript::DataReady.


Constructor & Destructor Documentation

escript::DataConstant::DataConstant ( const WrappedArray value,
const FunctionSpace what 
)

Constructor for DataConstant objects.

Description: Constructor for DataConstant objects.

Parameters:
value - Input - Data value for a single point.
what - Input - A description of what this data object represents.

References escript::DataVector::copyFromArray(), and m_data.

Referenced by deepCopy(), and getSlice().

escript::DataConstant::DataConstant ( const DataConstant other  ) 

Copy constructor. Performs a deep copy.

References m_data.

escript::DataConstant::DataConstant ( const DataConstant other,
const DataTypes::RegionType region 
)

Alternative constructor for DataConstant objects.

Description: Alternative Constructor for DataConstant objects.

Parameters:
other - Input - Data object to copy from.
region - Input - region to copy.

References escript::DataTypes::copySlice(), escript::DataAbstract::getNoValues(), escript::DataAbstract::getShape(), escript::DataTypes::getSliceRegionLoopRange(), getVectorRO(), m_data, and escript::DataVector::resize().

escript::DataConstant::DataConstant ( const FunctionSpace what,
const DataTypes::ShapeType shape,
const DataTypes::ValueType data 
)

Alternative constructor for DataConstant objects.

Description: Alternative Constructor for DataConstant objects.

Parameters:
what - Input - A description of what this data object represents.
shape - Input - the shape of each data-point.
data - the data values for each data-point.

References m_data.

escript::DataConstant::DataConstant ( const FunctionSpace what,
const DataTypes::ShapeType shape,
const double  v 
)

Member Function Documentation

DataAbstract * escript::DataConstant::deepCopy (  )  [virtual]

Return a deep copy of the current object.

Implements escript::DataAbstract.

References DataConstant().

void escript::DataConstant::eigenvalues ( DataAbstract ev  )  [virtual]

solves the eigenvalue problem this*V=ev*V for the eigenvalues ev

Parameters:
ev - Output - eigenvalues in increasing order at each data point

Reimplemented from escript::DataAbstract.

References escript::DataAbstract::getShape(), getVectorRW(), and m_data.

void escript::DataConstant::eigenvalues_and_eigenvectors ( DataAbstract ev,
DataAbstract V,
const double  tol = 1.e-13 
) [virtual]

solves the eigenvalue problem this*V=ev*V for the eigenvalues ev and eigenvectors V

Parameters:
ev - Output - eigenvalues in increasing order at each data point
V - Output - corresponding eigenvectors. They are normalized such that their length is one and the first nonzero component is positive.
tol - Input - eigenvalue with relative distance tol are treated as equal.

Reimplemented from escript::DataAbstract.

References escript::DataAbstract::getShape(), getVectorRW(), and m_data.

DataTypes::ValueType::size_type escript::DataConstant::getLength (  )  const [virtual]

Return the number of doubles stored for the Data object.

Implements escript::DataAbstract.

References m_data, and escript::DataVector::size().

DataTypes::ValueType::size_type escript::DataConstant::getPointOffset ( int  sampleNo,
int  dataPointNo 
) [virtual]

Implements escript::DataAbstract.

DataTypes::ValueType::size_type escript::DataConstant::getPointOffset ( int  sampleNo,
int  dataPointNo 
) const [virtual]

Return the offset for the given sample. This is a somewhat artificial notion but returns the offset in bytes for the given point into the container holding the point data. Only really necessary to avoid many DataArrayView objects.

Parameters:
sampleNo - Input - sample number.
dataPointNo - Input - data point number for the sample.

Implements escript::DataAbstract.

Referenced by escript::C_GeneralTensorProduct(), and escript::C_TensorBinaryOperation().

DataAbstract * escript::DataConstant::getSlice ( const DataTypes::RegionType region  )  const [virtual]

Factory method that returns a newly created DataConstant object sliced from the specified region of this object. The caller is reponsible for managing the object created.

Parameters:
region - Input - region to slice from this object.

Implements escript::DataAbstract.

References DataConstant().

DataTypes::ValueType & escript::DataConstant::getVectorRW (  )  [virtual]
bool escript::DataConstant::hasNaN (  )  const [virtual]

Return true if the value contains a NaN.

Implements escript::DataReady.

References m_data, escript::nancheck(), and escript::DataVector::size().

ESCRIPT_DLL_API bool escript::DataConstant::isConstant (  )  const [inline, virtual]

Reimplemented from escript::DataAbstract.

int escript::DataConstant::matrixInverse ( DataAbstract out  )  const [virtual]

invert square matricies

Parameters:
out - Where to store the results
Returns:
errorcode (0 indicates success)

Reimplemented from escript::DataAbstract.

References escript::DataAbstract::getRank(), escript::DataAbstract::getShape(), getVectorRW(), m_data, and escript::DataMaths::matrix_inverse().

void escript::DataConstant::nonsymmetric ( DataAbstract ev  )  [virtual]

Computes a nonsymmetric matrix (A - AT) / 2.

Parameters:
ev - Output - nonsymmetric matrix

Reimplemented from escript::DataAbstract.

References escript::DataAbstract::getShape(), getVectorRW(), and m_data.

void escript::DataConstant::setSlice ( const DataAbstract value,
const DataTypes::RegionType region 
) [virtual]
void escript::DataConstant::setToZero (  )  [virtual]

sets all values to zero

Reimplemented from escript::DataAbstract.

References CHECK_FOR_EX_WRITE, m_data, and escript::DataVector::size().

void escript::DataConstant::swapaxes ( DataAbstract ev,
int  axis0,
int  axis1 
) [virtual]

swaps components axis0 and axis1

Parameters:
ev - Output - swapped components
axis0 
axis1 

Reimplemented from escript::DataAbstract.

References escript::DataAbstract::getShape(), getVectorRW(), and m_data.

void escript::DataConstant::symmetric ( DataAbstract ev  )  [virtual]

Computes a symmetric matrix (A + AT) / 2.

Parameters:
ev - Output - symmetric matrix

Reimplemented from escript::DataAbstract.

References escript::DataAbstract::getShape(), getVectorRW(), and m_data.

string escript::DataConstant::toString (  )  const [virtual]
void escript::DataConstant::trace ( DataAbstract ev,
int  axis_offset 
) [virtual]

Computes the trace of a matrix.

Parameters:
ev - Output - trace of matrix
axis_offset 

Reimplemented from escript::DataAbstract.

References escript::DataAbstract::getShape(), getVectorRW(), and m_data.

void escript::DataConstant::transpose ( DataAbstract ev,
int  axis_offset 
) [virtual]

Transpose each data point of this Data object around the given axis.

Parameters:
ev - Output - transpose of matrix
axis_offset 

Reimplemented from escript::DataAbstract.

References escript::DataAbstract::getShape(), getVectorRW(), and m_data.


Member Data Documentation


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