source: issm/trunk-jpl/src/c/classes/objects/Inputs/TriaP1Input.h@ 14951

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

CHG: de-entangle dependencies between Containers and shared/Elements

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