escript
Revision_
|
DataConstant stores a single data point which represents the entire function space. More...
#include <DataConstant.h>
Public Member Functions | |
DataConstant (const WrappedArray &value, const FunctionSpace &what) | |
Constructor for DataConstant objects. More... | |
DataConstant (const DataConstant &other) | |
Copy constructor. Performs a deep copy. More... | |
DataConstant (const DataConstant &other, const DataTypes::RegionType ®ion) | |
Alternative constructor for DataConstant objects. More... | |
DataConstant (const FunctionSpace &what, const DataTypes::ShapeType &shape, const DataTypes::RealVectorType &data) | |
Alternative constructor for DataConstant objects. More... | |
DataConstant (const FunctionSpace &what, const DataTypes::ShapeType &shape, const DataTypes::CplxVectorType &data) | |
DataConstant (const FunctionSpace &what, const DataTypes::ShapeType &shape, const DataTypes::real_t v) | |
DataConstant (const FunctionSpace &what, const DataTypes::ShapeType &shape, const DataTypes::cplx_t v) | |
bool | isConstant () const |
bool | hasNaN () const |
Return true if the value contains a NaN. More... | |
void | replaceNaN (DataTypes::real_t value) |
replaces all NaN values with value More... | |
void | replaceNaN (DataTypes::cplx_t value) |
replaces all NaN values with value More... | |
std::string | toString () const |
Write the data as a string. More... | |
virtual DataAbstract * | deepCopy () const |
Return a deep copy of the current object. More... | |
virtual void | dump (const std::string fileName) const |
dumps the object into a netCDF file More... | |
virtual void | setToZero () |
sets all values to zero More... | |
virtual DataTypes::RealVectorType::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. More... | |
virtual DataTypes::RealVectorType::size_type | getPointOffset (int sampleNo, int dataPointNo) |
virtual DataTypes::RealVectorType::size_type | getLength () const |
Return the number of doubles stored for the Data object. More... | |
virtual DataAbstract * | getSlice (const DataTypes::RegionType ®ion) 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. More... | |
virtual void | setSlice (const DataAbstract *value, const DataTypes::RegionType ®ion) |
Copy the specified region from the given value. More... | |
virtual void | symmetric (DataAbstract *ev) |
Computes a symmetric matrix (A + AT) / 2. More... | |
virtual void | antisymmetric (DataAbstract *ev) |
Computes a nonsymmetric matrix (A - AT) / 2. More... | |
virtual void | hermitian (DataAbstract *ev) |
Computes an hermitian matrix (A + A*) / 2. More... | |
virtual void | antihermitian (DataAbstract *ev) |
Computes an anti-hermitian matrix (A - A*) / 2. More... | |
virtual void | trace (DataAbstract *ev, int axis_offset) |
Computes the trace of a matrix. More... | |
virtual void | transpose (DataAbstract *ev, int axis_offset) |
Transpose each data point of this Data object around the given axis. More... | |
virtual void | swapaxes (DataAbstract *ev, int axis0, int axis1) |
swaps components axis0 and axis1 More... | |
virtual void | eigenvalues (DataAbstract *ev) |
solves the eigenvalue problem this*V=ev*V for the eigenvalues ev More... | |
virtual 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 More... | |
virtual int | matrixInverse (DataAbstract *out) const |
invert square matricies More... | |
DataTypes::RealVectorType & | getVectorRW () |
Return a reference to the underlying DataVector. More... | |
const DataTypes::RealVectorType & | getVectorRO () const |
DataTypes::CplxVectorType & | getVectorRWC () |
const DataTypes::CplxVectorType & | getVectorROC () const |
virtual DataTypes::RealVectorType & | getTypedVectorRW (DataTypes::real_t dummy) |
These versions use the type system rather than method name to determine return type. More... | |
virtual const DataTypes::RealVectorType & | getTypedVectorRO (DataTypes::real_t dummy) const |
virtual DataTypes::CplxVectorType & | getTypedVectorRW (DataTypes::cplx_t dummy) |
virtual const DataTypes::CplxVectorType & | getTypedVectorRO (DataTypes::cplx_t dummy) const |
void | complicate () |
Convert from real data to complex data. More... | |
![]() | |
DataReady (const FunctionSpace &what, const ShapeType &shape, bool isDataEmpty=false) | |
~DataReady () | |
DataTypes::real_t * | getSampleDataRW (DataTypes::RealVectorType::size_type sampleNo, DataTypes::real_t dummy=0) |
Return the sample data for the given sample number. More... | |
DataTypes::cplx_t * | getSampleDataRW (DataTypes::RealVectorType::size_type sampleNo, DataTypes::cplx_t dummy) |
const DataTypes::real_t * | getSampleDataRO (DataTypes::RealVectorType::size_type sampleNo, DataTypes::real_t dummy=0) const |
const DataTypes::cplx_t * | getSampleDataRO (DataTypes::RealVectorType::size_type sampleNo, DataTypes::cplx_t dummy) const |
DataTypes::RealVectorType::const_reference | getDataAtOffsetRO (DataTypes::RealVectorType::size_type i) const |
get a reference to the beginning of a data point More... | |
DataTypes::RealVectorType::reference | getDataAtOffsetRW (DataTypes::RealVectorType::size_type i) |
DataTypes::CplxVectorType::const_reference | getDataAtOffsetROC (DataTypes::CplxVectorType::size_type i) const |
DataTypes::CplxVectorType::reference | getDataAtOffsetRWC (DataTypes::CplxVectorType::size_type i) |
DataReady_ptr | resolve () |
Return a data object with all points resolved. More... | |
![]() | |
DataAbstract_ptr | getPtr () |
Return shared pointer managing this object. More... | |
const_DataAbstract_ptr | getPtr () const |
DataAbstract (const FunctionSpace &what, const ShapeType &shape, bool isDataEmpty=false, bool isCplx=false) | |
Constructor for DataAbstract. More... | |
virtual | ~DataAbstract () |
Destructor for DataAbstract. More... | |
int | getNumDPPSample () const |
Return the number of data points per sample. More... | |
int | getNumSamples () const |
Return the number of samples. More... | |
bool | hasNoSamples () const |
const DataTypes::ShapeType & | getShape () const |
Return the shape information for the point data. More... | |
unsigned int | getRank () const |
Return the rank information for the point data. More... | |
virtual DataTypes::real_t * | getSampleDataByTag (int tag, DataTypes::real_t dummy=0) |
Return the real sample data for the given tag key. NB: If the data isn't tagged an exception will be thrown. More... | |
virtual DataTypes::cplx_t * | getSampleDataByTag (int tag, DataTypes::cplx_t dummy) |
Return the complex sample data for the given tag key. NB: If the data isn't tagged an exception will be thrown. More... | |
virtual size_t | getTagCount () const |
Return number of tagged values stored in the data object. More... | |
void | operandCheck (const DataAbstract &right) const |
Check this and the given RHS operands are compatible. Throws an exception if they aren't. More... | |
bool | validSamplePointNo (int samplePointNo) const |
Return true if a valid sample point number. More... | |
bool | validSampleNo (int sampleNo) const |
Return true if a valid sample number. More... | |
const FunctionSpace & | getFunctionSpace () const |
Return the function space associated with this Data object. More... | |
virtual void | setTaggedValue (int tagKey, const DataTypes::ShapeType &pointshape, const DataTypes::RealVectorType &value, int dataOffset=0) |
setTaggedValue More... | |
virtual void | setTaggedValue (int tagKey, const DataTypes::ShapeType &pointshape, const DataTypes::CplxVectorType &value, int dataOffset=0) |
virtual void | copyToDataPoint (const int sampleNo, const int dataPointNo, const DataTypes::real_t value) |
Copy a double value to the data point dataPointNo of sample sampleNo in this object. More... | |
virtual void | copyToDataPoint (const int sampleNo, const int dataPointNo, const DataTypes::cplx_t value) |
virtual void | copyToDataPoint (const int sampleNo, const int dataPointNo, const WrappedArray &value) |
Copy the array object to the data point dataPointNo of sample sampleNo in this object. More... | |
virtual int | getTagNumber (int dpno) |
Return the tag number associated with the given data-point number. More... | |
virtual void | reorderByReferenceIDs (DataTypes::dim_t *reference_ids) |
reorders data sample ordered by reference_ids to the ordering of the functions space More... | |
unsigned int | getNoValues () const |
Return the number of values in the shape for this object. More... | |
bool | isLazy () const |
virtual bool | isExpanded () const |
virtual bool | actsExpanded () const |
Return true if this Data is expanded or resolves to expanded. That is, if it has a separate value for each datapoint in the sample. More... | |
virtual bool | isTagged () const |
bool | isEmpty () const |
bool | isComplex () const |
true if the components of datapoints are complex More... | |
Private Types | |
typedef DataReady | parent |
Private Attributes | |
DataTypes::RealVectorType | m_data_r |
DataTypes::CplxVectorType | m_data_c |
Additional Inherited Members | |
![]() | |
typedef DataTypes::ShapeType | ShapeType |
![]() | |
int | m_noSamples |
int | m_noDataPointsPerSample |
bool | m_iscompl |
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.
|
private |
|
explicit |
Constructor for DataConstant objects.
Description: Constructor for DataConstant objects.
value | - Input - Data value for a single point. |
what | - Input - A description of what this data object represents. |
References escript::DataTypes::DataVectorAlt< T >::copyFromArray(), escript::WrappedArray::isComplex(), m_data_c, m_data_r, and escript::DataAbstract::m_iscompl.
Referenced by deepCopy(), and getSlice().
escript::DataConstant::DataConstant | ( | const DataConstant & | other | ) |
Copy constructor. Performs a deep copy.
References escript::DataAbstract::isComplex(), m_data_c, m_data_r, and escript::DataAbstract::m_iscompl.
|
explicit |
Alternative constructor for DataConstant objects.
Description: Alternative Constructor for DataConstant objects.
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(), getVectorROC(), escript::DataAbstract::isComplex(), m_data_c, m_data_r, escript::DataAbstract::m_iscompl, and escript::DataTypes::DataVectorAlt< T >::resize().
|
explicit |
Alternative constructor for DataConstant objects.
Description: Alternative Constructor for DataConstant objects.
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_r.
|
explicit |
References m_data_c, and escript::DataAbstract::m_iscompl.
|
explicit |
|
explicit |
References escript::DataAbstract::m_iscompl.
|
virtual |
Computes an anti-hermitian matrix (A - A*) / 2.
ev | - Output - antihermitian matrix |
Reimplemented from escript::DataAbstract.
References escript::antihermitian(), escript::DataAbstract::getShape(), getVectorRWC(), escript::DataAbstract::isComplex(), and m_data_c.
Referenced by isConstant().
|
virtual |
Computes a nonsymmetric matrix (A - AT) / 2.
ev | - Output - nonsymmetric matrix |
Reimplemented from escript::DataAbstract.
References escript::antisymmetric(), escript::DataAbstract::getShape(), getVectorRW(), getVectorRWC(), escript::DataAbstract::isComplex(), m_data_c, and m_data_r.
Referenced by isConstant().
|
virtual |
Convert from real data to complex data.
Reimplemented from escript::DataAbstract.
References escript::DataTypes::fillComplexFromReal(), escript::DataAbstract::isComplex(), m_data_c, m_data_r, escript::DataAbstract::m_iscompl, and escript::DataTypes::DataVectorAlt< T >::resize().
Referenced by isConstant(), and replaceNaN().
|
virtual |
Return a deep copy of the current object.
Implements escript::DataAbstract.
References DataConstant().
Referenced by isConstant().
|
virtual |
dumps the object into a netCDF file
Reimplemented from escript::DataAbstract.
References escript::DataAbstract::getFunctionSpace(), escript::DataAbstract::getRank(), escript::DataAbstract::getShape(), escript::FunctionSpace::getTypeCode(), m_data_r, escript::DataTypes::maxRank, MPI_COMM_WORLD, and MPI_INT.
Referenced by isConstant().
|
virtual |
solves the eigenvalue problem this*V=ev*V for the eigenvalues ev
ev | - Output - eigenvalues in increasing order at each data point |
Reimplemented from escript::DataAbstract.
References escript::eigenvalues(), escript::DataAbstract::getShape(), getVectorRW(), getVectorRWC(), escript::DataAbstract::isComplex(), m_data_c, and m_data_r.
Referenced by isConstant().
|
virtual |
solves the eigenvalue problem this*V=ev*V for the eigenvalues ev and eigenvectors V
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::eigenvalues_and_eigenvectors(), escript::DataAbstract::getShape(), getVectorRW(), m_data_r, and V.
Referenced by isConstant().
|
virtual |
Return the number of doubles stored for the Data object.
Implements escript::DataAbstract.
References m_data_c, m_data_r, and escript::DataTypes::DataVectorAlt< T >::size().
Referenced by isConstant().
|
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.
sampleNo | - Input - sample number. |
dataPointNo | - Input - data point number for the sample. |
Implements escript::DataAbstract.
Referenced by escript::C_GeneralTensorProduct(), and isConstant().
|
virtual |
|
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.
region | - Input - region to slice from this object. |
Implements escript::DataAbstract.
References DataConstant().
Referenced by isConstant().
|
virtual |
Implements escript::DataReady.
References m_data_r.
Referenced by escript::binaryOpDataReadyHelperCCC(), escript::binaryOpDataReadyHelperECE(), escript::binaryOpDataReadyHelperEEC(), escript::binaryOpDataReadyHelperTCT(), escript::binaryOpDataReadyHelperTTC(), escript::DataExpanded::copy(), escript::DataTagged::DataTagged(), escript::Data::dp_algorithm(), isConstant(), and escript::Data::reduction().
|
virtual |
Implements escript::DataReady.
References m_data_c.
|
virtual |
These versions use the type system rather than method name to determine return type.
Implements escript::DataReady.
References CHECK_FOR_EX_WRITE, and m_data_r.
Referenced by escript::binaryOpDataReadyHelperCCC(), escript::Data::dp_algorithm(), and isConstant().
|
virtual |
Implements escript::DataReady.
References CHECK_FOR_EX_WRITE, and m_data_c.
|
virtual |
Implements escript::DataReady.
References m_data_r.
Referenced by DataConstant(), isConstant(), and setSlice().
|
virtual |
Implements escript::DataReady.
References m_data_c.
Referenced by DataConstant(), isConstant(), and setSlice().
|
virtual |
Return a reference to the underlying DataVector.
Implements escript::DataReady.
References CHECK_FOR_EX_WRITE, and m_data_r.
Referenced by antisymmetric(), eigenvalues(), eigenvalues_and_eigenvectors(), isConstant(), matrixInverse(), swapaxes(), symmetric(), trace(), and transpose().
|
virtual |
Implements escript::DataReady.
References CHECK_FOR_EX_WRITE, and m_data_c.
Referenced by antihermitian(), antisymmetric(), eigenvalues(), hermitian(), isConstant(), swapaxes(), symmetric(), trace(), and transpose().
|
virtual |
Return true if the value contains a NaN.
Implements escript::DataReady.
References escript::DataAbstract::isComplex(), m_data_c, m_data_r, and escript::DataTypes::DataVectorAlt< T >::size().
Referenced by isConstant().
|
virtual |
Computes an hermitian matrix (A + A*) / 2.
ev | - Output - hermitian matrix |
Reimplemented from escript::DataAbstract.
References escript::DataAbstract::getShape(), getVectorRWC(), escript::hermitian(), escript::DataAbstract::isComplex(), and m_data_c.
Referenced by isConstant().
|
inlinevirtual |
Reimplemented from escript::DataAbstract.
References antihermitian(), antisymmetric(), complicate(), deepCopy(), dump(), eigenvalues(), eigenvalues_and_eigenvectors(), ESCRIPT_DLL_API, getLength(), getPointOffset(), getSlice(), getTypedVectorRO(), getTypedVectorRW(), getVectorRO(), getVectorROC(), getVectorRW(), getVectorRWC(), hasNaN(), hermitian(), matrixInverse(), replaceNaN(), setSlice(), setToZero(), swapaxes(), symmetric(), toString(), trace(), transpose(), and V.
|
virtual |
invert square matricies
out | - Where to store the results |
Reimplemented from escript::DataAbstract.
References escript::DataAbstract::getRank(), escript::DataAbstract::getShape(), getVectorRW(), m_data_r, and escript::matrix_inverse().
Referenced by isConstant().
|
virtual |
replaces all NaN values with value
Implements escript::DataReady.
References CHECK_FOR_EX_WRITE, escript::DataAbstract::isComplex(), m_data_c, m_data_r, and escript::DataTypes::DataVectorAlt< T >::size().
Referenced by isConstant(), and replaceNaN().
|
virtual |
replaces all NaN values with value
Implements escript::DataReady.
References CHECK_FOR_EX_WRITE, complicate(), escript::DataAbstract::isComplex(), m_data_c, replaceNaN(), and escript::DataTypes::DataVectorAlt< T >::size().
|
virtual |
Copy the specified region from the given value.
value | - Input - Data object to copy from. |
region | - Input - Region to copy. |
Implements escript::DataReady.
References CHECK_FOR_EX_WRITE, escript::DataTypes::checkShape(), escript::DataTypes::copySliceFrom(), escript::DataTypes::createShapeErrorMessage(), escript::DataAbstract::getRank(), escript::DataTypes::getResultSliceShape(), escript::DataAbstract::getShape(), escript::DataTypes::getSliceRegionLoopRange(), getVectorRO(), getVectorROC(), escript::DataAbstract::isComplex(), m_data_c, and m_data_r.
Referenced by isConstant().
|
virtual |
sets all values to zero
Reimplemented from escript::DataAbstract.
References CHECK_FOR_EX_WRITE, m_data_r, and escript::DataTypes::DataVectorAlt< T >::size().
Referenced by isConstant().
|
virtual |
swaps components axis0 and axis1
ev | - Output - swapped components |
axis0 | |
axis1 |
Reimplemented from escript::DataAbstract.
References escript::DataAbstract::getShape(), getVectorRW(), getVectorRWC(), escript::DataAbstract::isComplex(), m_data_c, m_data_r, and escript::swapaxes().
Referenced by isConstant().
|
virtual |
Computes a symmetric matrix (A + AT) / 2.
ev | - Output - symmetric matrix |
Reimplemented from escript::DataAbstract.
References escript::DataAbstract::getShape(), getVectorRW(), getVectorRWC(), escript::DataAbstract::isComplex(), m_data_c, m_data_r, and escript::symmetric().
Referenced by isConstant().
|
virtual |
Write the data as a string.
Implements escript::DataAbstract.
References escript::DataAbstract::getShape(), escript::DataAbstract::isComplex(), m_data_c, m_data_r, and escript::DataTypes::pointToString().
Referenced by isConstant().
|
virtual |
Computes the trace of a matrix.
ev | - Output - trace of matrix |
axis_offset |
Reimplemented from escript::DataAbstract.
References escript::DataAbstract::getShape(), getVectorRW(), getVectorRWC(), escript::DataAbstract::isComplex(), m_data_c, m_data_r, and escript::trace().
Referenced by isConstant().
|
virtual |
Transpose each data point of this Data object around the given axis.
ev | - Output - transpose of matrix |
axis_offset |
Reimplemented from escript::DataAbstract.
References escript::DataAbstract::getShape(), getVectorRW(), getVectorRWC(), escript::DataAbstract::isComplex(), m_data_c, m_data_r, and escript::transpose().
Referenced by isConstant().
|
private |
|
private |
Referenced by antisymmetric(), complicate(), DataConstant(), dump(), eigenvalues(), eigenvalues_and_eigenvectors(), getLength(), getTypedVectorRO(), getTypedVectorRW(), getVectorRO(), getVectorRW(), hasNaN(), matrixInverse(), replaceNaN(), setSlice(), setToZero(), swapaxes(), symmetric(), toString(), trace(), and transpose().