source: issm/trunk-jpl/src/c/classes/Inputs/TetraInput.h@ 21748

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

CHG: new method to retrieve interpolation type.

File size: 3.1 KB
Line 
1/*! \file TetraInput.h
2 * \brief: header file for TetraInput object
3 */
4
5#ifndef _TETRAINPUT_H_
6#define _TETRAINPUT_H_
7
8/*Headers:*/
9/*{{{*/
10#include "./Input.h"
11#include "../Elements/TetraRef.h"
12class Gauss;
13class Gauss;
14/*}}}*/
15
16class TetraInput: public Input,public TetraRef{
17
18 public:
19 int enum_type;
20 int interpolation_type;
21 IssmDouble* values;
22
23 /*TetraInput constructors, destructors*/
24 TetraInput();
25 TetraInput(int enum_type,IssmDouble* values,int element_type_in);
26 ~TetraInput();
27
28 /*Object virtual functions definitions*/
29 Object *copy();
30 void DeepEcho();
31 void Echo();
32 int Id();
33 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
34 int ObjectEnum();
35
36 /*TetraInput management:*/
37 void AddTimeValues(IssmDouble* values,int step,IssmDouble time){_error_("not supported yet");};
38 void Configure(Parameters* parameters);
39 int GetResultArraySize(void){return 1;};
40 int GetResultInterpolation(void);
41 int GetResultNumberOfNodes(void);
42 int InstanceEnum();
43 Input* PointwiseDivide(Input* inputB);
44 Input* PointwiseMax(Input* inputB);
45 Input* PointwiseMin(Input* inputB);
46 void ResultToPatch(IssmDouble* values,int nodesperelement,int sid);
47 Input* SpawnSegInput(int index1,int index2){_error_("not supported yet");};
48 Input* SpawnTriaInput(int index1,int index2,int index3);
49
50 /*numerics*/
51 void AXPY(Input* xinput,IssmDouble scalar);
52 void ChangeEnum(int newenumtype);
53 void Constrain(IssmDouble cm_min, IssmDouble cm_max);
54 void ConstrainMin(IssmDouble minimum);
55 void Extrude(int start){_error_("not supported yet");};
56 void GetInputAllTimeAverages(IssmDouble** pvalues,IssmDouble** ptimes, int* pnumtimes);
57 void GetInputAverage(IssmDouble* pvalue);
58 void GetInputDerivativeAverageValue(IssmDouble* derivativevalues, IssmDouble* xyz_list){_error_("not implemented yet");};
59 void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list,Gauss* gauss);
60 void GetInputValue(bool* pvalue){_error_("not implemented yet");}
61 void GetInputValue(int* pvalue){_error_("not implemented yet");}
62 void GetInputValue(IssmDouble* pvalue){_error_("not implemented yet");}
63 void GetInputValue(IssmDouble* pvalue,Gauss* gauss);
64 void GetInputValue(IssmDouble* pvalue,Gauss* gauss,IssmDouble time){_error_("not implemented yet");};
65 void GetInputValue(IssmDouble* pvalue,Gauss* gauss,int index){_error_("not implemented yet");};
66 void GetInputUpToCurrentTimeAverages(IssmDouble** pvalues, IssmDouble** ptimes, int* pnumtimes, IssmDouble currenttime);
67 void GetVectorFromInputs(Vector<IssmDouble>* vector,int* doflist);
68 int GetInputInterpolationType(){_error_("not implemented yet!");};
69 IssmDouble InfinityNorm(void);
70 IssmDouble Max(void);
71 IssmDouble MaxAbs(void);
72 IssmDouble Min(void);
73 IssmDouble MinAbs(void);
74 void Scale(IssmDouble scale_factor);
75 void Set(IssmDouble setvalue);
76 void SquareMin(IssmDouble* psquaremin,Parameters* parameters);
77 void VerticallyIntegrate(Input* thickness_input){_error_("not supported yet");};
78
79};
80#endif /* _TETRAINPUT_H */
Note: See TracBrowser for help on using the repository browser.