Advanced Multi-Physics (AMP)
On-Line Documentation
Public Types | Public Member Functions | Protected Attributes | List of all members
AMP::LinearAlgebra::Vector Class Reference

Abstraction of a discrete Vector in a linear simulation. More...

#include <Vector.h>

Inheritance diagram for AMP::LinearAlgebra::Vector:
Inheritance graph
[legend]

Public Types

typedef std::shared_ptr< const Vectorconst_shared_ptr
 
typedef std::shared_ptr< Vectorshared_ptr
 Shorthand for shared pointer to Vector.
 

Public Member Functions

void abs (const Vector &x)
 Set this to the component-wise absolute value of a vector. \(\mathit{this}_i = |x_i|\).
 
void add (const Vector &x, const Vector &y)
 Adds two vectors. For Vectors, \(\mathit{this}_i = x_i + y_i\).
 
template<typename TYPE >
void addGhostValuesByGlobalID (int num, const size_t *indices, const TYPE *vals)
 
void addScalar (const Vector &x, const Scalar &alpha)
 set vector to \(x + \alpha \bar{1}\).
 
template<typename TYPE >
void addValuesByGlobalID (int num, const size_t *indices, const TYPE *vals)
 
template<class TYPE >
void addValuesByLocalID (int num, size_t *indices, const TYPE *vals)
 
void axpby (const Scalar &alpha, const Scalar &beta, const Vector &x)
 Set this vector alpha * x + this. \(\mathit{this}_i = \alpha x_i + \beta \mathit{this}_i \).
 
void axpy (const Scalar &alpha, const Vector &x, const Vector &y)
 Set this vector to alpha * x + y. \(\mathit{this}_i = \alpha x_i + y_i\).
 
template<class TYPE = double>
VectorDataIterator< TYPEbegin ()
 Return an iterator to the beginning of the data.
 
template<class TYPE = double>
VectorDataIterator< const TYPEbegin () const
 Return an iterator to the beginning of the data.
 
std::shared_ptr< Vectorclone () const
 Allocate space in the same fashion as this
 
std::shared_ptr< Vectorclone (const std::shared_ptr< Variable > name) const
 Allocate space in the same fashion as this
 
std::shared_ptr< Vectorclone (const std::string &name) const
 Allocate space in the same fashion as this
 
std::shared_ptr< VectorDatacloneData () const
 
template<class TYPE = double>
VectorDataIterator< const TYPEconstBegin () const
 Return an iterator to the beginning of the data.
 
template<class TYPE = double>
VectorDataIterator< const TYPEconstEnd () const
 Return an iterator to the end of the data.
 
bool containsGlobalElement (size_t id)
 
void copy (const Vector &x)
 Set vector equal to x For Vectors, \(\mathit{this}_i = x_i\).
 
void copyCast (std::shared_ptr< const Vector > x)
 Copy up/down-casting this
 
virtual void copyVector (std::shared_ptr< const Vector > x)
 
void dataChanged ()
 
void divide (const Vector &x, const Vector &y)
 Component-wise divide one vector by another. For Vectors, \(\mathit{this}_i = x_i / y_i\).
 
Scalar dot (const Vector &x) const
 Return the dot product of this vector with the argument vector.
 
void dumpGhostedData (std::ostream &out, size_t offset=0) const
 
void dumpOwnedData (std::ostream &out, size_t GIDoffset=0, size_t LIDoffset=0) const
 
template<class TYPE = double>
VectorDataIterator< TYPEend ()
 Return an iterator to the end of the data.
 
template<class TYPE = double>
VectorDataIterator< const TYPEend () const
 Return an iterator to the end of the data.
 
bool equals (const Vector &x, const Scalar &tol=1e-6) const
 Check if two vectors are equal.
 
const AMP_MPIgetComm () const
 
std::shared_ptr< CommunicationListgetCommunicationList () const
 Get the CommunicationList for this Vector.
 
uint64_t getDataID () const
 
std::shared_ptr< AMP::Discretization::DOFManagergetDOFManager () const
 Get the DOFManager for this Vector.
 
size_t getGhostSize () const
 
template<typename TYPE = double>
TYPE getGhostValueByGlobalID (size_t i) const
 Return a ghost value from the vector.
 
template<typename TYPE >
void getGhostValuesByGlobalID (int num, const size_t *indices, TYPE *vals) const
 
size_t getGlobalSize () const
 
uint64_t getID () const
 Get a unique id hash for the vector.
 
size_t getLocalSize () const
 
size_t getLocalStartID () const
 
template<typename TYPE = double>
TYPE getLocalValueByGlobalID (size_t i) const
 Return a local value from the vector.
 
AMP::Utilities::MemoryType getMemoryLocation () const
 returns the memory location for data
 
std::string getName () const
 Return the vector name.
 
size_t getNumberOfComponents () const
 Return integer number of patch data components in vector.
 
template<class TYPE >
void getRawData (TYPE *buf) const
 
template<typename RETURN_TYPE >
RETURN_TYPEgetRawDataBlock (size_t i=0)
 Obtain a particular contiguous block of data cast to RETURN_TYPE.
 
template<typename RETURN_TYPE >
const RETURN_TYPEgetRawDataBlock (size_t i=0) const
 Obtain a particular contiguous block of data cast to RETURN_TYPE.
 
voidgetRawDataBlockAsVoid (size_t i)
 
const voidgetRawDataBlockAsVoid (size_t i) const
 
autogetUnits () const
 Get the units for this Vector.
 
AMP::LinearAlgebra::UpdateState getUpdateStatus () const
 
template<typename TYPE = double>
TYPE getValueByGlobalID (size_t i) const
 Return a value from the vector.
 
template<typename TYPE = double>
TYPE getValueByLocalID (size_t i) const
 Return a local value from the vector.
 
template<typename TYPE >
void getValuesByGlobalID (int num, const size_t *indices, TYPE *vals) const
 
template<typename TYPE >
void getValuesByLocalID (int num, const size_t *indices, TYPE *vals) const
 
std::shared_ptr< VariablegetVariable ()
 Get the variable associated with this vector.
 
const std::shared_ptr< VariablegetVariable () const
 Get the variable associated with this vector.
 
std::shared_ptr< VectorDatagetVectorData ()
 Return the pointer to the VectorData.
 
std::shared_ptr< const VectorDatagetVectorData () const
 Return the pointer to the VectorData.
 
std::shared_ptr< VectorOperationsgetVectorOperations ()
 Return the pointer to the VectorOperation.
 
std::shared_ptr< const VectorOperationsgetVectorOperations () const
 Return the pointer to the VectorOperation.
 
template<typename VIEW_TYPE >
std::shared_ptr< VIEW_TYPEgetView () const
 If a particular type of view of this Vector has been created, return it.
 
bool hasComm () const
 
template<typename VIEW_TYPE >
bool hasView () const
 If a particular type of view of this Vector has been created, return true.
 
template<typename TYPE >
bool isType (size_t block) const
 
Scalar L1Norm () const
 Return discrete \( L_1 \) -norm of this vector.
 
Scalar L2Norm () const
 Return discrete \( L_2 \) -norm of this vector.
 
std::pair< Scalar, ScalarL2NormAndDot (const Vector &x) const
 Return the L2 norm of this vector and the dot product with the argument vector.
 
void linearSum (const Scalar &alpha, const Vector &x, const Scalar &beta, const Vector &y)
 Set a vector to be a linear combination of two vectors. \(\mathit{this}_i = \alpha x_i + \beta y_i\).
 
void makeConsistent ()
 
void makeConsistent (AMP::LinearAlgebra::ScatterType t)
 
Scalar max () const
 Return the maximum value of the vector. \(\max_i \mathit{this}_i\).
 
Scalar maxNorm () const
 Return the \( L_\infty \) -norm of this vector.
 
Scalar mean () const
 Return the maximum value of the vector. \(\max_i \mathit{this}_i\).
 
Scalar min () const
 Return the minimum value of the vector. \(\min_i \mathit{this}_i\).
 
Scalar minQuotient (const Vector &x) const
 Returns the minimum of the quotient of two vectors:
 
void multiply (const Vector &x, const Vector &y)
 Component-wise multiply one vector with another. For Vectors, \(\mathit{this}_i = x_i y_i\).
 
size_t numberOfDataBlocks () const
 
void operator= (const Vector &)=delete
 No direct copying.
 
template<class TYPE >
void putRawData (const TYPE *buf)
 
virtual std::unique_ptr< VectorrawClone () const
 Allocate space in the same fashion as this
 
void reciprocal (const Vector &x)
 Set this to the component-wise reciprocal of a vector. \(\mathit{this}_i = 1/x_i\).
 
virtual void registerChildObjects (AMP::IO::RestartManager *manager) const
 Register any child objects.
 
template<typename VIEW_TYPE >
void registerView (std::shared_ptr< VIEW_TYPE > v) const
 Add a view of this vector to an internal queue.
 
virtual void rename (const std::string &src, const std::string &dst)
 Renames.
 
virtual void reset ()
 Reset.
 
void scale (const Scalar &alpha)
 Scale a vector. For Vectors, \(\mathit{this}_i = \alpha\mathit{this}_i\).
 
void scale (const Scalar &alpha, const Vector &x)
 Set vector equal to scaled input. For Vectors, \(\mathit{this}_i = \alpha x_i\).
 
shared_ptr select (const VectorSelector &criterion)
 Selects a portion of this vector and creates a view.
 
const_shared_ptr select (const VectorSelector &criterion) const
 Selects a portion of this vector and creates a view.
 
virtual Vector::shared_ptr selectInto (const VectorSelector &criterion)
 Selects a portion of this vector and puts a view into a vector.
 
virtual Vector::const_shared_ptr selectInto (const VectorSelector &criterion) const
 
void setCommunicationList (std::shared_ptr< CommunicationList > comm)
 
template<typename TYPE >
void setGhostValuesByGlobalID (int num, const size_t *indices, const TYPE *vals)
 
void setMax (const Scalar &val)
 modify vector to have max value 'val' specified
 
void setMin (const Scalar &val)
 modify vector to have min value 'val' specified
 
void setName (const std::string &name)
 Set the vector name.
 
void setNoGhosts ()
 Ensure this vector has no ghosts.
 
void setRandomValues ()
 Set data in this vector to random values on [0,1).
 
void setToScalar (const Scalar &alpha)
 Set all compenents of a vector to a scalar. For Vectors, the components of this are set to \(\alpha\).
 
virtual void setUnits (AMP::Units)
 Get the units for this Vector.
 
void setUpdateStatus (AMP::LinearAlgebra::UpdateState state)
 
template<typename TYPE >
void setValueByGlobalID (size_t i, TYPE v)
 Set a value in the vector.
 
template<typename TYPE >
void setValuesByGlobalID (int num, const size_t *indices, const TYPE *vals)
 
template<class TYPE >
void setValuesByLocalID (int num, size_t *indices, const TYPE *vals)
 
void setVariable (const std::shared_ptr< Variable > name)
 Change the variable associated with this vector.
 
std::shared_ptr< Vectorshared_from_this ()
 
std::shared_ptr< const Vectorshared_from_this () const
 
size_t sizeOfDataBlock (size_t i=0) const
 
size_t sizeofDataBlockType (size_t i) const
 
Vector::shared_ptr subsetVectorForComponent (size_t index)
 Retrieve ith subvector.
 
Vector::const_shared_ptr subsetVectorForComponent (size_t index) const
 Retrieve ith subvector.
 
Vector::shared_ptr subsetVectorForVariable (const std::string &name)
 Retrieve a sub-vector associated with a particular Variable.
 
Vector::const_shared_ptr subsetVectorForVariable (const std::string &name) const
 Retrieve a sub-vector associated with a particular Variable.
 
Vector::shared_ptr subsetVectorForVariable (std::shared_ptr< const Variable > var)
 Retrieve a sub-vector associated with a particular Variable.
 
Vector::const_shared_ptr subsetVectorForVariable (std::shared_ptr< const Variable > var) const
 Retrieve a sub-vector associated with a particular Variable.
 
void subtract (const Vector &x, const Vector &y)
 Subtracts one vector from another. For Vectors, \(\mathit{this}_i = x_i - y_i\).
 
Scalar sum () const
 Return the maximum value of the vector. \(\max_i \mathit{this}_i\).
 
void swapData (VectorData &rhs)
 
virtual void swapVectors (Vector &other)
 Swap the data in this Vector for another.
 
void swapVectors (Vector::shared_ptr other)
 Swap the data in this Vector for another.
 
virtual std::string type () const
 Return the name of the vector.
 
 Vector ()
 Empty Constructor.
 
 Vector (const std::string &name)
 Create an empty vector with the given name.
 
 Vector (const Vector &)=delete
 No direct copying.
 
 Vector (int64_t fid, AMP::IO::RestartManager *manager)
 Read restart data to file.
 
 Vector (std::shared_ptr< VectorData > data, std::shared_ptr< VectorOperations > ops, std::shared_ptr< Variable > var, std::shared_ptr< AMP::Discretization::DOFManager > DOFManager)
 Create an vector.
 
std::string VectorDataName () const
 
virtual void writeRestart (int64_t fid) const
 Write restart data to file.
 
Scalar wrmsNorm (const Vector &x, const Vector &y) const
 Return a weighted norm of a vector.
 
Scalar wrmsNormMask (const Vector &x, const Vector &mask, const Vector &y) const
 Return a weighted norm of a subset of a vector.
 
void zero ()
 Set vector entries (including ghosts) to zero.
 
virtual ~Vector ()
 Destructor.
 

Protected Attributes

std::shared_ptr< AMP::Discretization::DOFManagerd_DOFManager
 
AMP::Units d_units
 
std::shared_ptr< Variabled_Variable
 
std::shared_ptr< VectorDatad_VectorData
 
std::shared_ptr< VectorOperationsd_VectorOps
 
std::shared_ptr< std::vector< std::any > > d_Views
 
std::weak_ptr< Vectorweak_ptr_
 

Detailed Description

Abstraction of a discrete Vector in a linear simulation.

This class encapsulates many BLAS level 1 operations for use within AMP. There are a variety of subclasses that implement wrappers around various libraries so that these vectors can be used by methods in those libraries. Also, there are several subclasses that allow combination of Vectors. In general, a user will only need to use Vector as the others are different implementation details the developer need not manage.

Vectors are created by factories. For instance, SimpleVector implements a create method that returns a shared pointer to a Vector (Vector::shared_ptr). The MeshAdpater interface implements a createVector interface that also returns a Vector::shared_ptr. Unless some specialized use of a Vector is needed (see SimpleVector), the Vector::shared_ptr is the only type that should be used when implementing math in AMP.

Each Vector is associated with a Variable. This Variable describes the field this vector represents. The problem may be discretized on a domain and linearized to \(\mathbf{L}\mathbf{\tilde{u}}=\mathbf{f}\). In this case \(\mathbf{\tilde{u}}\) and \(\mathbf{f}\) are Vectors.

Definition at line 53 of file Vector.h.

Member Typedef Documentation

◆ const_shared_ptr

Definition at line 65 of file Vector.h.

◆ shared_ptr

Shorthand for shared pointer to Vector.

Definition at line 60 of file Vector.h.

Constructor & Destructor Documentation

◆ Vector() [1/5]

AMP::LinearAlgebra::Vector::Vector ( )

Empty Constructor.

◆ Vector() [2/5]

AMP::LinearAlgebra::Vector::Vector ( const std::string &  name)
explicit

Create an empty vector with the given name.

Parameters
[in]nameName of the vector

◆ Vector() [3/5]

AMP::LinearAlgebra::Vector::Vector ( std::shared_ptr< VectorData data,
std::shared_ptr< VectorOperations ops,
std::shared_ptr< Variable var,
std::shared_ptr< AMP::Discretization::DOFManager DOFManager 
)

Create an vector.

Parameters
[in]dataVector data
[in]opsVector operations
[in]varVariable
[in]DOFManagerDOF manager (may be null)

◆ Vector() [4/5]

AMP::LinearAlgebra::Vector::Vector ( const Vector )
delete

No direct copying.

◆ ~Vector()

virtual AMP::LinearAlgebra::Vector::~Vector ( )
virtual

Destructor.

◆ Vector() [5/5]

AMP::LinearAlgebra::Vector::Vector ( int64_t  fid,
AMP::IO::RestartManager manager 
)

Read restart data to file.

This function will create a variable from the restart file

Parameters
fidFile identifier to write
managerRestart manager

Member Function Documentation

◆ abs()

void AMP::LinearAlgebra::Vector::abs ( const Vector x)

Set this to the component-wise absolute value of a vector. \(\mathit{this}_i = |x_i|\).

Parameters
[in]xa vector

◆ add()

void AMP::LinearAlgebra::Vector::add ( const Vector x,
const Vector y 
)

Adds two vectors. For Vectors, \(\mathit{this}_i = x_i + y_i\).

Parameters
[in]xInput vector x
[in]yInput vector y

◆ addGhostValuesByGlobalID()

template<typename TYPE >
void AMP::LinearAlgebra::Vector::addGhostValuesByGlobalID ( int  num,
const size_t indices,
const TYPE vals 
)
inline

Definition at line 728 of file Vector.h.

References d_VectorData.

◆ addScalar()

void AMP::LinearAlgebra::Vector::addScalar ( const Vector x,
const Scalar alpha 
)

set vector to \(x + \alpha \bar{1}\).

Parameters
[in]xa vector
[in]alphaa scalar

for vectors, \(\mathit{this}_i = x_i + \alpha\).

◆ addValuesByGlobalID()

template<typename TYPE >
void AMP::LinearAlgebra::Vector::addValuesByGlobalID ( int  num,
const size_t indices,
const TYPE vals 
)
inline

Definition at line 738 of file Vector.h.

References d_VectorData.

◆ addValuesByLocalID()

template<class TYPE >
void AMP::LinearAlgebra::Vector::addValuesByLocalID ( int  num,
size_t indices,
const TYPE vals 
)
inline

Definition at line 672 of file Vector.h.

References d_VectorData.

◆ axpby()

void AMP::LinearAlgebra::Vector::axpby ( const Scalar alpha,
const Scalar beta,
const Vector x 
)

Set this vector alpha * x + this. \(\mathit{this}_i = \alpha x_i + \beta \mathit{this}_i \).

Parameters
[in]alphaa scalar
[in]betaa scalar
[in]xa vector

◆ axpy()

void AMP::LinearAlgebra::Vector::axpy ( const Scalar alpha,
const Vector x,
const Vector y 
)

Set this vector to alpha * x + y. \(\mathit{this}_i = \alpha x_i + y_i\).

Parameters
[in]alphaa scalar
[in]xa vector
[in]ya vector

◆ begin() [1/2]

template<class TYPE = double>
VectorDataIterator< TYPE > AMP::LinearAlgebra::Vector::begin ( )
inline

Return an iterator to the beginning of the data.

Returns
A VectorDataIterator

Since the Vector presents an interface to a contiguous block of data, it is natural for it to provide a random access iterator.

Warning
The non-const version of the iterators will automatically leave the vector in a non-consistent state. The user may be required to call makeConsistent.

Definition at line 572 of file Vector.h.

References d_VectorData.

◆ begin() [2/2]

template<class TYPE = double>
VectorDataIterator< const TYPE > AMP::LinearAlgebra::Vector::begin ( ) const
inline

Return an iterator to the beginning of the data.

Returns
A VectorDataIterator

Since the Vector presents an interface to a contiguous block of data, it is natural for it to provide a random access iterator.

Warning
The non-const version of the iterators will automatically leave the vector in a non-consistent state. The user may be required to call makeConsistent.

Definition at line 579 of file Vector.h.

References d_VectorData.

◆ clone() [1/3]

std::shared_ptr< Vector > AMP::LinearAlgebra::Vector::clone ( ) const

Allocate space in the same fashion as this

This will allocate new space with identical layout as this. It will have the same number of blocks, each with the same engines and same number of entries. The vector will be associated with the same Variable.

Returns
A Vector shared pointer

◆ clone() [2/3]

std::shared_ptr< Vector > AMP::LinearAlgebra::Vector::clone ( const std::shared_ptr< Variable name) const

Allocate space in the same fashion as this

This will allocate new space with identical layout as this. It will have the same number of blocks, each with the same engines and same number of entries.

Parameters
[in]nameThe variable to associate with the new vector
Returns
A Vector shared pointer

◆ clone() [3/3]

std::shared_ptr< Vector > AMP::LinearAlgebra::Vector::clone ( const std::string &  name) const

Allocate space in the same fashion as this

This will allocate new space with identical layout as this. It will have the same number of blocks, each with the same engines and same number of entries. The vector will be associated with a clone of the same Variable with the given name.

Parameters
[in]nameName to give the variable associated with this vector
Returns
A Vector shared pointer

◆ cloneData()

std::shared_ptr< VectorData > AMP::LinearAlgebra::Vector::cloneData ( ) const
inline

Definition at line 696 of file Vector.h.

References d_VectorData.

◆ constBegin()

template<class TYPE = double>
VectorDataIterator< const TYPE > AMP::LinearAlgebra::Vector::constBegin ( ) const
inline

Return an iterator to the beginning of the data.

Returns
A VectorDataIterator

Since the Vector presents an interface to a contiguous block of data, it is natural for it to provide a random access iterator.

Warning
The non-const version of the iterators will automatically leave the vector in a non-consistent state. The user may be required to call makeConsistent.

Definition at line 586 of file Vector.h.

References d_VectorData.

◆ constEnd()

template<class TYPE = double>
VectorDataIterator< const TYPE > AMP::LinearAlgebra::Vector::constEnd ( ) const
inline

Return an iterator to the end of the data.

Returns
A VectorDataIterator

Since the Vector presents an interface to a contiguous block of data, it is natural for it to provide a random access iterator.

Warning
The non-const version of the iterators will automatically leave the vector in a non-consistent state. The user may be required to call makeConsistent.

Definition at line 616 of file Vector.h.

References d_VectorData.

◆ containsGlobalElement()

bool AMP::LinearAlgebra::Vector::containsGlobalElement ( size_t  id)
inline

Definition at line 758 of file Vector.h.

References d_VectorData.

◆ copy()

void AMP::LinearAlgebra::Vector::copy ( const Vector x)

Set vector equal to x For Vectors, \(\mathit{this}_i = x_i\).

Parameters
[in]xa vector

◆ copyCast()

void AMP::LinearAlgebra::Vector::copyCast ( std::shared_ptr< const Vector x)

Copy up/down-casting this

The vector will be associated with the same Variable, and will contain a copy of the data in x after up/down-casting it.

Parameters
[in]xa vector

◆ copyVector()

virtual void AMP::LinearAlgebra::Vector::copyVector ( std::shared_ptr< const Vector x)
inlinevirtual

Definition at line 134 of file Vector.h.

References AMP_ASSERT, d_VectorData, and d_VectorOps.

◆ dataChanged()

void AMP::LinearAlgebra::Vector::dataChanged ( )
inline

Definition at line 719 of file Vector.h.

References d_VectorData.

◆ divide()

void AMP::LinearAlgebra::Vector::divide ( const Vector x,
const Vector y 
)

Component-wise divide one vector by another. For Vectors, \(\mathit{this}_i = x_i / y_i\).

Parameters
[in]xInput vector x
[in]yInput vector y

◆ dot()

Scalar AMP::LinearAlgebra::Vector::dot ( const Vector x) const

Return the dot product of this vector with the argument vector.

Returns

\[\sum_i x_i\mathit{this}_i\]

Parameters
[in]xa vector

◆ dumpGhostedData()

void AMP::LinearAlgebra::Vector::dumpGhostedData ( std::ostream &  out,
size_t  offset = 0 
) const
inline

Definition at line 767 of file Vector.h.

References d_VectorData.

◆ dumpOwnedData()

void AMP::LinearAlgebra::Vector::dumpOwnedData ( std::ostream &  out,
size_t  GIDoffset = 0,
size_t  LIDoffset = 0 
) const
inline

Definition at line 763 of file Vector.h.

References d_VectorData.

◆ end() [1/2]

template<class TYPE = double>
VectorDataIterator< TYPE > AMP::LinearAlgebra::Vector::end ( )
inline

Return an iterator to the end of the data.

Returns
A VectorDataIterator

Since the Vector presents an interface to a contiguous block of data, it is natural for it to provide a random access iterator.

Warning
The non-const version of the iterators will automatically leave the vector in a non-consistent state. The user may be required to call makeConsistent.

Definition at line 602 of file Vector.h.

References d_VectorData.

◆ end() [2/2]

template<class TYPE = double>
VectorDataIterator< const TYPE > AMP::LinearAlgebra::Vector::end ( ) const
inline

Return an iterator to the end of the data.

Returns
A VectorDataIterator

Since the Vector presents an interface to a contiguous block of data, it is natural for it to provide a random access iterator.

Warning
The non-const version of the iterators will automatically leave the vector in a non-consistent state. The user may be required to call makeConsistent.

Definition at line 609 of file Vector.h.

References d_VectorData.

◆ equals()

bool AMP::LinearAlgebra::Vector::equals ( const Vector x,
const Scalar tol = 1e-6 
) const

Check if two vectors are equal.

Returns true if each vaue is within tol of the corresponding vaue in the other vector

Parameters
[in]xa vector
[in]toltolerance to use

◆ getComm()

const AMP_MPI & AMP::LinearAlgebra::Vector::getComm ( ) const
inline

Definition at line 646 of file Vector.h.

References d_VectorData.

◆ getCommunicationList()

std::shared_ptr< CommunicationList > AMP::LinearAlgebra::Vector::getCommunicationList ( ) const
inline

Get the CommunicationList for this Vector.

Definition at line 711 of file Vector.h.

References d_VectorData.

◆ getDataID()

uint64_t AMP::LinearAlgebra::Vector::getDataID ( ) const
inline

Definition at line 676 of file Vector.h.

References d_VectorData.

◆ getDOFManager()

std::shared_ptr< AMP::Discretization::DOFManager > AMP::LinearAlgebra::Vector::getDOFManager ( ) const
inline

Get the DOFManager for this Vector.

◆ getGhostSize()

size_t AMP::LinearAlgebra::Vector::getGhostSize ( ) const
inline

Definition at line 721 of file Vector.h.

References d_VectorData.

◆ getGhostValueByGlobalID()

template<typename TYPE = double>
TYPE AMP::LinearAlgebra::Vector::getGhostValueByGlobalID ( size_t  i) const

Return a ghost value from the vector.

Parameters
[in]iThe global index into the vector
Returns
The value stored at the index

This uses getGhostValuesByGlobalID to get the value

◆ getGhostValuesByGlobalID()

template<typename TYPE >
void AMP::LinearAlgebra::Vector::getGhostValuesByGlobalID ( int  num,
const size_t indices,
TYPE vals 
) const
inline

◆ getGlobalSize()

size_t AMP::LinearAlgebra::Vector::getGlobalSize ( ) const
inline

Definition at line 664 of file Vector.h.

References d_VectorData.

◆ getID()

uint64_t AMP::LinearAlgebra::Vector::getID ( ) const

Get a unique id hash for the vector.

◆ getLocalSize()

size_t AMP::LinearAlgebra::Vector::getLocalSize ( ) const
inline

Definition at line 663 of file Vector.h.

References d_VectorData.

◆ getLocalStartID()

size_t AMP::LinearAlgebra::Vector::getLocalStartID ( ) const
inline

Definition at line 665 of file Vector.h.

References d_VectorData.

◆ getLocalValueByGlobalID()

template<typename TYPE = double>
TYPE AMP::LinearAlgebra::Vector::getLocalValueByGlobalID ( size_t  i) const

Return a local value from the vector.

Parameters
[in]iThe global index into the vector
Returns
The value stored at the index

This uses getValuesByGlobalID to get the value

◆ getMemoryLocation()

AMP::Utilities::MemoryType AMP::LinearAlgebra::Vector::getMemoryLocation ( ) const
inline

returns the memory location for data

Definition at line 779 of file Vector.h.

References d_VectorData.

◆ getName()

std::string AMP::LinearAlgebra::Vector::getName ( ) const

Return the vector name.

◆ getNumberOfComponents()

size_t AMP::LinearAlgebra::Vector::getNumberOfComponents ( ) const

Return integer number of patch data components in vector.

◆ getRawData()

template<class TYPE >
void AMP::LinearAlgebra::Vector::getRawData ( TYPE buf) const
inline

Definition at line 659 of file Vector.h.

References d_VectorData.

◆ getRawDataBlock() [1/2]

template<typename RETURN_TYPE >
RETURN_TYPE * AMP::LinearAlgebra::Vector::getRawDataBlock ( size_t  i = 0)
inline

Obtain a particular contiguous block of data cast to RETURN_TYPE.

Template Parameters
RETURN_TYPEThe pointer type of the return
Parameters
[in]iWhich block
Returns
A contiguous array of type RETURN_TYPE

Definition at line 627 of file Vector.h.

References d_VectorData.

◆ getRawDataBlock() [2/2]

template<typename RETURN_TYPE >
const RETURN_TYPE * AMP::LinearAlgebra::Vector::getRawDataBlock ( size_t  i = 0) const
inline

Obtain a particular contiguous block of data cast to RETURN_TYPE.

Template Parameters
RETURN_TYPEThe pointer type of the return
Parameters
[in]iWhich block
Returns
A const contiguous array of type RETURN_TYPE

Definition at line 638 of file Vector.h.

References d_VectorData.

◆ getRawDataBlockAsVoid() [1/2]

void * AMP::LinearAlgebra::Vector::getRawDataBlockAsVoid ( size_t  i)
inline

Definition at line 677 of file Vector.h.

References d_VectorData.

◆ getRawDataBlockAsVoid() [2/2]

const void * AMP::LinearAlgebra::Vector::getRawDataBlockAsVoid ( size_t  i) const
inline

Definition at line 681 of file Vector.h.

References d_VectorData.

◆ getUnits()

auto & AMP::LinearAlgebra::Vector::getUnits ( ) const
inline

Get the units for this Vector.

Definition at line 403 of file Vector.h.

References d_units.

◆ getUpdateStatus()

AMP::LinearAlgebra::UpdateState AMP::LinearAlgebra::Vector::getUpdateStatus ( ) const
inline

Definition at line 697 of file Vector.h.

References d_VectorData.

◆ getValueByGlobalID()

template<typename TYPE = double>
TYPE AMP::LinearAlgebra::Vector::getValueByGlobalID ( size_t  i) const

Return a value from the vector.

Parameters
[in]iThe global index into the vector
Returns
The value stored at the index

This uses getValuesByGlobalID to get the value

◆ getValueByLocalID()

template<typename TYPE = double>
TYPE AMP::LinearAlgebra::Vector::getValueByLocalID ( size_t  i) const

Return a local value from the vector.

Parameters
[in]iThe global index into the vector
Returns
The value stored at the index

This uses getValuesByGlobalID to get the value

◆ getValuesByGlobalID()

template<typename TYPE >
void AMP::LinearAlgebra::Vector::getValuesByGlobalID ( int  num,
const size_t indices,
TYPE vals 
) const
inline

Definition at line 743 of file Vector.h.

References d_VectorData.

◆ getValuesByLocalID()

template<typename TYPE >
void AMP::LinearAlgebra::Vector::getValuesByLocalID ( int  num,
const size_t indices,
TYPE vals 
) const
inline

Definition at line 753 of file Vector.h.

References d_VectorData.

◆ getVariable() [1/2]

std::shared_ptr< Variable > AMP::LinearAlgebra::Vector::getVariable ( )

Get the variable associated with this vector.

Returns
A shared point to the Variable associated with this Vector

◆ getVariable() [2/2]

const std::shared_ptr< Variable > AMP::LinearAlgebra::Vector::getVariable ( ) const

Get the variable associated with this vector.

Returns
A shared point to the Variable associated with this Vector

◆ getVectorData() [1/2]

std::shared_ptr< VectorData > AMP::LinearAlgebra::Vector::getVectorData ( )
inline

Return the pointer to the VectorData.

Definition at line 412 of file Vector.h.

References d_VectorData.

◆ getVectorData() [2/2]

std::shared_ptr< const VectorData > AMP::LinearAlgebra::Vector::getVectorData ( ) const
inline

Return the pointer to the VectorData.

Definition at line 415 of file Vector.h.

References d_VectorData.

◆ getVectorOperations() [1/2]

std::shared_ptr< VectorOperations > AMP::LinearAlgebra::Vector::getVectorOperations ( )
inline

Return the pointer to the VectorOperation.

Definition at line 418 of file Vector.h.

References d_VectorOps.

◆ getVectorOperations() [2/2]

std::shared_ptr< const VectorOperations > AMP::LinearAlgebra::Vector::getVectorOperations ( ) const
inline

Return the pointer to the VectorOperation.

Definition at line 421 of file Vector.h.

References d_VectorOps.

◆ getView()

template<typename VIEW_TYPE >
std::shared_ptr< VIEW_TYPE > AMP::LinearAlgebra::Vector::getView ( ) const

If a particular type of view of this Vector has been created, return it.

Template Parameters
VIEW_TYPEThe type of view to look for
Returns
A view of this vector

◆ hasComm()

bool AMP::LinearAlgebra::Vector::hasComm ( ) const
inline

Definition at line 645 of file Vector.h.

References d_VectorData.

◆ hasView()

template<typename VIEW_TYPE >
bool AMP::LinearAlgebra::Vector::hasView ( ) const

If a particular type of view of this Vector has been created, return true.

Template Parameters
VIEW_TYPEThe type of view to look for
Returns
True if a view of this type has been created. False, otherwise.

◆ isType()

template<typename TYPE >
bool AMP::LinearAlgebra::Vector::isType ( size_t  block) const
inline

Definition at line 690 of file Vector.h.

References d_VectorData, and type().

◆ L1Norm()

Scalar AMP::LinearAlgebra::Vector::L1Norm ( ) const

Return discrete \( L_1 \) -norm of this vector.

Returns

\[\sum_i |\mathit{this}_i|\]

◆ L2Norm()

Scalar AMP::LinearAlgebra::Vector::L2Norm ( ) const

Return discrete \( L_2 \) -norm of this vector.

Returns

\[\sqrt{\sum_i \mathit{this}_i^2}\]

◆ L2NormAndDot()

std::pair< Scalar, Scalar > AMP::LinearAlgebra::Vector::L2NormAndDot ( const Vector x) const

Return the L2 norm of this vector and the dot product with the argument vector.

Returns

\[\sum_i this_i^2 \]

and

\[\sum_i x_i\mathit{this}_i\]

. Note that this is an unoptimized version purely meant to provide functionality

Parameters
[in]xa vector
Returns
std::pair of L2Norm of vector and dot in that order

◆ linearSum()

void AMP::LinearAlgebra::Vector::linearSum ( const Scalar alpha,
const Vector x,
const Scalar beta,
const Vector y 
)

Set a vector to be a linear combination of two vectors. \(\mathit{this}_i = \alpha x_i + \beta y_i\).

Parameters
[in]alphaa scalar
[in]xa vector
[in]betaa scalar
[in]ya vector

◆ makeConsistent() [1/2]

void AMP::LinearAlgebra::Vector::makeConsistent ( )
inline

Definition at line 705 of file Vector.h.

References d_VectorData.

◆ makeConsistent() [2/2]

void AMP::LinearAlgebra::Vector::makeConsistent ( AMP::LinearAlgebra::ScatterType  t)
inline

Definition at line 706 of file Vector.h.

References d_VectorData.

◆ max()

Scalar AMP::LinearAlgebra::Vector::max ( ) const

Return the maximum value of the vector. \(\max_i \mathit{this}_i\).

◆ maxNorm()

Scalar AMP::LinearAlgebra::Vector::maxNorm ( ) const

Return the \( L_\infty \) -norm of this vector.

Returns

\[\max_i |\mathit{this}_i|\]

◆ mean()

Scalar AMP::LinearAlgebra::Vector::mean ( ) const

Return the maximum value of the vector. \(\max_i \mathit{this}_i\).

◆ min()

Scalar AMP::LinearAlgebra::Vector::min ( ) const

Return the minimum value of the vector. \(\min_i \mathit{this}_i\).

◆ minQuotient()

Scalar AMP::LinearAlgebra::Vector::minQuotient ( const Vector x) const

Returns the minimum of the quotient of two vectors:

\[\min_{i,y_i\neq0} x_i/\mathit{this}_i\]

Parameters
[in]xa vector
Returns

\[\min_{i,y_i\neq0} x_i/\mathit{this}_i\]

◆ multiply()

void AMP::LinearAlgebra::Vector::multiply ( const Vector x,
const Vector y 
)

Component-wise multiply one vector with another. For Vectors, \(\mathit{this}_i = x_i y_i\).

Parameters
[in]xInput vector x
[in]yInput vector y

◆ numberOfDataBlocks()

size_t AMP::LinearAlgebra::Vector::numberOfDataBlocks ( ) const
inline

Definition at line 648 of file Vector.h.

References d_VectorData.

◆ operator=()

No direct copying.

◆ putRawData()

template<class TYPE >
void AMP::LinearAlgebra::Vector::putRawData ( const TYPE buf)
inline

Definition at line 654 of file Vector.h.

References d_VectorData.

◆ rawClone()

virtual std::unique_ptr< Vector > AMP::LinearAlgebra::Vector::rawClone ( ) const
virtual

Allocate space in the same fashion as this

This will allocate new space with identical layout as this.

Returns
A Vector shared pointer It will have the same number of blocks, each with the same engines and same number of entries.

Reimplemented in AMP::LinearAlgebra::MultiVector, AMP::LinearAlgebra::ManagedSundialsVector, and AMP::LinearAlgebra::ManagedThyraVector.

◆ reciprocal()

void AMP::LinearAlgebra::Vector::reciprocal ( const Vector x)

Set this to the component-wise reciprocal of a vector. \(\mathit{this}_i = 1/x_i\).

Parameters
xa vector

◆ registerChildObjects()

virtual void AMP::LinearAlgebra::Vector::registerChildObjects ( AMP::IO::RestartManager manager) const
virtual

Register any child objects.

This function will register child objects with the manager

Parameters
managerRestart manager

Reimplemented in AMP::LinearAlgebra::MultiVector.

◆ registerView()

template<typename VIEW_TYPE >
void AMP::LinearAlgebra::Vector::registerView ( std::shared_ptr< VIEW_TYPE v) const

Add a view of this vector to an internal queue.

Parameters
[in]vThe view to add

◆ rename()

virtual void AMP::LinearAlgebra::Vector::rename ( const std::string &  src,
const std::string &  dst 
)
virtual

Renames.

Renames the vector and any components matching src to dst.

Parameters
[in]srcThe original variable name
[in]dstThe new variable name

◆ reset()

virtual void AMP::LinearAlgebra::Vector::reset ( )
virtual

Reset.

Reimplemented in AMP::LinearAlgebra::MultiVector.

◆ scale() [1/2]

void AMP::LinearAlgebra::Vector::scale ( const Scalar alpha)

Scale a vector. For Vectors, \(\mathit{this}_i = \alpha\mathit{this}_i\).

Parameters
[in]alphaa scalar

◆ scale() [2/2]

void AMP::LinearAlgebra::Vector::scale ( const Scalar alpha,
const Vector x 
)

Set vector equal to scaled input. For Vectors, \(\mathit{this}_i = \alpha x_i\).

Parameters
[in]alphaa scalar
[in]xa vector

◆ select() [1/2]

shared_ptr AMP::LinearAlgebra::Vector::select ( const VectorSelector criterion)

Selects a portion of this vector and creates a view.

Selects a portion of this vector and creates a view. This function does NOT always return a multivector. To use: auto disp = data->select( VS_ByVariableName( "displacement" ), "displacement view" );

Parameters
[in]criterionThe method for deciding inclusion in the view

◆ select() [2/2]

const_shared_ptr AMP::LinearAlgebra::Vector::select ( const VectorSelector criterion) const

Selects a portion of this vector and creates a view.

Selects a portion of this vector and creates a view. This function does NOT always return a multivector. To use: auto disp = data->select( VS_ByVariableName( "displacement" ), "displacement view" );

Parameters
[in]criterionThe method for deciding inclusion in the view

◆ selectInto() [1/2]

virtual Vector::shared_ptr AMP::LinearAlgebra::Vector::selectInto ( const VectorSelector criterion)
virtual

Selects a portion of this vector and puts a view into a vector.

Parameters
[in]criterionThe method for deciding inclusion in the view

Reimplemented in AMP::LinearAlgebra::MultiVector.

◆ selectInto() [2/2]

virtual Vector::const_shared_ptr AMP::LinearAlgebra::Vector::selectInto ( const VectorSelector criterion) const
virtual

◆ setCommunicationList()

void AMP::LinearAlgebra::Vector::setCommunicationList ( std::shared_ptr< CommunicationList comm)
inline

Definition at line 715 of file Vector.h.

References d_VectorData.

◆ setGhostValuesByGlobalID()

template<typename TYPE >
void AMP::LinearAlgebra::Vector::setGhostValuesByGlobalID ( int  num,
const size_t indices,
const TYPE vals 
)
inline

Definition at line 723 of file Vector.h.

References d_VectorData.

◆ setMax()

void AMP::LinearAlgebra::Vector::setMax ( const Scalar val)

modify vector to have max value 'val' specified

◆ setMin()

void AMP::LinearAlgebra::Vector::setMin ( const Scalar val)

modify vector to have min value 'val' specified

◆ setName()

void AMP::LinearAlgebra::Vector::setName ( const std::string &  name)

Set the vector name.

◆ setNoGhosts()

void AMP::LinearAlgebra::Vector::setNoGhosts ( )
inline

Ensure this vector has no ghosts.

Calls clearBuffer for the communication list and removes any storage for ghosts

Definition at line 775 of file Vector.h.

References d_VectorData.

◆ setRandomValues()

void AMP::LinearAlgebra::Vector::setRandomValues ( )

Set data in this vector to random values on [0,1).

◆ setToScalar()

void AMP::LinearAlgebra::Vector::setToScalar ( const Scalar alpha)

Set all compenents of a vector to a scalar. For Vectors, the components of this are set to \(\alpha\).

Parameters
[in]alphascalar value

◆ setUnits()

virtual void AMP::LinearAlgebra::Vector::setUnits ( AMP::Units  )
virtual

Get the units for this Vector.

◆ setUpdateStatus()

void AMP::LinearAlgebra::Vector::setUpdateStatus ( AMP::LinearAlgebra::UpdateState  state)
inline

Definition at line 701 of file Vector.h.

References d_VectorData.

◆ setValueByGlobalID()

template<typename TYPE >
void AMP::LinearAlgebra::Vector::setValueByGlobalID ( size_t  i,
TYPE  v 
)

Set a value in the vector.

Parameters
[in]iThe global index into the vector
[in]vThe value to set

This uses setValuesByGlobalID to set the value

◆ setValuesByGlobalID()

template<typename TYPE >
void AMP::LinearAlgebra::Vector::setValuesByGlobalID ( int  num,
const size_t indices,
const TYPE vals 
)
inline

Definition at line 733 of file Vector.h.

References d_VectorData.

◆ setValuesByLocalID()

template<class TYPE >
void AMP::LinearAlgebra::Vector::setValuesByLocalID ( int  num,
size_t indices,
const TYPE vals 
)
inline

Definition at line 667 of file Vector.h.

References d_VectorData.

◆ setVariable()

void AMP::LinearAlgebra::Vector::setVariable ( const std::shared_ptr< Variable name)

Change the variable associated with this vector.

Parameters
[in]nameThe new variable

◆ shared_from_this() [1/2]

std::shared_ptr< Vector > AMP::enable_shared_from_this< Vector >::shared_from_this ( )
inlineinherited

Definition at line 28 of file enable_shared_from_this.h.

◆ shared_from_this() [2/2]

std::shared_ptr< const Vector > AMP::enable_shared_from_this< Vector >::shared_from_this ( ) const
inlineinherited

Definition at line 46 of file enable_shared_from_this.h.

◆ sizeOfDataBlock()

size_t AMP::LinearAlgebra::Vector::sizeOfDataBlock ( size_t  i = 0) const
inline

Definition at line 649 of file Vector.h.

References d_VectorData.

◆ sizeofDataBlockType()

size_t AMP::LinearAlgebra::Vector::sizeofDataBlockType ( size_t  i) const
inline

Definition at line 685 of file Vector.h.

References d_VectorData.

◆ subsetVectorForComponent() [1/2]

Vector::shared_ptr AMP::LinearAlgebra::Vector::subsetVectorForComponent ( size_t  index)

Retrieve ith subvector.

Returns the ith subvector based on teh number of components.

Parameters
[in]indexIndex to retrieve
Returns
A Vector shared pointer

◆ subsetVectorForComponent() [2/2]

Vector::const_shared_ptr AMP::LinearAlgebra::Vector::subsetVectorForComponent ( size_t  index) const

Retrieve ith subvector.

Returns the ith subvector based on teh number of components.

Parameters
[in]indexIndex to retrieve
Returns
A Vector shared pointer

◆ subsetVectorForVariable() [1/4]

Vector::shared_ptr AMP::LinearAlgebra::Vector::subsetVectorForVariable ( const std::string &  name)

Retrieve a sub-vector associated with a particular Variable.

Parameters
[in]nameVariable by which to retrieve a subvector
Returns
A Vector shared pointer
See also
MultiVector

◆ subsetVectorForVariable() [2/4]

Vector::const_shared_ptr AMP::LinearAlgebra::Vector::subsetVectorForVariable ( const std::string &  name) const

Retrieve a sub-vector associated with a particular Variable.

Parameters
[in]nameVariable by which to retrieve a subvector
Returns
A Vector shared pointer

A null pointer will be returned if the vector does not contain a sub-vector associated with the Variable

See also
MultiVector

◆ subsetVectorForVariable() [3/4]

Vector::shared_ptr AMP::LinearAlgebra::Vector::subsetVectorForVariable ( std::shared_ptr< const Variable var)

Retrieve a sub-vector associated with a particular Variable.

Parameters
[in]varVariable by which to retrieve a subvector
Returns
A Vector shared pointer

A null pointer will be returned if the vector does not contain a sub-vector associated with the Variable

See also
MultiVector

◆ subsetVectorForVariable() [4/4]

Vector::const_shared_ptr AMP::LinearAlgebra::Vector::subsetVectorForVariable ( std::shared_ptr< const Variable var) const

Retrieve a sub-vector associated with a particular Variable.

Parameters
[in]varVariable by which to retrieve a subvector
Returns
A Vector shared pointer

A null pointer will be returned if the vector does not contain a sub-vector associated with the Variable

See also
MultiVector

◆ subtract()

void AMP::LinearAlgebra::Vector::subtract ( const Vector x,
const Vector y 
)

Subtracts one vector from another. For Vectors, \(\mathit{this}_i = x_i - y_i\).

Parameters
[in]xInput vector x
[in]yInput vector y

◆ sum()

Scalar AMP::LinearAlgebra::Vector::sum ( ) const

Return the maximum value of the vector. \(\max_i \mathit{this}_i\).

◆ swapData()

void AMP::LinearAlgebra::Vector::swapData ( VectorData rhs)
inline

Definition at line 695 of file Vector.h.

References d_VectorData.

◆ swapVectors() [1/2]

virtual void AMP::LinearAlgebra::Vector::swapVectors ( Vector other)
virtual

Swap the data in this Vector for another.

Parameters
[in]otherVector to swap data with

Effectively, this is

Vector *b;
std::swap ( a, b );
Abstraction of a discrete Vector in a linear simulation.
Definition Vector.h:54
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
Definition Vector.h:60

without a and b exchanging pointers.

Reimplemented in AMP::LinearAlgebra::MultiVector, AMP::LinearAlgebra::ManagedSundialsVector, and AMP::LinearAlgebra::ManagedThyraVector.

◆ swapVectors() [2/2]

void AMP::LinearAlgebra::Vector::swapVectors ( Vector::shared_ptr  other)

Swap the data in this Vector for another.

Parameters
[in]otherVector to swap data with

A null pointer will be returned if the vector does not contain a sub-vector associated with the Variable. Effectively, this is

Vector *b;
std::swap ( a, b );

without a and b exchanging pointers.

◆ type()

virtual std::string AMP::LinearAlgebra::Vector::type ( ) const
virtual

◆ VectorDataName()

std::string AMP::LinearAlgebra::Vector::VectorDataName ( ) const
inline

Definition at line 647 of file Vector.h.

References d_VectorData.

◆ writeRestart()

virtual void AMP::LinearAlgebra::Vector::writeRestart ( int64_t  fid) const
virtual

Write restart data to file.

This function will write the mesh to an HDF5 file

Parameters
fidFile identifier to write

Reimplemented in AMP::LinearAlgebra::MultiVector.

◆ wrmsNorm()

Scalar AMP::LinearAlgebra::Vector::wrmsNorm ( const Vector x,
const Vector y 
) const

Return a weighted norm of a vector.

Parameters
[in]xa vector
[in]ya vector
Returns

\[\sqrt{\frac{\displaystyle \sum_i x^2_iy^2_i}{n}}\]

◆ wrmsNormMask()

Scalar AMP::LinearAlgebra::Vector::wrmsNormMask ( const Vector x,
const Vector mask,
const Vector y 
) const

Return a weighted norm of a subset of a vector.

Parameters
[in]xa vector
[in]ya vector
[in]maska vector
Returns

\[\sqrt{\frac{\displaystyle \sum_{i,\mathit{mask}_i>0} x^2_iy^2_i}{n}}\]

◆ zero()

void AMP::LinearAlgebra::Vector::zero ( )

Set vector entries (including ghosts) to zero.

This is equivalent (but more efficient) to calling setToScalar ( 0.0 ) followed by a makeConsistent(SET)

Member Data Documentation

◆ d_DOFManager

std::shared_ptr<AMP::Discretization::DOFManager> AMP::LinearAlgebra::Vector::d_DOFManager
protected

Definition at line 865 of file Vector.h.

◆ d_units

AMP::Units AMP::LinearAlgebra::Vector::d_units
protected

Definition at line 863 of file Vector.h.

Referenced by getUnits().

◆ d_Variable

std::shared_ptr<Variable> AMP::LinearAlgebra::Vector::d_Variable
protected

Definition at line 864 of file Vector.h.

◆ d_VectorData

std::shared_ptr<VectorData> AMP::LinearAlgebra::Vector::d_VectorData
protected

◆ d_VectorOps

std::shared_ptr<VectorOperations> AMP::LinearAlgebra::Vector::d_VectorOps
protected

Definition at line 867 of file Vector.h.

Referenced by copyVector(), getVectorOperations(), and getVectorOperations().

◆ d_Views

std::shared_ptr<std::vector<std::any> > AMP::LinearAlgebra::Vector::d_Views
protected

Definition at line 868 of file Vector.h.

◆ weak_ptr_

std::weak_ptr<Vector > AMP::enable_shared_from_this< Vector >::weak_ptr_
mutableprotectedinherited

Definition at line 69 of file enable_shared_from_this.h.


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



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:43.
Comments on this page