|
Thyra Package Browser (Single Doxygen Collection) Version of the Day
|
Efficient concrete implementation subclass for SPMD multi-vectors. More...
#include <Thyra_DefaultSpmdMultiVector_decl.hpp>

Private Member Functions | |
| ArrayRCP< Scalar > | createContiguousCopy (const ArrayView< const int > &cols) const |
Private Attributes | |
| RCP< const SpmdVectorSpaceBase < Scalar > > | spmdRangeSpace_ |
| RCP< const ScalarProdVectorSpaceBase < Scalar > > | domainSpace_ |
| ArrayRCP< Scalar > | localValues_ |
| Ordinal | leadingDim_ |
Constructors/initializers/accessors | |
| DefaultSpmdMultiVector () | |
| Construct to uninitialized. | |
| DefaultSpmdMultiVector (const RCP< const SpmdVectorSpaceBase< Scalar > > &spmdRangeSpace, const RCP< const ScalarProdVectorSpaceBase< Scalar > > &domainSpace) | |
Calls initialize() | |
| DefaultSpmdMultiVector (const RCP< const SpmdVectorSpaceBase< Scalar > > &spmdRangeSpace, const RCP< const ScalarProdVectorSpaceBase< Scalar > > &domainSpace, const ArrayRCP< Scalar > &localValues, const Ordinal leadingDim=-1) | |
Calls initialize() | |
| void | initialize (const RCP< const SpmdVectorSpaceBase< Scalar > > &spmdRangeSpace, const RCP< const ScalarProdVectorSpaceBase< Scalar > > &domainSpace) |
| Initialize only with vector spaces where storage is allocated internally.. | |
| void | initialize (const RCP< const SpmdVectorSpaceBase< Scalar > > &spmdRangeSpace, const RCP< const ScalarProdVectorSpaceBase< Scalar > > &domainSpace, const ArrayRCP< Scalar > &localValues, const Ordinal leadingDim=-1) |
| Initialize using externally allocated storage. | |
| void | uninitialize (RCP< const SpmdVectorSpaceBase< Scalar > > *spmdRangeSpace=NULL, RCP< const ScalarProdVectorSpaceBase< Scalar > > *domainSpace=NULL, ArrayRCP< Scalar > *localValues=NULL, Ordinal *leadingDim=NULL) |
| Set to an uninitialized state. | |
| RCP< const ScalarProdVectorSpaceBase < Scalar > > | domainScalarProdVecSpc () const |
| | |
Overridden public functions from SpmdMultiVectorBase | |
| RCP< const SpmdVectorSpaceBase < Scalar > > | spmdSpace () const |
| | |
Overridden protected functions from MultiVectorBase | |
| RCP< VectorBase< Scalar > > | nonconstColImpl (Ordinal j) |
| | |
| RCP< const MultiVectorBase < Scalar > > | contigSubViewImpl (const Range1D &colRng) const |
| | |
| RCP< MultiVectorBase< Scalar > > | nonconstContigSubViewImpl (const Range1D &colRng) |
| | |
| RCP< const MultiVectorBase < Scalar > > | nonContigSubViewImpl (const ArrayView< const int > &cols) const |
| | |
| RCP< MultiVectorBase< Scalar > > | nonconstNonContigSubViewImpl (const ArrayView< const int > &cols) |
| | |
Overridden protected functions from SpmdMultiVectorBase | |
| void | getNonconstLocalDataImpl (const Ptr< ArrayRCP< Scalar > > &localValues, const Ptr< Ordinal > &leadingDim) |
| | |
| void | getLocalDataImpl (const Ptr< ArrayRCP< const Scalar > > &localValues, const Ptr< Ordinal > &leadingDim) const |
| | |
Efficient concrete implementation subclass for SPMD multi-vectors.
This subclass provides a very efficient and very general concrete implementation of a Thyra::MultiVectorBase object.
Objects of this type generally should not be constructed directly by a client but instead by using the concrete vector space subclass Thyra::DefaultSpmdVectorSpace and using the function Thyra::createMembers().
The storage type can be anything since a Teuchos::ArrayRCP is used to pass in the local values pointer into the constructor and initialize().
Definition at line 55 of file Thyra_DefaultSpmdMultiVector_decl.hpp.
| Thyra::DefaultSpmdMultiVector< Scalar >::DefaultSpmdMultiVector | ( | ) |
Construct to uninitialized.
Definition at line 127 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| Thyra::DefaultSpmdMultiVector< Scalar >::DefaultSpmdMultiVector | ( | const RCP< const SpmdVectorSpaceBase< Scalar > > & | spmdRangeSpace, |
| const RCP< const ScalarProdVectorSpaceBase< Scalar > > & | domainSpace | ||
| ) |
Calls initialize()
Definition at line 133 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| Thyra::DefaultSpmdMultiVector< Scalar >::DefaultSpmdMultiVector | ( | const RCP< const SpmdVectorSpaceBase< Scalar > > & | spmdRangeSpace, |
| const RCP< const ScalarProdVectorSpaceBase< Scalar > > & | domainSpace, | ||
| const ArrayRCP< Scalar > & | localValues, | ||
| const Ordinal | leadingDim = -1 |
||
| ) |
Calls initialize()
Definition at line 143 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| void Thyra::DefaultSpmdMultiVector< Scalar >::initialize | ( | const RCP< const SpmdVectorSpaceBase< Scalar > > & | spmdRangeSpace, |
| const RCP< const ScalarProdVectorSpaceBase< Scalar > > & | domainSpace | ||
| ) |
Initialize only with vector spaces where storage is allocated internally..
| spmdRangeSpace | [in] Smart pointer to SpmdVectorSpaceBase object that defines the data distribution for spmdSpace() and range(). |
| domainSpace | [in] Smart pointer to VectorSpaceBase object that defines domain() space. |
Preconditions:
spmdRangeSpace.get()!=NULL domainSpace.get()!=NULL Definition at line 155 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| void Thyra::DefaultSpmdMultiVector< Scalar >::initialize | ( | const RCP< const SpmdVectorSpaceBase< Scalar > > & | spmdRangeSpace, |
| const RCP< const ScalarProdVectorSpaceBase< Scalar > > & | domainSpace, | ||
| const ArrayRCP< Scalar > & | localValues, | ||
| const Ordinal | leadingDim = -1 |
||
| ) |
Initialize using externally allocated storage.
| spmdRangeSpace | [in] Smart pointer to SpmdVectorSpaceBase object that defines the data distribution for spmdSpace() and range(). |
| domainSpace | [in] Smart pointer to VectorSpaceBase object that defines domain() space. |
| localValues | [in] Smart pointer to beginning of Fortran-style column-major array that defines the local localValues in the multi-vector. This array must be at least of dimension spmdRangeSpace->localSubDim()*domainSpace->dim() and (&*localValues)[ i + j*leadingDim ] gives the local value of the zero-based entry (i,j) where i=0...spmdSpace()->localSubDim()-1 and j=0...domainSpace->dim()-1. |
| leadingDim | [in] The leading dimension of the multi-vector. If -1, then is taken to be spmdRangeSpace->localSubDim(). |
Preconditions:
spmdRangeSpace.get()!=NULL domainSpace.get()!=NULL localValues.get()!=NULL leadingDim >= spmdRangeSpace->localSubDim() Definition at line 169 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| void Thyra::DefaultSpmdMultiVector< Scalar >::uninitialize | ( | RCP< const SpmdVectorSpaceBase< Scalar > > * | spmdRangeSpace = NULL, |
| RCP< const ScalarProdVectorSpaceBase< Scalar > > * | domainSpace = NULL, |
||
| ArrayRCP< Scalar > * | localValues = NULL, |
||
| Ordinal * | leadingDim = NULL |
||
| ) |
Set to an uninitialized state.
Postconditions:
this->spmdSpace().get() == NULL. Definition at line 195 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| RCP< const ScalarProdVectorSpaceBase< Scalar > > Thyra::DefaultSpmdMultiVector< Scalar >::domainScalarProdVecSpc | ( | ) | const [virtual] |
Implements Thyra::MultiVectorAdapterBase< Scalar >.
Definition at line 218 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| RCP< const SpmdVectorSpaceBase< Scalar > > Thyra::DefaultSpmdMultiVector< Scalar >::spmdSpace | ( | ) | const [virtual] |
Implements Thyra::SpmdMultiVectorBase< Scalar >.
Definition at line 232 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| RCP< VectorBase< Scalar > > Thyra::DefaultSpmdMultiVector< Scalar >::nonconstColImpl | ( | Ordinal | j | ) | [protected, virtual] |
Implements Thyra::MultiVectorBase< Scalar >.
Definition at line 246 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| RCP< const MultiVectorBase< Scalar > > Thyra::DefaultSpmdMultiVector< Scalar >::contigSubViewImpl | ( | const Range1D & | colRng | ) | const [protected, virtual] |
Reimplemented from Thyra::MultiVectorDefaultBase< Scalar >.
Definition at line 267 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| RCP< MultiVectorBase< Scalar > > Thyra::DefaultSpmdMultiVector< Scalar >::nonconstContigSubViewImpl | ( | const Range1D & | colRng | ) | [protected, virtual] |
Reimplemented from Thyra::MultiVectorDefaultBase< Scalar >.
Definition at line 288 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| RCP< const MultiVectorBase< Scalar > > Thyra::DefaultSpmdMultiVector< Scalar >::nonContigSubViewImpl | ( | const ArrayView< const int > & | cols | ) | const [protected, virtual] |
Reimplemented from Thyra::MultiVectorDefaultBase< Scalar >.
Definition at line 305 of file Thyra_DefaultSpmdMultiVector_def.hpp.
References THYRA_DEBUG_ASSERT_MV_COLS.
| RCP< MultiVectorBase< Scalar > > Thyra::DefaultSpmdMultiVector< Scalar >::nonconstNonContigSubViewImpl | ( | const ArrayView< const int > & | cols | ) | [protected, virtual] |
Reimplemented from Thyra::MultiVectorDefaultBase< Scalar >.
Definition at line 322 of file Thyra_DefaultSpmdMultiVector_def.hpp.
References THYRA_DEBUG_ASSERT_MV_COLS.
| void Thyra::DefaultSpmdMultiVector< Scalar >::getNonconstLocalDataImpl | ( | const Ptr< ArrayRCP< Scalar > > & | localValues, |
| const Ptr< Ordinal > & | leadingDim | ||
| ) | [protected, virtual] |
Implements Thyra::SpmdMultiVectorBase< Scalar >.
Definition at line 346 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| void Thyra::DefaultSpmdMultiVector< Scalar >::getLocalDataImpl | ( | const Ptr< ArrayRCP< const Scalar > > & | localValues, |
| const Ptr< Ordinal > & | leadingDim | ||
| ) | const [protected, virtual] |
Implements Thyra::SpmdMultiVectorBase< Scalar >.
Definition at line 359 of file Thyra_DefaultSpmdMultiVector_def.hpp.
| ArrayRCP< Scalar > Thyra::DefaultSpmdMultiVector< Scalar >::createContiguousCopy | ( | const ArrayView< const int > & | cols | ) | const [private] |
Definition at line 376 of file Thyra_DefaultSpmdMultiVector_def.hpp.
References Thyra::copy().
RCP<const SpmdVectorSpaceBase<Scalar> > Thyra::DefaultSpmdMultiVector< Scalar >::spmdRangeSpace_ [private] |
Definition at line 194 of file Thyra_DefaultSpmdMultiVector_decl.hpp.
RCP<const ScalarProdVectorSpaceBase<Scalar> > Thyra::DefaultSpmdMultiVector< Scalar >::domainSpace_ [private] |
Definition at line 195 of file Thyra_DefaultSpmdMultiVector_decl.hpp.
ArrayRCP<Scalar> Thyra::DefaultSpmdMultiVector< Scalar >::localValues_ [private] |
Definition at line 196 of file Thyra_DefaultSpmdMultiVector_decl.hpp.
Ordinal Thyra::DefaultSpmdMultiVector< Scalar >::leadingDim_ [private] |
Definition at line 197 of file Thyra_DefaultSpmdMultiVector_decl.hpp.
1.7.4