Chaste Commit::baa90ac2819b962188b7562f2326be23c47859a7
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

◆ Stripe()

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(), mHi, mLo, mpFactory, DistributedVector::mpVec, mpVec, DistributedVector::mSizeMultiplier, mStride, and mStripe.

Member Function Documentation

◆ GetFactory()

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

Definition at line 224 of file DistributedVector.hpp.

References mpFactory.

Referenced by ParallelColumnDataWriter::PutVectorStripe().

◆ operator[]() [1/2]

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 mpVec, mStride, and mStripe.

◆ operator[]() [2/2]

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 mHi, mLo, mpVec, mStride, and mStripe.

Member Data Documentation

◆ mHi

unsigned DistributedVector::Stripe::mHi
private

One above the last entry owned by the current processor.

Definition at line 200 of file DistributedVector.hpp.

Referenced by Stripe(), and operator[]().

◆ mLo

unsigned DistributedVector::Stripe::mLo
private

The first entry owned by the current processor.

Definition at line 199 of file DistributedVector.hpp.

Referenced by Stripe(), and operator[]().

◆ mpFactory

DistributedVectorFactory* DistributedVector::Stripe::mpFactory
private

The factory that created our parent vector.

Definition at line 201 of file DistributedVector.hpp.

Referenced by Stripe(), and GetFactory().

◆ mpVec

double* DistributedVector::Stripe::mpVec
private

The local part of the underlying PETSc vector.

Definition at line 198 of file DistributedVector.hpp.

Referenced by Stripe(), operator[](), and operator[]().

◆ mStride

unsigned DistributedVector::Stripe::mStride
private

Number of types of information in the vector.

Definition at line 196 of file DistributedVector.hpp.

Referenced by Stripe(), operator[](), and operator[]().

◆ mStripe

unsigned DistributedVector::Stripe::mStripe
private

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

Definition at line 197 of file DistributedVector.hpp.

Referenced by Stripe(), operator[](), and operator[]().


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