source: issm/trunk/src/c/objects/Inputs/TriaP1Input.h@ 12706

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

merged trunk-jpl and trunk for revision 12703

File size: 3.7 KB
RevLine 
[11291]1/*! \file TriaP1Input.h
2 * \brief: header file for TriaP1Input object
[3683]3 */
4
5
[11291]6#ifndef _TRIAP1INPUT_H_
7#define _TRIAP1INPUT_H_
[3683]8
9/*Headers:*/
[12706]10/*{{{*/
[3683]11#include "./Input.h"
[3828]12#include "../Elements/TriaRef.h"
[5629]13class GaussTria;
[3683]14/*}}}*/
15
[11291]16class TriaP1Input: public Input,public TriaRef{
[3683]17
[4039]18 public:
[3683]19 /*just hold 3 values for 3 vertices: */
20 int enum_type;
[12706]21 IssmDouble values[3];
[3683]22
[12706]23 /*TriaP1Input constructors, destructors: {{{*/
[11291]24 TriaP1Input();
[12706]25 TriaP1Input(int enum_type,IssmDouble* values);
[11291]26 ~TriaP1Input();
[3683]27 /*}}}*/
[12706]28 /*Object virtual functions definitions:{{{ */
[4248]29 void Echo();
[3683]30 void DeepEcho();
31 int Id();
[4248]32 int MyRank();
[9883]33 int ObjectEnum();
[3683]34 Object* copy();
[4248]35 /*}}}*/
[12706]36 /*TriaP1Input management: {{{*/
[9883]37 int InstanceEnum();
[3847]38 Input* SpawnTriaInput(int* indices);
[12706]39 Input* PointwiseDivide(Input* inputB){_error2_("not implemented yet");};
[8129]40 Input* PointwiseMin(Input* inputB);
41 Input* PointwiseMax(Input* inputB);
[12706]42 ElementResult* SpawnResult(int step, IssmDouble time);
43 void AddTimeValues(IssmDouble* values,int step,IssmDouble time){_error2_("not supported yet");};
[8363]44 void Configure(Parameters* parameters);
[3683]45 /*}}}*/
[12706]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);
51 void GetInputValue(IssmDouble* pvalue,GaussPenta* gauss){_error2_("not implemented yet");};
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);
57 void GetInputDerivativeValue(IssmDouble* derivativevalues, IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
58 void GetInputAverage(IssmDouble* pvalue);
59 void GetVxStrainRate2d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussTria* gauss);
60 void GetVyStrainRate2d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussTria* gauss);
61 void GetVxStrainRate3d(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
62 void GetVyStrainRate3d(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
63 void GetVzStrainRate3d(IssmDouble* epsilonvz,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
64 void GetVxStrainRate3dPattyn(IssmDouble* epsilonvx,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
65 void GetVyStrainRate3dPattyn(IssmDouble* epsilonvy,IssmDouble* xyz_list, GaussPenta* gauss){_error2_("not implemented yet");};
[3732]66 void ChangeEnum(int newenumtype);
[3800]67
[12706]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);
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){_error2_("not supported yet");};
80 void VerticallyIntegrate(Input* thickness_input){_error2_("not supported yet");};
[11995]81 void GetVectorFromInputs(Vector* vector,int* doflist);
[12706]82 void GetValuesPtr(IssmDouble** pvalues,int* pnum_values);
[3683]83 /*}}}*/
84
85};
[11291]86#endif /* _TRIAP1INPUT_H */
Note: See TracBrowser for help on using the repository browser.