Ice Sheet System Model  4.18
Code documentation
Inputs2.h
Go to the documentation of this file.
1 #ifndef _CONTAINER_INPUTS2_H_
2 #define _CONTAINER_INPUTS2_H_
3 
4 /*forward declarations */
5 class Input2;
6 class SegInput2;
7 class TriaInput2;
8 class PentaInput2;
9 class TransientInput2;
10 class ElementInput2;
11 class DatasetInput2;
12 class ArrayInput2;
13 class ControlInput2;
14 class Parameters;
15 #include "../../shared/shared.h"
16 
17 #define NUMINPUTS InputsENDEnum - InputsSTARTEnum -1
18 
23 class Inputs2{
24 
25  private:
26  /*Private fields*/
30 
31  /*Private functions*/
32  int EnumToIndex(int enum_in);
33 
34  public:
35 
36  /*constructors, destructors*/
37  Inputs2();
38  Inputs2(int nbe,int nbv);
39  ~Inputs2();
40 
41  /*numerics*/
42  void AddInput(Input2* in_input);
43  void ChangeEnum(int enumtype,int new_enumtype);
44  void Configure(Parameters* parameters);
45  Inputs2* Copy(void);
46  int DeleteInput(int enum_type);
47  void DuplicateInput(int original_enum,int new_enum);
48  void DeepEcho(void);
49  void Echo(void);
50  bool Exist(int enum_type);
51  void GetInputsInterpolations(int* pnuminputs,int** pinterpolations,int** penum);
52  void GetArray(int enum_in,int row,IssmDouble** pvalues,int* pN);
53  void GetArrayPtr(int enum_in,int row,IssmDouble** pvalues,int* pN);
54  SegInput2* GetSegInput(int enum_type);
55  TriaInput2* GetTriaInput(int enum_type);
56  TriaInput2* GetTriaInput(int enum_type,IssmDouble time);
57  TriaInput2* GetTriaInput(int enum_in,IssmDouble start_time,IssmDouble end_time,int averaging_method);
58  PentaInput2* GetPentaInput(int enum_type);
59  PentaInput2* GetPentaInput(int enum_type,IssmDouble time);
60  PentaInput2* GetPentaInput(int enum_in,IssmDouble start_time,IssmDouble end_time,int averaging_method);
61  TransientInput2* GetTransientInput(int enum_type);
62  ElementInput2* GetControlInput2Data(int enum_type,const char* data);
63  DatasetInput2* GetDatasetInput2(int enum_type);
64  ControlInput2* GetControlInput2(int enum_type);
65  void Marshall(char** pmarshalled_data, int* pmarshalled_data_size, int marshall_direction);
66  int GetInputObjectEnum(int enum_type);
67  void GetInputValue(bool* pvalue,int enum_in,int index);
68  void GetInputValue(int* pvalue,int enum_in,int index);
69  void GetInputValue(IssmDouble* pvalue,int enum_in,int index);
70  void ResultInterpolation(int* pinterpolation,int*nodesperelement,int* parray_size, int output_enum);
71  void SetInput(int enum_in,int index,bool value);
72  void SetInput(int enum_in,int index,int value);
73  void SetDoubleInput(int enum_in,int index,IssmDouble value);
74  void SetTransientInput(int enum_in,IssmDouble* times,int numtimes);
75  TransientInput2* SetDatasetTransientInput(int enum_in,int id,IssmDouble* times,int numtimes);
76  void SetArrayInput(int enum_in,int row,IssmDouble* layers,int numlayers);
77  void SetTriaControlInput(int enum_in,int layout,int interpolation,int id,int numindices,int* indices,IssmDouble* values,IssmDouble* values_min,IssmDouble* values_max);
78  void SetTriaControlInputGradient(int enum_in,int interpolation,int numindices,int* indices,IssmDouble* values);
79  void SetTriaControlInputGradient(int enum_in,int interpolation,int numindices,int* indices,IssmDouble* values,int n);
80  void SetTriaDatasetInput(int enum_in,int id,int interpolation,int numindices,int* indices,IssmDouble* values);
81  void SetTriaInput(int enum_in,int interpolation,int row,IssmDouble values);
82  void SetTriaInput(int enum_in,int interpolation,int numindices,int* indices,IssmDouble* values);
83  void SetTriaInput(int enum_in,int interpolation,int row,int numindices,IssmDouble* values);
84  void SetPentaControlInput(int enum_in,int layout,int interpolation,int id,int numindices,int* indices,IssmDouble* values,IssmDouble* values_min,IssmDouble* values_max);
85  void SetPentaControlInputGradient(int enum_in,int interpolation,int numindices,int* indices,IssmDouble* values);
86  void SetPentaDatasetInput(int enum_in,int id,int interpolation,int numindices,int* indices,IssmDouble* values);
87  void SetPentaInput(int enum_in,int interpolation,int row,IssmDouble values);
88  void SetPentaInput(int enum_in,int interpolation,int numindices,int* indices,IssmDouble* values);
89  void SetPentaInput(int enum_in,int interpolation,int row,int numindices,IssmDouble* values);
90 };
91 
92 #endif //ifndef _INPUTS_H_
IssmDouble
double IssmDouble
Definition: types.h:37
Inputs2::inputs
Input2 * inputs[NUMINPUTS]
Definition: Inputs2.h:27
DatasetInput2
Definition: DatasetInput2.h:14
Parameters
Declaration of Parameters class.
Definition: Parameters.h:18
Inputs2::Echo
void Echo(void)
Definition: Inputs2.cpp:73
Inputs2::SetTriaControlInput
void SetTriaControlInput(int enum_in, int layout, int interpolation, int id, int numindices, int *indices, IssmDouble *values, IssmDouble *values_min, IssmDouble *values_max)
Definition: Inputs2.cpp:692
TransientInput2
Definition: TransientInput2.h:13
ControlInput2
Definition: ControlInput2.h:13
Inputs2::ResultInterpolation
void ResultInterpolation(int *pinterpolation, int *nodesperelement, int *parray_size, int output_enum)
Definition: Inputs2.cpp:556
Inputs2::SetTriaInput
void SetTriaInput(int enum_in, int interpolation, int row, IssmDouble values)
Definition: Inputs2.cpp:768
Inputs2::SetPentaDatasetInput
void SetPentaDatasetInput(int enum_in, int id, int interpolation, int numindices, int *indices, IssmDouble *values)
Definition: Inputs2.cpp:862
SegInput2
Definition: SegInput2.h:8
Inputs2::SetArrayInput
void SetArrayInput(int enum_in, int row, IssmDouble *layers, int numlayers)
Definition: Inputs2.cpp:623
ElementInput2
Definition: ElementInput2.h:7
Inputs2::Inputs2
Inputs2()
Definition: Inputs2.cpp:30
NUMINPUTS
#define NUMINPUTS
Definition: Inputs2.h:17
Inputs2::EnumToIndex
int EnumToIndex(int enum_in)
Definition: Inputs2.cpp:229
Inputs2::numberofvertices_local
int numberofvertices_local
Definition: Inputs2.h:29
Inputs2::SetPentaInput
void SetPentaInput(int enum_in, int interpolation, int row, IssmDouble values)
Definition: Inputs2.cpp:887
Inputs2::Configure
void Configure(Parameters *parameters)
Definition: Inputs2.cpp:189
TriaInput2
Definition: TriaInput2.h:8
Inputs2::DeepEcho
void DeepEcho(void)
Definition: Inputs2.cpp:66
Inputs2::ChangeEnum
void ChangeEnum(int enumtype, int new_enumtype)
Definition: Inputs2.cpp:170
Inputs2::SetPentaControlInput
void SetPentaControlInput(int enum_in, int layout, int interpolation, int id, int numindices, int *indices, IssmDouble *values, IssmDouble *values_min, IssmDouble *values_max)
Definition: Inputs2.cpp:824
Inputs2::Copy
Inputs2 * Copy(void)
Definition: Inputs2.cpp:56
Inputs2::GetArray
void GetArray(int enum_in, int row, IssmDouble **pvalues, int *pN)
Definition: Inputs2.cpp:485
ArrayInput2
Definition: ArrayInput2.h:7
PentaInput2
Definition: PentaInput2.h:8
Inputs2
Declaration of Inputs class.
Definition: Inputs2.h:23
Inputs2::GetPentaInput
PentaInput2 * GetPentaInput(int enum_type)
Definition: Inputs2.cpp:363
Input2
Definition: Input2.h:18
Inputs2::GetControlInput2Data
ElementInput2 * GetControlInput2Data(int enum_type, const char *data)
Definition: Inputs2.cpp:423
Inputs2::GetControlInput2
ControlInput2 * GetControlInput2(int enum_type)
Definition: Inputs2.cpp:453
Inputs2::GetTransientInput
TransientInput2 * GetTransientInput(int enum_type)
Definition: Inputs2.cpp:406
Inputs2::GetSegInput
SegInput2 * GetSegInput(int enum_type)
Definition: Inputs2.cpp:305
Inputs2::GetInputObjectEnum
int GetInputObjectEnum(int enum_type)
Definition: Inputs2.cpp:254
Inputs2::SetInput
void SetInput(int enum_in, int index, bool value)
Definition: Inputs2.cpp:572
Inputs2::GetTriaInput
TriaInput2 * GetTriaInput(int enum_type)
Definition: Inputs2.cpp:318
Inputs2::SetTriaControlInputGradient
void SetTriaControlInputGradient(int enum_in, int interpolation, int numindices, int *indices, IssmDouble *values)
Definition: Inputs2.cpp:717
Inputs2::SetTransientInput
void SetTransientInput(int enum_in, IssmDouble *times, int numtimes)
Definition: Inputs2.cpp:676
Inputs2::DeleteInput
int DeleteInput(int enum_type)
Definition: Inputs2.cpp:195
Inputs2::numberofelements_local
int numberofelements_local
Definition: Inputs2.h:28
Inputs2::~Inputs2
~Inputs2()
Definition: Inputs2.cpp:48
Inputs2::GetDatasetInput2
DatasetInput2 * GetDatasetInput2(int enum_type)
Definition: Inputs2.cpp:438
Inputs2::GetInputsInterpolations
void GetInputsInterpolations(int *pnuminputs, int **pinterpolations, int **penum)
Definition: Inputs2.cpp:263
Inputs2::GetInputValue
void GetInputValue(bool *pvalue, int enum_in, int index)
Definition: Inputs2.cpp:502
Inputs2::SetTriaDatasetInput
void SetTriaDatasetInput(int enum_in, int id, int interpolation, int numindices, int *indices, IssmDouble *values)
Definition: Inputs2.cpp:743
Inputs2::GetArrayPtr
void GetArrayPtr(int enum_in, int row, IssmDouble **pvalues, int *pN)
Definition: Inputs2.cpp:468
Inputs2::Exist
bool Exist(int enum_type)
Definition: Inputs2.cpp:245
Inputs2::Marshall
void Marshall(char **pmarshalled_data, int *pmarshalled_data_size, int marshall_direction)
Definition: Inputs2.cpp:81
Inputs2::AddInput
void AddInput(Input2 *in_input)
Definition: Inputs2.cpp:147
Inputs2::SetPentaControlInputGradient
void SetPentaControlInputGradient(int enum_in, int interpolation, int numindices, int *indices, IssmDouble *values)
Definition: Inputs2.cpp:849
Inputs2::DuplicateInput
void DuplicateInput(int original_enum, int new_enum)
Definition: Inputs2.cpp:206
Inputs2::SetDatasetTransientInput
TransientInput2 * SetDatasetTransientInput(int enum_in, int id, IssmDouble *times, int numtimes)
Definition: Inputs2.cpp:649
Inputs2::SetDoubleInput
void SetDoubleInput(int enum_in, int index, IssmDouble value)
Definition: Inputs2.cpp:606