Ice Sheet System Model  4.18
Code documentation
TransientInput2.h
Go to the documentation of this file.
1 
5 #ifndef _TRANSIENTINPUT2_H_
6 #define _TRANSIENTINPUT2_H_
7 
8 /*Headers:*/
9 #include "./Input2.h"
10 class Gauss;
11 class Parameters;
12 
13 class TransientInput2: public Input2{
14 
15  private:
18 
19  public:
20  int enum_type;
24  Parameters *parameters; //to find current time.
25 
28 
29  /*TransientInput2 constructors, destructors: {{{*/
31  TransientInput2(int in_enum_type,int nbe,int nbv,IssmDouble* times,int N);
33  void AddTimeInput(Input2* input,IssmDouble time); /*FIXME: remove!*/
34  void AddTriaTimeInput(IssmDouble time,int numindices,int* indices,IssmDouble* values_in,int interp_in);
35  void AddPentaTimeInput(IssmDouble time,int numindices,int* indices,IssmDouble* values_in,int interp_in);
36  void AddTriaTimeInput(int step,int numindices,int* indices,IssmDouble* values_in,int interp_in);
37  void AddPentaTimeInput(int step,int numindices,int* indices,IssmDouble* values_in,int interp_in);
38  /*}}}*/
39  /*Object virtual functions definitions:{{{*/
40  Input2* copy();
41  void Configure(Parameters* params);
42  void DeepEcho();
43  void Echo();
44  int Id();
45  void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
46  int ObjectEnum();
47  /*}}}*/
48  /*TransientInput2 management:*/
49  void GetAllTimes(IssmDouble** ptimesteps,int* pnumtimesteps);
52  TriaInput2* GetTriaInput(IssmDouble start_time,IssmDouble end_time,int averaging_method);
53  TriaInput2* GetTriaInput(int offset);
56  PentaInput2* GetPentaInput(int offset);
57  PentaInput2* GetPentaInput(IssmDouble start_time,IssmDouble end_time,int averaging_method);
58  Input2* GetTimeInput(IssmDouble time){_error_("This should not happen!");};
59  IssmDouble GetTimeByOffset(int offset);
62  void SetAverageAsCurrentTimeInput(IssmDouble start_time,IssmDouble end_time,int averaging_method);
63  /*numerics:*/
64 
65 };
66 #endif /* _TRANSIENTINPUT_H */
TransientInput2::GetAllTimes
void GetAllTimes(IssmDouble **ptimesteps, int *pnumtimesteps)
Definition: TransientInput2.cpp:258
TransientInput2::Id
int Id()
Definition: TransientInput2.cpp:112
IssmDouble
double IssmDouble
Definition: types.h:37
TransientInput2::GetTimeInputOffset
int GetTimeInputOffset(IssmDouble time)
Definition: TransientInput2.cpp:545
TransientInput2::Configure
void Configure(Parameters *params)
Definition: TransientInput2.cpp:104
Parameters
Declaration of Parameters class.
Definition: Parameters.h:18
TransientInput2
Definition: TransientInput2.h:13
TransientInput2::numberofvertices_local
int numberofvertices_local
Definition: TransientInput2.h:17
TransientInput2::numtimesteps
int numtimesteps
Definition: TransientInput2.h:21
TransientInput2::parameters
Parameters * parameters
Definition: TransientInput2.h:24
TransientInput2::AddTimeInput
void AddTimeInput(Input2 *input, IssmDouble time)
TransientInput2::current_step
IssmDouble current_step
Definition: TransientInput2.h:26
TransientInput2::TransientInput2
TransientInput2()
Definition: TransientInput2.cpp:18
TransientInput2::enum_type
int enum_type
Definition: TransientInput2.h:20
TransientInput2::inputs
Input2 ** inputs
Definition: TransientInput2.h:22
TransientInput2::GetTimeByOffset
IssmDouble GetTimeByOffset(int offset)
Definition: TransientInput2.cpp:539
TransientInput2::Echo
void Echo()
Definition: TransientInput2.cpp:108
TriaInput2
Definition: TriaInput2.h:8
TransientInput2::timesteps
IssmDouble * timesteps
Definition: TransientInput2.h:23
TransientInput2::SetAverageAsCurrentTimeInput
void SetAverageAsCurrentTimeInput(IssmDouble start_time, IssmDouble end_time, int averaging_method)
Definition: TransientInput2.cpp:439
Input2.h
abstract class for Input2 object
PentaInput2
Definition: PentaInput2.h:8
TransientInput2::numberofelements_local
int numberofelements_local
Definition: TransientInput2.h:16
TransientInput2::GetPentaInput
PentaInput2 * GetPentaInput()
Definition: TransientInput2.cpp:321
TransientInput2::AddPentaTimeInput
void AddPentaTimeInput(IssmDouble time, int numindices, int *indices, IssmDouble *values_in, int interp_in)
Definition: TransientInput2.cpp:180
Input2
Definition: Input2.h:18
TransientInput2::ObjectEnum
int ObjectEnum()
Definition: TransientInput2.cpp:130
TransientInput2::DeepEcho
void DeepEcho()
Definition: TransientInput2.cpp:89
_error_
#define _error_(StreamArgs)
Definition: exceptions.h:49
TransientInput2::copy
Input2 * copy()
Definition: TransientInput2.cpp:70
TransientInput2::current_input
Input2 * current_input
Definition: TransientInput2.h:27
TransientInput2::GetTriaInput
TriaInput2 * GetTriaInput()
Definition: TransientInput2.cpp:270
TransientInput2::~TransientInput2
~TransientInput2()
Definition: TransientInput2.cpp:57
TransientInput2::SetCurrentTimeInput
void SetCurrentTimeInput(IssmDouble time)
Definition: TransientInput2.cpp:372
TransientInput2::Marshall
void Marshall(char **pmarshalled_data, int *pmarshalled_data_size, int marshall_direction)
Definition: TransientInput2.cpp:114
Gauss
Definition: Gauss.h:8
TransientInput2::AddTriaTimeInput
void AddTriaTimeInput(IssmDouble time, int numindices, int *indices, IssmDouble *values_in, int interp_in)
Definition: TransientInput2.cpp:138
TransientInput2::GetTimeInput
Input2 * GetTimeInput(IssmDouble time)
Definition: TransientInput2.h:58