|
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 DataAbstract * | zeroedCopy () const |
| Return an object with the same type, domain (and tags if appropriate) as this, but all values are zeroed. 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... | |
Public Member Functions inherited from escript::DataReady | |
| 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... | |
Public Member Functions inherited from escript::DataAbstract | |
| 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 | |
Public Types inherited from escript::DataAbstract | |
| typedef DataTypes::ShapeType | ShapeType |
Protected Attributes inherited from escript::DataAbstract | |
| 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(), getSlice(), and zeroedCopy().
| 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(), and setToZero().
|
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(), V, and zeroedCopy().
|
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, dump(), escript::DataAbstract::getFunctionSpace(), escript::DataAbstract::getRank(), escript::DataAbstract::getShape(), escript::FunctionSpace::getTypeCode(), escript::DataAbstract::isComplex(), m_data_c, m_data_r, MPI_COMM_WORLD, MPI_INT, 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().
|
virtual |
Return an object with the same type, domain (and tags if appropriate) as this, but all values are zeroed.
Implements escript::DataAbstract.
References DataConstant(), escript::DataAbstract::getFunctionSpace(), escript::DataAbstract::getShape(), and escript::DataAbstract::isComplex().
Referenced by isConstant().
|
private |
Referenced by antihermitian(), antisymmetric(), complicate(), DataConstant(), eigenvalues(), getLength(), getTypedVectorRO(), getTypedVectorRW(), getVectorROC(), getVectorRWC(), hasNaN(), hermitian(), replaceNaN(), setSlice(), setToZero(), swapaxes(), symmetric(), toString(), trace(), and transpose().
|
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().
1.8.13