#include <NOX_Petsc_Vector.H>
Public Member Functions | |
Vector (const Vec &source, CopyType type=DeepCopy) | |
Construct by copying map and/or elements of a Petsc Vec. | |
Vector (const Vec &source, string name="Unnamed", CopyType type=DeepCopy) | |
Construct by copying map and/or elements of a Petsc Vec. | |
Vector (const Vector &source, CopyType type=DeepCopy) | |
Construct by copying a NOX::Petsc::Vector. | |
~Vector () | |
Destruct Vector. | |
virtual int | length () const |
Return the length of vector. | |
string | Name () |
virtual Vec & | getPetscVector () |
Get reference to underlying Petsc vector. | |
virtual const Vec & | getPetscVector () const |
Get const reference to underlying Petsc vector. | |
virtual Abstract::Vector & | init (double value) |
Initialize every element of this vector with gamma . | |
virtual Abstract::Vector & | operator= (const Vec &source) |
Copies source vector into "this". | |
virtual Abstract::Vector & | operator= (const Vector &source) |
virtual Abstract::Vector & | operator= (const Abstract::Vector &source) |
See above. | |
virtual Abstract::Vector & | abs (const Vector &source) |
virtual Abstract::Vector & | abs (const Abstract::Vector &source) |
See above. | |
virtual Abstract::Vector & | reciprocal (const Vector &source) |
virtual Abstract::Vector & | reciprocal (const Abstract::Vector &source) |
See above. | |
virtual Abstract::Vector & | scale (double gammaval) |
Scale each element of this vector by gamma . | |
virtual Abstract::Vector & | scale (const Vector &a) |
virtual Abstract::Vector & | scale (const Abstract::Vector &a) |
See above. | |
virtual Abstract::Vector & | update (double alpha, const Vector &a, double gammaval=0.0) |
virtual Abstract::Vector & | update (double alpha, const Abstract::Vector &a, double gammaval=0.0) |
See above. | |
virtual Abstract::Vector & | update (double alpha, const Vector &a, double beta, const Vector &b, double gammaval=0.0) |
virtual Abstract::Vector & | update (double alpha, const Abstract::Vector &a, double beta, const Abstract::Vector &b, double gammaval=0.0) |
See above. | |
virtual Teuchos::RCP < NOX::Abstract::Vector > | clone (CopyType type=DeepCopy) const |
Create a new Vector of the same underlying type by cloning "this", and return a pointer to the new vector. | |
virtual double | norm (Abstract::Vector::NormType type=TwoNorm) const |
Norm. | |
virtual double | norm (const Vector &weights) const |
virtual double | norm (const Abstract::Vector &weights) const |
See above. | |
virtual double | innerProduct (const Vector &y) const |
virtual double | innerProduct (const Abstract::Vector &y) const |
See above. | |
Vec | petscVec |
Pointer to Petsc vector owned by this object. | |
bool | isAlloc |
Flag to indicate if the vector has been allocated. | |
string | name |
virtual int | allocate (const Vec &source, CopyType type=DeepCopy) |
Definition at line 67 of file NOX_Petsc_Vector.H.
Vector::Vector | ( | const Vec & | source, | |
CopyType | type = DeepCopy | |||
) |
Construct by copying map and/or elements of a Petsc Vec.
Definition at line 50 of file NOX_Petsc_Vector.C.
Vector::Vector | ( | const Vec & | source, | |
string | name = "Unnamed" , |
|||
CopyType | type = DeepCopy | |||
) |
Construct by copying map and/or elements of a Petsc Vec.
Definition at line 60 of file NOX_Petsc_Vector.C.
Construct by copying a NOX::Petsc::Vector.
Definition at line 55 of file NOX_Petsc_Vector.C.
References getPetscVector().
Vector::~Vector | ( | ) | [virtual] |
Destruct Vector.
Reimplemented from NOX::Abstract::Vector.
Definition at line 66 of file NOX_Petsc_Vector.C.
References isAlloc.
Vec & Vector::getPetscVector | ( | ) | [virtual] |
Get reference to underlying Petsc vector.
Definition at line 128 of file NOX_Petsc_Vector.C.
References petscVec.
Referenced by NOX::Petsc::Group::applyRightPreconditioning(), NOX::Petsc::Group::computeF(), NOX::Petsc::Group::computeGradient(), NOX::Petsc::Group::computeJacobian(), NOX::Petsc::Group::computeNewton(), and Vector().
const Vec & Vector::getPetscVector | ( | ) | const [virtual] |
Get const reference to underlying Petsc vector.
Definition at line 134 of file NOX_Petsc_Vector.C.
References petscVec.
Abstract::Vector & Vector::init | ( | double | gamma | ) | [virtual] |
Initialize every element of this vector with gamma
.
Here x represents this vector, and we update it as
Implements NOX::Abstract::Vector.
Definition at line 140 of file NOX_Petsc_Vector.C.
References petscVec.
Abstract::Vector & Vector::operator= | ( | const Vec & | source | ) | [virtual] |
Copies source vector into "this".
Definition at line 78 of file NOX_Petsc_Vector.C.
References isAlloc, and petscVec.
Referenced by operator=().
Abstract::Vector & Vector::operator= | ( | const Abstract::Vector & | source | ) | [virtual] |
See above.
Implements NOX::Abstract::Vector.
Definition at line 87 of file NOX_Petsc_Vector.C.
References operator=().
Abstract::Vector & Vector::abs | ( | const Abstract::Vector & | source | ) | [virtual] |
Abstract::Vector & Vector::reciprocal | ( | const Abstract::Vector & | source | ) | [virtual] |
Abstract::Vector & Vector::scale | ( | double | gamma | ) | [virtual] |
Scale each element of this vector by gamma
.
Here x represents this vector, and we update it as
Implements NOX::Abstract::Vector.
Definition at line 175 of file NOX_Petsc_Vector.C.
References petscVec.
Referenced by NOX::Petsc::Group::computeNewton(), and scale().
Abstract::Vector & Vector::scale | ( | const Abstract::Vector & | a | ) | [virtual] |
See above.
Implements NOX::Abstract::Vector.
Definition at line 182 of file NOX_Petsc_Vector.C.
References scale().
Abstract::Vector & Vector::update | ( | double | alpha, | |
const Abstract::Vector & | a, | |||
double | gammaval = 0.0 | |||
) | [virtual] |
Abstract::Vector & Vector::update | ( | double | alpha, | |
const Abstract::Vector & | a, | |||
double | beta, | |||
const Abstract::Vector & | b, | |||
double | gammaval = 0.0 | |||
) | [virtual] |
Teuchos::RCP< NOX::Abstract::Vector > Vector::clone | ( | CopyType | type = DeepCopy |
) | const [virtual] |
Create a new Vector of the same underlying type by cloning "this", and return a pointer to the new vector.
If type is NOX::DeepCopy, then we need to create an exact replica of "this". Otherwise, if type is NOX::ShapeCopy, we need only replicate the shape of "this" (the memory is allocated for the objects, but the current values are not copied into the vector). Note that there is no assumption that a vector created by ShapeCopy is initialized to zeros.
Implements NOX::Abstract::Vector.
Definition at line 230 of file NOX_Petsc_Vector.C.
References petscVec.
double Vector::norm | ( | Abstract::Vector::NormType | type = TwoNorm |
) | const [virtual] |
Norm.
Here x represents this vector, and we compute its norm as follows: for each NOX::Abstract::Vector::NormType:
Implements NOX::Abstract::Vector.
Definition at line 238 of file NOX_Petsc_Vector.C.
References NOX::Abstract::Vector::MaxNorm, NOX::Abstract::Vector::OneNorm, petscVec, and NOX::Abstract::Vector::TwoNorm.
Referenced by NOX::Petsc::Group::computeF(), and norm().
double Vector::norm | ( | const Abstract::Vector & | weights | ) | const [virtual] |
See above.
Implements NOX::Abstract::Vector.
Definition at line 257 of file NOX_Petsc_Vector.C.
References norm().
double Vector::innerProduct | ( | const Abstract::Vector & | y | ) | const [virtual] |
int Vector::length | ( | ) | const [virtual] |
Return the length of vector.
Implements NOX::Abstract::Vector.
Definition at line 286 of file NOX_Petsc_Vector.C.
References petscVec.
Vec NOX::Petsc::Vector::petscVec [protected] |
Pointer to Petsc vector owned by this object.
Definition at line 173 of file NOX_Petsc_Vector.H.
Referenced by clone(), getPetscVector(), init(), length(), norm(), operator=(), and scale().
bool NOX::Petsc::Vector::isAlloc [protected] |
Flag to indicate if the vector has been allocated.
Definition at line 176 of file NOX_Petsc_Vector.H.
Referenced by operator=(), and ~Vector().