source: issm/branches/trunk-jpl-damage/src/c/classes/objects/Inputs/PentaP1Input.h@ 12878

Last change on this file since 12878 was 12704, checked in by Mathieu Morlighem, 13 years ago

merged trunk and trunk-jpl

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