source: issm/trunk-jpl/src/c/classes/objects/Inputs/IntInput.h@ 14809

Last change on this file since 14809 was 14809, checked in by Eric.Larour, 12 years ago

CHG: new GetInputUpToCurrentTimeAverages method.

File size: 4.2 KB
Line 
1/*! \file IntInput.h
2 * \brief: header file for triavertexinput object
3 */
4
5#ifndef _INTINPUT_H_
6#define _INTINPUT_H_
7
8/*Headers:*/
9/*{{{*/
10#include "./Input.h"
11#include "../../../include/include.h"
12class GaussTria;
13/*}}}*/
14
15class IntInput: public Input{
16
17 public:
18 /*just hold 3 values for 3 vertices: */
19 int enum_type;
20 IssmInt value;
21
22 /*IntInput constructors, destructors: {{{*/
23 IntInput();
24 IntInput(int enum_type,IssmInt value);
25 ~IntInput();
26 /*}}}*/
27 /*Object virtual functions definitions:{{{ */
28 void Echo();
29 void DeepEcho();
30 int Id();
31 int ObjectEnum();
32 Object* copy();
33 /*}}}*/
34 /*IntInput management: {{{*/
35 int InstanceEnum();
36 Input* SpawnTriaInput(int* indices);
37 Input* PointwiseDivide(Input* inputB){_error_("not implemented yet");};
38 Input* PointwiseMin(Input* inputB){_error_("not implemented yet");};
39 Input* PointwiseMax(Input* inputB){_error_("not implemented yet");};
40 ElementResult* SpawnResult(int step, IssmDouble time);
41 void AddTimeValues(IssmDouble* values,int step,IssmDouble time){_error_("not supported yet");};
42 void Configure(Parameters* parameters);
43 /*}}}*/
44 /*numerics: {{{*/
45 void GetInputValue(bool* pvalue);
46 void GetInputValue(int* pvalue);
47 void GetInputValue(IssmDouble* pvalue);
48 void GetInputValue(IssmDouble* pvalue,GaussTria* gauss);
49 void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss);
50 void GetInputValue(IssmDouble* pvalue,GaussTria* gauss,IssmDouble time){_error_("not implemented yet");};
51 void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss,IssmDouble time){_error_("not implemented yet");};
52 void GetInputValue(IssmDouble* pvalue,GaussTria* gauss ,int index){_error_("not implemented yet");};
53 void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss ,int index){_error_("not implemented yet");};
54 void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussTria* gauss);
55 void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss);
56 void GetInputAverage(IssmDouble* pvalue){_error_("not implemented yet");};
57 void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes){_error_("not implemented yet");};
58 void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime){_error_("not implemented yet");};
59
60 void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");};
61 void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss){_error_("not implemented yet");};
62 void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
63 void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
64 void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
65 void GetVxStrainRate3dPattyn(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
66 void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
67 void ChangeEnum(int newenumtype);
68 void SquareMin(IssmDouble* psquaremin, bool process_units,Parameters* parameters);
69 void ConstrainMin(IssmDouble minimum){_error_("not implemented yet");};
70 void Scale(IssmDouble scale_factor);
71 void ArtificialNoise(IssmDouble min,IssmDouble max){_error_("not implemented yet");};
72 void AXPY(Input* xinput,IssmDouble scalar);
73 void Constrain(IssmDouble cm_min, IssmDouble cm_max);
74 IssmDouble InfinityNorm(void){_error_("InfinityNorm not implemented for integers");};
75 IssmDouble Max(void){_error_("Max not implemented for integers");};
76 IssmDouble MaxAbs(void){_error_("Max not implemented for integers");};
77 IssmDouble Min(void){_error_("Min not implemented for integers");};
78 IssmDouble MinAbs(void){_error_("Min not implemented for integers");};
79 void Extrude(void){_error_("not supported yet");};
80 void VerticallyIntegrate(Input* thickness_input){_error_("not supported yet");};
81 void GetVectorFromInputs(Vector<IssmDouble>* vector,int* doflist);
82 void GetValuesPtr(IssmDouble** pvalues,int* pnum_values);
83 /*}}}*/
84
85};
86#endif /* _INTINPUT_H */
Note: See TracBrowser for help on using the repository browser.