65 unsigned long nElmDomain;
67 unsigned long nElmGlobal;
71 unsigned long nBlkDomain;
86 CSysVector(
const unsigned long & size,
const su2double & val = 0.0);
95 CSysVector(
const unsigned long & numBlk,
const unsigned long & numBlkDomain,
const unsigned short & numVar,
const su2double & val = 0.0);
106 void SetValZero(
void);
113 explicit CSysVector(
const unsigned long & size,
const su2double* u_array);
122 explicit CSysVector(
const unsigned long & numBlk,
const unsigned long & numBlkDomain,
const unsigned short & numVar,
123 const su2double* u_array);
137 void Initialize(
const unsigned long & numBlk,
const unsigned long & numBlkDomain,
const unsigned short & numVar,
const su2double & val = 0.0);
142 unsigned long GetLocSize()
const;
147 unsigned long GetSize()
const;
152 unsigned short GetNVar()
const;
157 unsigned long GetNBlk()
const;
162 unsigned long GetNBlkDomain()
const;
169 void Equals_AX(
const su2double & a,
CSysVector & x);
176 void Plus_AX(
const su2double & a,
CSysVector & x);
185 void Equals_AX_Plus_BY(
const su2double & a,
CSysVector & x,
const su2double & b,
CSysVector & y);
197 CSysVector & operator=(
const su2double & val);
240 CSysVector & operator*=(
const su2double & val);
246 CSysVector operator/(
const su2double & val)
const;
252 CSysVector & operator/=(
const su2double & val);
258 su2double & operator[](
const unsigned long & i);
264 const su2double & operator[](
const unsigned long & i)
const;
270 su2double norm()
const;
277 void CopyToArray(su2double* u_array);
284 void SubtractBlock(
unsigned long val_ipoint, su2double *val_residual);
291 void AddBlock(
unsigned long val_ipoint, su2double *val_residual);
299 void SetBlock(
unsigned long val_ipoint,
unsigned short val_var, su2double val_residual);
306 void SetBlock(
unsigned long val_ipoint, su2double *val_residual);
312 void SetBlock_Zero(
unsigned long val_ipoint);
319 void SetBlock_Zero(
unsigned long val_ipoint,
unsigned short val_var);
326 su2double *GetBlock(
unsigned long val_ipoint);
334 su2double GetBlock(
unsigned long val_ipoint,
unsigned short val_var);
CSysVector operator*(const su2double &val, const CSysVector &u)
Definition: vector_structure.cpp:303
su2double dotProd(const CSysVector &u, const CSysVector &v)
Definition: vector_structure.cpp:397
Headers of the mpi interface for generalized datatypes. The subroutines and functions are in the mpi_...
abstract base class for defining matrix-vector products
Definition: vector_structure.hpp:363
abstract base class for defining preconditioning operation
Definition: vector_structure.hpp:380
virtual ~CPreconditioner()=0
class destructor
Definition: vector_structure.hpp:386
inline subroutines of the vector_structure.hpp file.
virtual ~CMatrixVectorProduct()=0
class destructor
Definition: vector_structure.hpp:369
Class for holding and manipulating vectors needed by linear solvers.
Definition: vector_structure.hpp:60