HermesCommon  3.0
Hermes::Algebra::Vector< Scalar > Class Template Referenceabstract

General (abstract) vector representation in Hermes. More...

#include <vector.h>

+ Inheritance diagram for Hermes::Algebra::Vector< Scalar >:

Public Member Functions

 Vector ()
 Default constructor.
 
 Vector (unsigned int size)
 
virtual void alloc (unsigned int ndofs)=0
 
virtual void free ()=0
 free the memory
 
virtual void finish ()
 finish the assembly of the vector
 
virtual Scalar get (unsigned int idx) const =0
 
virtual Vector< Scalar > * duplicate () const =0
 Duplicate vector (including allocation).
 
virtual void extract (Scalar *v) const =0
 
virtual void zero ()=0
 Zero the vector.
 
virtual Vector< Scalar > * change_sign ()=0
 Multiply by minus one.
 
virtual void set (unsigned int idx, Scalar y)=0
 
virtual void add (unsigned int idx, Scalar y)=0
 
virtual Vector< Scalar > * set_vector (Vector< Scalar > *vec)
 Set values from a user-provided vector.
 
virtual Vector< Scalar > * set_vector (Scalar *vec)
 Set values from a user-provided array.
 
virtual Vector< Scalar > * add_vector (Vector< Scalar > *vec)
 Add a vector.
 
virtual Vector< Scalar > * add_vector (Scalar *vec)
 Add a vector.
 
virtual Vector< Scalar > * subtract_vector (Vector< Scalar > *vec)
 Subtract a vector.
 
virtual Vector< Scalar > * subtract_vector (Scalar *vec)
 Subtract a vector.
 
virtual void add (unsigned int n, unsigned int *idx, Scalar *y)=0
 
unsigned int get_size () const
 Get vector length.
 
- Public Member Functions inherited from Hermes::Mixins::Loggable
 Loggable (bool verbose_output=false, callbackFn verbose_callback=NULL, bool add_newline=true)
 
void set_file_output_only (bool onOff)
 
void set_timestamps (bool onOff)
 Sets the addition of a time stamp on each line in the log file. By default it is on.
 
void set_erase_on_beginning (bool onOff)
 Sets the logFile being always erased before logging.
 
void set_logFile_name (const char *filename)
 
void set_logFile_name (std::string filename)
 
void info (const char *msg,...) const
 
void info_if (bool cond, const char *msg,...) const
 
void warn (const char *msg,...) const
 
void warn_if (bool cond, const char *msg,...) const
 
void error (const char *msg,...) const
 
void error_if (bool cond, const char *msg,...) const
 
virtual void set_verbose_output (bool to_set)
 
bool get_verbose_output () const
 Returns the current value of verbose_output;.
 
virtual void set_verbose_callback (callbackFn callback)
 
callbackFn get_verbose_callback () const
 Returns the current value of verbose_callback;.
 
- Public Member Functions inherited from Hermes::Algebra::Mixins::MatrixRhsImportExport< Scalar >
virtual void export_to_file (const char *filename, const char *var_name, Algebra::MatrixExportFormat fmt, char *number_format="%lf")=0
 
void export_to_file (std::string filename, const char *var_name, Algebra::MatrixExportFormat fmt, char *number_format="%lf")
 
void export_to_file (std::string filename, std::string var_name, Algebra::MatrixExportFormat fmt, char *number_format="%lf")
 
virtual void import_from_file (const char *filename, const char *var_name, Algebra::MatrixExportFormat fmt)
 
void import_from_file (std::string filename, const char *var_name, Algebra::MatrixExportFormat fmt)
 
void import_from_file (std::string filename, std::string var_name, Algebra::MatrixExportFormat fmt)
 

Protected Attributes

unsigned int size
 size of vector
 

Additional Inherited Members

- Static Public Member Functions inherited from Hermes::Mixins::Loggable
static void set_static_logFile_name (const char *filename)
 
static void set_static_logFile_name (std::string filename)
 
- Public Attributes inherited from Hermes::Mixins::Loggable
char * logFileName
 Logfile name.
 
- Static Public Attributes inherited from Hermes::Mixins::Loggable
static char * staticLogFileName = nullptr
 
- Protected Member Functions inherited from Hermes::Mixins::Loggable
void hermes_fwrite (const void *ptr, size_t size, size_t nitems, FILE *stream) const
 
void hermes_fread (void *ptr, size_t size, size_t nitems, FILE *stream) const
 

Detailed Description

template<typename Scalar>
class Hermes::Algebra::Vector< Scalar >

General (abstract) vector representation in Hermes.

Definition at line 35 of file algebra_mixins.h.

Constructor & Destructor Documentation

template<typename Scalar >
Hermes::Algebra::Vector< Scalar >::Vector ( unsigned int  size)

Constructor of vector with specific size.

Parameters
[in]sizesize of vector

Definition at line 68 of file vector.cpp.

Member Function Documentation

template<typename Scalar>
virtual void Hermes::Algebra::Vector< Scalar >::add ( unsigned int  idx,
Scalar  y 
)
pure virtual

update element on the specified position

Parameters
[in]idx- indices where to update
[in]y- value

Implemented in Hermes::Algebra::SimpleVector< Scalar >, and Hermes::Algebra::EpetraVector< Scalar >.

template<typename Scalar>
virtual void Hermes::Algebra::Vector< Scalar >::add ( unsigned int  n,
unsigned int *  idx,
Scalar *  y 
)
pure virtual

update subset of the elements

Parameters
[in]n- number of positions to update
[in]idx- indices where to update
[in]y- values

Implemented in Hermes::Algebra::SimpleVector< Scalar >, and Hermes::Algebra::EpetraVector< Scalar >.

template<typename Scalar>
virtual void Hermes::Algebra::Vector< Scalar >::alloc ( unsigned int  ndofs)
pure virtual

allocate memory for storing ndofs elements

Parameters
[in]ndofs- number of elements of the vector

Implemented in Hermes::Algebra::SimpleVector< Scalar >, Hermes::Algebra::EpetraVector< Scalar >, and Hermes::Algebra::ParalutionVector< Scalar >.

template<typename Scalar>
virtual void Hermes::Algebra::Vector< Scalar >::extract ( Scalar *  v) const
pure virtual

Extract vector values into user-provided array.

Parameters
[out]v- array which will contain extracted values

Implemented in Hermes::Algebra::SimpleVector< Scalar >, and Hermes::Algebra::EpetraVector< Scalar >.

template<typename Scalar>
virtual void Hermes::Algebra::Vector< Scalar >::set ( unsigned int  idx,
Scalar  y 
)
pure virtual

set the entry on a specified position

Parameters
[in]idx- indices where to update
[in]y- value

Implemented in Hermes::Algebra::SimpleVector< Scalar >, and Hermes::Algebra::EpetraVector< Scalar >.


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