Ice Sheet System Model  4.18
Code documentation
Input2.h
Go to the documentation of this file.
1 
5 #ifndef _INPUT2_H_
6 #define _INPUT2_H_
7 
8 /*Headers:*/
9 #include "../../shared/shared.h"
10 #include "../../datastructures/Object.h"
11 class Gauss;
12 class Parameters;
13 class SegInput2;
14 class TriaInput2;
15 class PentaInput2;
16 template <class doubletype> class Vector;
17 
18 class Input2: public Object{
19 
20  private:
21  int enum_type;
22  public:
23 
24  /*Non virtual functions*/
25  int InstanceEnum(){return this->enum_type;};
26  void ChangeEnum(int newenumtype){this->enum_type=newenumtype;};
27 
28  /*Virtual functions*/
29  virtual ~Input2(){};
30  virtual void Configure(Parameters* parameters){return;};
31  virtual Input2* copy()=0;
32  //virtual void GetInput2AllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes){_error_("Not implemented yet");};
33  virtual void GetInputAverage(IssmDouble* pvalue){_error_("Not implemented yet");};
34  virtual IssmDouble GetInputMax(void){_error_("Not implemented yet");};
35  virtual IssmDouble GetInputMaxAbs(void){_error_("Not implemented yet");};
36  virtual IssmDouble GetInputMin(void){_error_("Not implemented yet");};
37  virtual void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, Gauss* gauss){_error_("Not implemented yet");};
38  virtual void GetInputValue(IssmDouble* pvalue,Gauss* gauss){int* temp = xNew<int>(3); _error_("Not implemented yet for");};
39  virtual int GetInputInterpolationType(){_error_("Not implemented yet");};
40  virtual SegInput2* GetSegInput(){ int* temp = xNew<int>(3); this->Echo(); _error_("Not implemented yet");};
41  virtual TriaInput2* GetTriaInput(){ int* temp = xNew<int>(3); this->Echo(); _error_("Not implemented yet");};
42  virtual PentaInput2* GetPentaInput(){int* temp = xNew<int>(3); this->Echo(); _error_("Not implemented yet");};
43  //virtual void GetInput2UpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("Not implemented yet");};
44 
45  virtual void AXPY(Input2* xinput,IssmDouble scalar){_error_("Not implemented yet");};
46  virtual void PointWiseMult(Input2* xinput){_error_("Not implemented yet");};
47  virtual void Pow(IssmDouble scale_factor){_error_("Not implemented yet");};
48  virtual void Scale(IssmDouble scale_factor){_error_("Not implemented yet");};
49 
50  virtual int GetResultArraySize(void){_error_("Not implemented yet");};
51  virtual int GetResultInterpolation(void){_error_("Not implemented yet");};
52  virtual int GetResultNumberOfNodes(void){_error_("Not implemented yet");};
53  //virtual void ResultToMatrix(IssmDouble* values,int ncols,int sid){_error_("not supported yet");};
54  //virtual void ResultToPatch(IssmDouble* values,int nodesperelement,int sid){_error_("not supported yet");};
55 };
56 #endif
Input2::GetResultArraySize
virtual int GetResultArraySize(void)
Definition: Input2.h:50
Input2::GetSegInput
virtual SegInput2 * GetSegInput()
Definition: Input2.h:40
IssmDouble
double IssmDouble
Definition: types.h:37
Input2::InstanceEnum
int InstanceEnum()
Definition: Input2.h:25
Input2::PointWiseMult
virtual void PointWiseMult(Input2 *xinput)
Definition: Input2.h:46
Parameters
Declaration of Parameters class.
Definition: Parameters.h:18
Input2::GetInputInterpolationType
virtual int GetInputInterpolationType()
Definition: Input2.h:39
Input2::copy
virtual Input2 * copy()=0
SegInput2
Definition: SegInput2.h:8
Input2::GetInputMaxAbs
virtual IssmDouble GetInputMaxAbs(void)
Definition: Input2.h:35
Input2::ChangeEnum
void ChangeEnum(int newenumtype)
Definition: Input2.h:26
Input2::GetInputMax
virtual IssmDouble GetInputMax(void)
Definition: Input2.h:34
Input2::GetInputDerivativeValue
virtual void GetInputDerivativeValue(IssmDouble *derivativevalues, IssmDouble *xyz_list, Gauss *gauss)
Definition: Input2.h:37
Input2::enum_type
int enum_type
Definition: Input2.h:21
Input2::GetPentaInput
virtual PentaInput2 * GetPentaInput()
Definition: Input2.h:42
Object
Definition: Object.h:13
Input2::Pow
virtual void Pow(IssmDouble scale_factor)
Definition: Input2.h:47
TriaInput2
Definition: TriaInput2.h:8
Input2::GetResultNumberOfNodes
virtual int GetResultNumberOfNodes(void)
Definition: Input2.h:52
Input2::GetTriaInput
virtual TriaInput2 * GetTriaInput()
Definition: Input2.h:41
Input2::~Input2
virtual ~Input2()
Definition: Input2.h:29
PentaInput2
Definition: PentaInput2.h:8
Input2::Configure
virtual void Configure(Parameters *parameters)
Definition: Input2.h:30
Input2::AXPY
virtual void AXPY(Input2 *xinput, IssmDouble scalar)
Definition: Input2.h:45
Input2
Definition: Input2.h:18
_error_
#define _error_(StreamArgs)
Definition: exceptions.h:49
Input2::GetResultInterpolation
virtual int GetResultInterpolation(void)
Definition: Input2.h:51
Input2::GetInputMin
virtual IssmDouble GetInputMin(void)
Definition: Input2.h:36
Object::Echo
virtual void Echo()=0
Input2::GetInputValue
virtual void GetInputValue(IssmDouble *pvalue, Gauss *gauss)
Definition: Input2.h:38
Vector
Definition: Vector.h:25
Input2::GetInputAverage
virtual void GetInputAverage(IssmDouble *pvalue)
Definition: Input2.h:33
Gauss
Definition: Gauss.h:8
Input2::Scale
virtual void Scale(IssmDouble scale_factor)
Definition: Input2.h:48