 |
Ice Sheet System Model
4.18
Code documentation
|
Go to the documentation of this file.
10 #ifndef _ISSM_ABS_VEC_H_
11 #define _ISSM_ABS_VEC_H_
14 #include "../toolkitsenums.h"
15 #include "../../shared/Numerics/types.h"
23 template <
class doubletype>
36 virtual void GetValue(doubletype* pvalue,
int dof)=0;
41 virtual void Set(doubletype value)=0;
46 virtual void Shift(doubletype shift)=0;
49 virtual void Scale(doubletype scale_factor)=0;
54 #endif //#ifndef _ISSM_ABS_VEC_H_
virtual doubletype * ToMPISerial0(void)=0
virtual void PointwiseDivide(IssmAbsVec *x, IssmAbsVec *y)=0
virtual void Echo(void)=0
virtual doubletype Norm(NormMode mode)=0
virtual void GetSize(int *pM)=0
virtual void GetLocalSize(int *pM)=0
virtual void Shift(doubletype shift)=0
virtual doubletype * ToMPISerial(void)=0
virtual void GetLocalVector(doubletype **pvector, int **pindices)=0
virtual void Assemble(void)=0
virtual void AXPY(IssmAbsVec *X, doubletype a)=0
virtual doubletype Dot(IssmAbsVec *input)=0
virtual IssmAbsVec< doubletype > * Duplicate(void)=0
virtual void Scale(doubletype scale_factor)=0
virtual void Copy(IssmAbsVec *to)=0
virtual void AYPX(IssmAbsVec *X, doubletype a)=0
virtual void SetValues(int ssize, int *list, doubletype *values, InsMode mode)=0
virtual void SetValue(int dof, doubletype value, InsMode mode)=0
virtual void Set(doubletype value)=0
virtual void GetValue(doubletype *pvalue, int dof)=0