#include <source/solvers/packages/pvode_trio/vector/PVodeTrioAbstractVector.h>
Inheritance diagram for SAMRAI::solv::PVodeTrioAbstractVector:
Public Member Functions | |
PVodeTrioAbstractVector () | |
virtual | ~PVodeTrioAbstractVector () |
virtual PVodeTrioAbstractVector * | makeNewVector ()=0 |
virtual void | freeVector ()=0 |
virtual void | setToScalar (const double c)=0 |
virtual void | scaleVector (const PVodeTrioAbstractVector *x, const double c)=0 |
virtual void | setLinearSum (const double a, const PVodeTrioAbstractVector *x, const double b, const PVodeTrioAbstractVector *y)=0 |
virtual void | pointwiseMultiply (const PVodeTrioAbstractVector *x, const PVodeTrioAbstractVector *y)=0 |
virtual void | pointwiseDivide (const PVodeTrioAbstractVector *x, const PVodeTrioAbstractVector *y)=0 |
virtual void | setAbs (const PVodeTrioAbstractVector *x)=0 |
virtual void | pointwiseReciprocal (const PVodeTrioAbstractVector *x)=0 |
virtual void | addScalar (const PVodeTrioAbstractVector *x, const double b)=0 |
virtual double | dotWith (const PVodeTrioAbstractVector *x) const =0 |
virtual double | maxNorm () const =0 |
virtual double | L1Norm () const =0 |
virtual double | weightedL2Norm (const PVodeTrioAbstractVector *x) const =0 |
virtual double | weightedRMSNorm (const PVodeTrioAbstractVector *x) const =0 |
virtual double | vecMin () const =0 |
virtual int | constrProdPos (const PVodeTrioAbstractVector *x) const =0 |
virtual void | compareToScalar (const PVodeTrioAbstractVector *x, const double c)=0 |
virtual int | testReciprocal (const PVodeTrioAbstractVector *x)=0 |
virtual void | printVector () const =0 |
PVodeTrio was developed in the Center for Applied Scientific Computing (CASC) at Lawrence Livermore National Laboratory (LLNL). For more information about PVodeTrio, see A.G. Taylor and A.C. Hindmarsh, "User documentation for PVodeTrio, a nonlinear solver for sequential and parallel computers", UCRL-ID-131185, Lawrence Livermore National Laboratory, 1998.
Important notes:
|
Uninteresting constructor and destructor for solv::PVodeTrioAbstractVector. |
|
|
|
Clone the vector structure and allocate storage for the vector data. Then, return a pointer to the new vector instance. Note that the new vector object must be distinct from the original. This function is distinct from the vector constructor since it will be called from within PVodeTrio to allocate vectors during the nonlinear solution process. The original solution vector must be setup by the user's application code. |
|
Destroy vector structure and its storage. This function is distinct from the destructor since it will be called from within PVodeTrio to deallocate vectors during the nonlinear solution process. |
|
Initialize all entries of this vector object to scalar . |
|
Set this vector object to scalar , where is a scalar and x is another vector. |
|
Set this vector object to , where are scalars and are vectors. |
|
Set each entry of this vector: , where are entries in vectors and . |
|
Set each entry of this vector: , where are entries in vectors and . Based on the PVodeTrio vector implementation, it is not necessary to check for division by zero. |
|
Set each entry of this vector to the absolute value of the corresponding entry in vector . |
|
Set each entry of this vector: , where is an entry entry in vector . Based on the PVodeTrio vector implementation, it is not necessary to no check for division by zero. |
|
Set each entry of this vector to the corresponding entry in vector plus the scalar . |
|
Return the dot product of this vector and the argument vector . |
|
Return the max norm of this vector. |
|
Return the norm of this vector. |
|
Return the weighted- norm of this vector using the vector as the weighting vector. |
|
Return the weighted root mean squared norm of this vector using the vector as the weighting vector. |
|
Return the minimum entry of this vector. |
|
Return if and , for some . Here is an element of this vector. Otherwise, return . |
|
Set each entry in this vector based on the vector as follows: if , then , else . |
|
Set each entry of this vector: , where is an entry entry in the vector , unless . If , then return . Otherwise, is returned. |
|
Print the vector data to the output stream used by the subclass print routine. |