NOX Development
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Friends | List of all members
LOCA::PhaseTransition::ExtendedVector Class Reference

Vector class to hold solution vectors, Newton vectors, etc. for the Phase Transition tracking formulation. More...

#include <LOCA_PhaseTransition_ExtendedVector.H>

Inheritance diagram for LOCA::PhaseTransition::ExtendedVector:
Inheritance graph
[legend]
Collaboration diagram for LOCA::PhaseTransition::ExtendedVector:
Collaboration graph
[legend]

Public Member Functions

 ExtendedVector (const Teuchos::RCP< LOCA::GlobalData > &global_data, const NOX::Abstract::Vector &x1Vec, const NOX::Abstract::Vector &x2Vec, double ptp)
 Constructor.
 
 ExtendedVector (const ExtendedVector &source, NOX::CopyType type=NOX::DeepCopy)
 Copy constructor.
 
virtual ~ExtendedVector ()
 Destructor.
 
virtual NOX::Abstract::Vectoroperator= (const NOX::Abstract::Vector &y)
 Assignment operator.
 
virtual LOCA::Extended::Vectoroperator= (const LOCA::Extended::Vector &y)
 Assignment operator.
 
virtual ExtendedVectoroperator= (const ExtendedVector &y)
 Assignment operator.
 
virtual Teuchos::RCP< NOX::Abstract::Vectorclone (NOX::CopyType type=NOX::DeepCopy) const
 Cloning function.
 
virtual void setVec (const NOX::Abstract::Vector &xVec, const NOX::Abstract::Vector &nullVec, double bifPar)
 Sets the Vector by setting its three components.
 
virtual Teuchos::RCP< const NOX::Abstract::VectorX1 () const
 Returns the solution1 vector component of extended vector.
 
virtual Teuchos::RCP< const NOX::Abstract::VectorX2 () const
 Returns the solution2 vector component of extended vector.
 
virtual double PTP () const
 Get Bifurcation parameter.
 
virtual Teuchos::RCP< NOX::Abstract::VectorX1 ()
 Returns the solution vector component of extended vector.
 
virtual Teuchos::RCP< NOX::Abstract::VectorX2 ()
 Returns the null vector component of extended vector.
 
virtual double & PTP ()
 Get Bifurcation parameter.
 
- Public Member Functions inherited from LOCA::Extended::Vector
 Vector (const Vector &source, NOX::CopyType type=NOX::DeepCopy)
 Copy constructor.
 
virtual ~Vector ()
 Vector destructor.
 
virtual NOX::Abstract::Vectoroperator= (const NOX::Abstract::Vector &y)
 Assignment operator.
 
virtual Vectoroperator= (const Vector &y)
 Assignment operator.
 
virtual Teuchos::RCP< NOX::Abstract::Vectorclone (NOX::CopyType type=NOX::DeepCopy) const
 Clone function. Applies clone to each stored vector.
 
virtual Teuchos::RCP< NOX::Abstract::MultiVectorcreateMultiVector (const NOX::Abstract::Vector *const *vecs, int numVecs, NOX::CopyType type=NOX::DeepCopy) const
 Create a MultiVector with numVecs+1 columns out of an array of Vectors. The vector stored under this will be the first column with the remaining numVecs columns given by vecs.
 
virtual Teuchos::RCP< NOX::Abstract::MultiVectorcreateMultiVector (int numVecs, NOX::CopyType type=NOX::DeepCopy) const
 Create a MultiVector with numVecs columns.
 
virtual NOX::Abstract::Vectorinit (double gamma)
 NOX::Abstract::Vector init function. Initializes each stored vector and scalar.
 
virtual NOX::Abstract::Vectorrandom (bool useSeed=false, int seed=1)
 Initialize every element of this vector with random values.
 
virtual NOX::Abstract::Vectorabs (const NOX::Abstract::Vector &y)
 NOX::Abstract::Vector abs function. Compues absolute value of each stored vector and scalar.
 
virtual NOX::Abstract::Vectorreciprocal (const NOX::Abstract::Vector &y)
 NOX::Abstract::Vector reciprocal function. Computes reciprocal of each stored vector and scalar.
 
virtual NOX::Abstract::Vectorscale (double gamma)
 NOX::Abstract::Vector scale function. Scales each stored vector and scalar.
 
virtual NOX::Abstract::Vectorscale (const NOX::Abstract::Vector &a)
 NOX::Abstract::Vector scale function. Scales each stored vector and scalar.
 
virtual NOX::Abstract::Vectorupdate (double alpha, const NOX::Abstract::Vector &a, double gamma=0.0)
 NOX::Abstract::Vector update function. Applies vector update to each stored vector and scalar.
 
virtual NOX::Abstract::Vectorupdate (double alpha, const NOX::Abstract::Vector &a, double beta, const NOX::Abstract::Vector &b, double gamma=0.0)
 NOX::Abstract::Vector update function. Applies vector update to each stored vector and scalar.
 
virtual double norm (NormType type=TwoNorm) const
 NOX::Abstract::Vector norm function. Computes norm of each stored vector and combines to compute appropriate norm.
 
virtual double norm (const NOX::Abstract::Vector &weights) const
 NOX::Abstract::Vector weighted norm function. Computes weighted norm of each stored vector and combines to compute appropriate norm.
 
virtual double innerProduct (const NOX::Abstract::Vector &y) const
 NOX::Abstract::Vector innerProduct function. Computes inner product * of each stored vector and combines to compute inner product.
 
virtual NOX::size_type length () const
 NOX::Abstract::Vector length function. Computes sum of lengths of stored vectors plus number of scalars.
 
virtual void print (std::ostream &stream) const
 NOX::Abstract::Vector print function. For debugging purposes.
 
virtual void setVector (int i, const NOX::Abstract::Vector &v)
 Sets the ith vector.
 
virtual void setVectorView (int i, const Teuchos::RCP< NOX::Abstract::Vector > &v)
 Sets the ith vector as a view.
 
virtual void setScalar (int i, double s)
 Sets the ith scalar.
 
virtual void setScalarArray (double *sv)
 Sets the scalar array.
 
virtual Teuchos::RCP< const NOX::Abstract::VectorgetVector (int i) const
 Returns const ref-count pointer to the ith vector.
 
virtual Teuchos::RCP< NOX::Abstract::VectorgetVector (int i)
 Returns ref-count pointer to the ith vector.
 
virtual double getScalar (int i) const
 Returns copy of the ith scalar.
 
virtual double & getScalar (int i)
 Returns reference to the ith scalar.
 
virtual Teuchos::RCP< const NOX::Abstract::MultiVector::DenseMatrixgetScalars () const
 Returns array of scalars.
 
virtual Teuchos::RCP< NOX::Abstract::MultiVector::DenseMatrixgetScalars ()
 Returns array of scalars.
 
virtual int getNumScalars () const
 Returns number of scalars.
 
virtual int getNumVectors () const
 Returns number of vectors.
 
- Public Member Functions inherited from NOX::Abstract::Vector
 Vector ()
 Abstract Vector constructor (does nothing)
 
virtual ~Vector ()
 Abstract Vector destructor (does nothing)
 
virtual NOX::Abstract::Vectorinit (double gamma)=0
 Initialize every element of this vector with gamma.
 
virtual NOX::Abstract::Vectorrandom (bool useSeed=false, int seed=1)=0
 Initialize each element of this vector with a random value.
 
virtual NOX::Abstract::Vectorabs (const NOX::Abstract::Vector &y)=0
 Put element-wise absolute values of source vector y into this vector.
 
virtual NOX::Abstract::Vectoroperator= (const NOX::Abstract::Vector &y)=0
 Copy source vector y into this vector.
 
virtual NOX::Abstract::Vectorreciprocal (const NOX::Abstract::Vector &y)=0
 Put element-wise reciprocal of source vector y into this vector.
 
virtual NOX::Abstract::Vectorscale (double gamma)=0
 Scale each element of this vector by gamma.
 
virtual NOX::Abstract::Vectorscale (const NOX::Abstract::Vector &a)=0
 Scale this vector element-by-element by the vector a.
 
virtual NOX::Abstract::Vectorupdate (double alpha, const NOX::Abstract::Vector &a, double gamma=0.0)=0
 Compute x = (alpha * a) + (gamma * x) where x is this vector.
 
virtual NOX::Abstract::Vectorupdate (double alpha, const NOX::Abstract::Vector &a, double beta, const NOX::Abstract::Vector &b, double gamma=0.0)=0
 Compute x = (alpha * a) + (beta * b) + (gamma * x) where x is this vector.
 
virtual Teuchos::RCP< NOX::Abstract::Vectorclone (NOX::CopyType type=NOX::DeepCopy) const =0
 Create a new Vector of the same underlying type by cloning "this", and return a pointer to the new vector.
 
virtual Teuchos::RCP< NOX::Abstract::MultiVectorcreateMultiVector (const NOX::Abstract::Vector *const *vecs, int numVecs, NOX::CopyType type=NOX::DeepCopy) const
 Create a MultiVector with numVecs+1 columns out of an array of Vectors. The vector stored under this will be the first column with the remaining numVecs columns given by vecs.
 
virtual Teuchos::RCP< NOX::Abstract::MultiVectorcreateMultiVector (int numVecs, NOX::CopyType type=NOX::DeepCopy) const
 Create a MultiVector with numVecs columns.
 
virtual double norm (NOX::Abstract::Vector::NormType type=NOX::Abstract::Vector::TwoNorm) const =0
 Norm.
 
virtual double norm (const NOX::Abstract::Vector &weights) const =0
 Weighted 2-Norm.
 
virtual double innerProduct (const NOX::Abstract::Vector &y) const =0
 Inner product with y.
 
virtual NOX::size_type length () const =0
 Return the length of vector.
 
virtual void print (std::ostream &stream) const
 Print the vector. To be used for debugging only.
 

Protected Member Functions

 ExtendedVector (const Teuchos::RCP< LOCA::GlobalData > &global_data)
 Default Constructor.
 
virtual Teuchos::RCP< LOCA::Extended::MultiVectorgenerateMultiVector (int nColumns, int nVectorRows, int nScalarRows) const
 generate an extended multi-vector
 
- Protected Member Functions inherited from LOCA::Extended::Vector
 Vector (const Teuchos::RCP< LOCA::GlobalData > &global_data, int nvecs, int nscalars)
 Vector constructor.
 
virtual Teuchos::RCP< LOCA::Extended::MultiVectorgenerateMultiVector (int nColumns, int nVectorRows, int nScalarRows) const
 generate an extended multi-vector
 

Friends

class ExtendedMultiVector
 Declare LOCA::PhaseTransition::MooreSpence::ExtendedMultiVector as a friend class so it can call protected methods.
 

Additional Inherited Members

- Public Types inherited from NOX::Abstract::Vector
enum  NormType { TwoNorm , OneNorm , MaxNorm }
 Norm types used in norm() calculations. More...
 
- Protected Attributes inherited from LOCA::Extended::Vector
Teuchos::RCP< LOCA::GlobalDataglobalData
 Global data.
 
std::vector< Teuchos::RCP< NOX::Abstract::Vector > > vectorPtrs
 Array of vector pointers.
 
std::vector< bool > isView
 Array indicating if each vector is a view.
 
int numScalars
 Number of scalars.
 
Teuchos::RCP< NOX::Abstract::MultiVector::DenseMatrixscalarsPtr
 Scalars.
 

Detailed Description

Vector class to hold solution vectors, Newton vectors, etc. for the Phase Transition tracking formulation.

This class uses the LOCA::Extended::Vector implementation to store the solution1, solution2, and parameter components of the phase transition vector and merely provides an interface for naming which components of the vector these quantities correspond to.

Member Function Documentation

◆ clone()

Teuchos::RCP< NOX::Abstract::Vector > LOCA::PhaseTransition::ExtendedVector::clone ( NOX::CopyType  type = NOX::DeepCopy) const
virtual

Cloning function.

Reimplemented from LOCA::Extended::Vector.

◆ generateMultiVector()

Teuchos::RCP< LOCA::Extended::MultiVector > LOCA::PhaseTransition::ExtendedVector::generateMultiVector ( int  nColumns,
int  nVectorRows,
int  nScalarRows 
) const
protectedvirtual

generate an extended multi-vector

Returns an empty multivector of type LOCA::PhaseTransition::ExtendedMultiVector

Reimplemented from LOCA::Extended::Vector.

◆ operator=() [1/2]

LOCA::Extended::Vector & LOCA::PhaseTransition::ExtendedVector::operator= ( const LOCA::Extended::Vector y)
virtual

Assignment operator.

Reimplemented from LOCA::Extended::Vector.

◆ operator=() [2/2]

NOX::Abstract::Vector & LOCA::PhaseTransition::ExtendedVector::operator= ( const NOX::Abstract::Vector y)
virtual

Assignment operator.

Reimplemented from LOCA::Extended::Vector.


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