HermesCommon  3.0
Hermes::Algebra::SimpleVector< Scalar > Class Template Reference

Vector used with MUMPS solver. More...

#include <vector.h>

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

Public Member Functions

 SimpleVector (unsigned int size)
 
virtual void alloc (unsigned int ndofs)
 
virtual void free ()
 free the memory
 
virtual Scalar get (unsigned int idx) const
 
virtual void extract (Scalar *v) const
 
virtual void zero ()
 Zero the vector.
 
virtual Vector< Scalar > * change_sign ()
 Multiply by minus one.
 
Vector< Scalar > * duplicate () const
 Duplicates a matrix (including allocation).
 
virtual void set (unsigned int idx, Scalar y)
 
virtual void add (unsigned int idx, Scalar y)
 
virtual void add (unsigned int n, unsigned int *idx, Scalar *y)
 
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 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 void export_to_file (const char *filename, const char *var_name, MatrixExportFormat fmt, char *number_format="%lf")
 
virtual void import_from_file (const char *filename, const char *var_name, MatrixExportFormat fmt)
 
template<>
void add (unsigned int idx, double y)
 
template<>
void add (unsigned int idx, std::complex< double > y)
 
- Public Member Functions inherited from Hermes::Algebra::Vector< Scalar >
 Vector ()
 Default constructor.
 
 Vector (unsigned int size)
 
virtual void finish ()
 finish the assembly of the vector
 
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 >
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")
 
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)
 

Public Attributes

Scalar * v
 Raw data.
 
- Public Attributes inherited from Hermes::Mixins::Loggable
char * logFileName
 Logfile name.
 

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)
 
- 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
 
- Protected Attributes inherited from Hermes::Algebra::Vector< Scalar >
unsigned int size
 size of vector
 

Detailed Description

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

Vector used with MUMPS solver.

Definition at line 116 of file vector.h.

Member Function Documentation

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

update element on the specified position

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

Implements Hermes::Algebra::Vector< Scalar >.

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

update subset of the elements

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

Implements Hermes::Algebra::Vector< Scalar >.

Definition at line 469 of file vector.cpp.

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

allocate memory for storing ndofs elements

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

Implements Hermes::Algebra::Vector< Scalar >.

Reimplemented in Hermes::Algebra::ParalutionVector< Scalar >.

Definition at line 417 of file vector.cpp.

Referenced by Hermes::Algebra::ParalutionVector< Scalar >::alloc(), and Hermes::Solvers::SimpleExternalSolver< Scalar >::solve().

template<typename Scalar >
void Hermes::Algebra::SimpleVector< Scalar >::export_to_file ( const char *  filename,
const char *  var_name,
MatrixExportFormat  fmt,
char *  number_format = "%lf" 
)
virtual

writing matrix.

Parameters
[in]filenameobvious
[in]var_namename of variable (will be written to output file)
[in]fmtoutput file format
[in]number_formatspecifies the number format where possible

Implements Hermes::Algebra::Mixins::MatrixRhsImportExport< Scalar >.

Definition at line 124 of file vector.cpp.

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

Extract vector values into user-provided array.

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

Implements Hermes::Algebra::Vector< Scalar >.

Definition at line 490 of file vector.cpp.

template<typename Scalar >
Scalar Hermes::Algebra::SimpleVector< Scalar >::get ( unsigned int  idx) const
virtual

Get the value from a position

Returns
the value form the specified index
Parameters
[in]idx- index which to obtain the value from

Implements Hermes::Algebra::Vector< Scalar >.

Definition at line 476 of file vector.cpp.

template<typename Scalar >
void Hermes::Algebra::SimpleVector< Scalar >::import_from_file ( const char *  filename,
const char *  var_name,
MatrixExportFormat  fmt 
)
virtual

reading matrix

Parameters
[in]filenameobvious
[in]var_namename of variable (will be searched for to output file)
[in]fmtinput file format

Reimplemented from Hermes::Algebra::Mixins::MatrixRhsImportExport< Scalar >.

Definition at line 261 of file vector.cpp.

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

set the entry on a specified position

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

Implements Hermes::Algebra::Vector< Scalar >.

Definition at line 447 of file vector.cpp.


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