Chaste  Release::2017.1
DistributedVector::Stripe Class Reference

#include <DistributedVector.hpp>

+ Collaboration diagram for DistributedVector::Stripe:

Public Member Functions

 Stripe (DistributedVector parallelVec, unsigned stripe)
 
DistributedVectorFactoryGetFactory ()
 
doubleoperator[] (unsigned globalIndex)
 
doubleoperator[] (Iterator index)
 

Private Attributes

unsigned mStride
 
unsigned mStripe
 
doublempVec
 
unsigned mLo
 
unsigned mHi
 
DistributedVectorFactorympFactory
 

Detailed Description

Provide access to a particular stripe of a striped vector.

A striped vector has multiple types of information encoded within a single vector, with a layout like [x_1, y_1, z_1, x_2, y_2, z_2, ... x_n, y_n, z_n]. This class provides easy access to, for example, the x values.

Definition at line 194 of file DistributedVector.hpp.

Constructor & Destructor Documentation

DistributedVector::Stripe::Stripe ( DistributedVector  parallelVec,
unsigned  stripe 
)
inline

Constructor.

Parameters
parallelVecstriped vector
stripenumber of this stripe within the vector starting from 0

Definition at line 210 of file DistributedVector.hpp.

References DistributedVector::GetFactory(), DistributedVector::GetHigh(), DistributedVector::GetLow(), DistributedVector::mpVec, and DistributedVector::mSizeMultiplier.

Member Function Documentation

DistributedVectorFactory* DistributedVector::Stripe::GetFactory ( )
inline
Returns
the factory used to create this vector.

Definition at line 224 of file DistributedVector.hpp.

References DistributedVector::mpFactory.

Referenced by ParallelColumnDataWriter::PutVectorStripe().

double& DistributedVector::Stripe::operator[] ( unsigned  globalIndex)
inline

Access a particular element of the stripe if on this processor. For use in tests. Will throw a DistributedVectorException if the specified element is not on this process.

Parameters
globalIndexindex within the stripe
Returns
value of striped vector

Definition at line 237 of file DistributedVector.hpp.

References DistributedVector::mLo.

double& DistributedVector::Stripe::operator[] ( Iterator  index)
inline
Parameters
index
Returns
value of striped distributed vector pointed to by index.

Definition at line 250 of file DistributedVector.hpp.

References DistributedVector::Iterator::Local.

Member Data Documentation

unsigned DistributedVector::Stripe::mHi
private

One above the last entry owned by the current processor.

Definition at line 200 of file DistributedVector.hpp.

unsigned DistributedVector::Stripe::mLo
private

The first entry owned by the current processor.

Definition at line 199 of file DistributedVector.hpp.

DistributedVectorFactory* DistributedVector::Stripe::mpFactory
private

The factory that created our parent vector.

Definition at line 201 of file DistributedVector.hpp.

double* DistributedVector::Stripe::mpVec
private

The local part of the underlying PETSc vector.

Definition at line 198 of file DistributedVector.hpp.

unsigned DistributedVector::Stripe::mStride
private

Number of types of information in the vector.

Definition at line 196 of file DistributedVector.hpp.

unsigned DistributedVector::Stripe::mStripe
private

The number of this stripe within the vector starting from 0.

Definition at line 197 of file DistributedVector.hpp.


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