1 | /*! \file ControlInput.h
|
---|
2 | * \brief: header file for triavertexinput object
|
---|
3 | */
|
---|
4 |
|
---|
5 |
|
---|
6 | #ifndef _CONTROLINPUT_H_
|
---|
7 | #define _CONTROLINPUT_H_
|
---|
8 |
|
---|
9 | /*Headers:*/
|
---|
10 | /*{{{1*/
|
---|
11 | #include "./Input.h"
|
---|
12 | #include "../../include/include.h"
|
---|
13 | class GaussTria;
|
---|
14 | /*}}}*/
|
---|
15 |
|
---|
16 | class ControlInput: public Input{
|
---|
17 |
|
---|
18 | public:
|
---|
19 | int enum_type;
|
---|
20 | int control_id;
|
---|
21 | Input* values;
|
---|
22 | Input* savedvalues;
|
---|
23 | Input* minvalues;
|
---|
24 | Input* maxvalues;
|
---|
25 | Input* gradient;
|
---|
26 |
|
---|
27 | /*ControlInput constructors, destructors: {{{1*/
|
---|
28 | ControlInput();
|
---|
29 | ControlInput(int enum_type,int enum_input,double* pvalues,double* pmin,double* pmax,int id);
|
---|
30 | ~ControlInput();
|
---|
31 | /*}}}*/
|
---|
32 | /*Object virtual functions definitions:{{{1 */
|
---|
33 | void Echo();
|
---|
34 | void DeepEcho();
|
---|
35 | int Id();
|
---|
36 | int MyRank();
|
---|
37 | #ifdef _SERIAL_
|
---|
38 | void Marshall(char** pmarshalled_dataset);
|
---|
39 | int MarshallSize();
|
---|
40 | void Demarshall(char** pmarshalled_dataset);
|
---|
41 | #endif
|
---|
42 | int ObjectEnum();
|
---|
43 | Object* copy();
|
---|
44 | /*}}}*/
|
---|
45 | /*ControlInput management: {{{1*/
|
---|
46 | int InstanceEnum();
|
---|
47 | Input* SpawnTriaInput(int* indices);
|
---|
48 | Input* PointwiseDivide(Input* inputB){_error_("not implemented yet");};
|
---|
49 | Input* PointwiseMin(Input* inputB){_error_("not implemented yet");};
|
---|
50 | Input* PointwiseMax(Input* inputB){_error_("not implemented yet");};
|
---|
51 | ElementResult* SpawnResult(int step, double time);
|
---|
52 | void AddTimeValues(double* values,int step,double time){_error_("not supported yet");};
|
---|
53 | void Configure(Parameters* parameters);
|
---|
54 | /*}}}*/
|
---|
55 | /*numerics: {{{1*/
|
---|
56 | void SetInput(Input* in_input);
|
---|
57 | void GetInputValue(bool* pvalue);
|
---|
58 | void GetInputValue(int* pvalue);
|
---|
59 | void GetInputValue(double* pvalue);
|
---|
60 | void GetInputValue(double* pvalue,GaussTria* gauss);
|
---|
61 | void GetInputValue(double* pvalue,GaussPenta* gauss);
|
---|
62 | void GetInputValue(double* pvalue,GaussTria* gauss ,int index){_error_("not implemented yet");};
|
---|
63 | void GetInputValue(double* pvalue,GaussPenta* gauss ,int index){_error_("not implemented yet");};
|
---|
64 | void GetInputDerivativeValue(double* derivativevalues, double* xyz_list, GaussTria* gauss);
|
---|
65 | void GetInputDerivativeValue(double* derivativevalues, double* xyz_list, GaussPenta* gauss);
|
---|
66 | void GetInputAverage(double* pvalue);
|
---|
67 | void GetVxStrainRate2d(double* epsilonvx,double* xyz_list, GaussTria* gauss){_error_("not implemented yet");};
|
---|
68 | void GetVyStrainRate2d(double* epsilonvy,double* xyz_list, GaussTria* gauss){_error_("not implemented yet");};
|
---|
69 | void GetVxStrainRate3d(double* epsilonvx,double* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
|
---|
70 | void GetVyStrainRate3d(double* epsilonvy,double* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
|
---|
71 | void GetVzStrainRate3d(double* epsilonvz,double* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
|
---|
72 | void GetVxStrainRate3dPattyn(double* epsilonvx,double* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
|
---|
73 | void GetVyStrainRate3dPattyn(double* epsilonvy,double* xyz_list, GaussPenta* gauss){_error_("not implemented yet");};
|
---|
74 | void ChangeEnum(int newenumtype){_error_("not implemented yet");};
|
---|
75 | void SquareMin(double* psquaremin, bool process_units,Parameters* parameters){_error_("not implemented yet");};
|
---|
76 | void ConstrainMin(double minimum){_error_("not implemented yet");};
|
---|
77 | void Scale(double scale_factor){_error_("not implemented yet");};
|
---|
78 | void ArtificialNoise(double min,double max){_error_("not implemented yet");};
|
---|
79 | void AXPY(Input* xinput,double scalar){_error_("not implemented yet");};
|
---|
80 | void Constrain(void);
|
---|
81 | void Constrain(double min,double max);
|
---|
82 | double InfinityNorm(void){_error_("not implemented yet");};
|
---|
83 | double Max(void){_error_("not implemented yet");};
|
---|
84 | double MaxAbs(void){_error_("not implemented yet");};
|
---|
85 | double Min(void){_error_("not implemented yet");};
|
---|
86 | double MinAbs(void){_error_("not implemented yet");};
|
---|
87 | void Extrude(void);
|
---|
88 | void VerticallyIntegrate(Input* thickness_input);
|
---|
89 | void GetVectorFromInputs(Vec vector,int* doflist,const char* data);
|
---|
90 | void GetVectorFromInputs(Vec vector,int* doflist);
|
---|
91 | void GetValuesPtr(double** pvalues,int* pnum_values){_error_("not implemented yet");};
|
---|
92 | ElementResult* SpawnGradient(int step, double time);
|
---|
93 | void GetGradient(Vec gradient_vec,int* doflist);
|
---|
94 | void ScaleGradient(double scale);
|
---|
95 | void SetGradient(Input* gradient_in);
|
---|
96 | void UpdateValue(double scalar);
|
---|
97 | void SaveValue(void);
|
---|
98 | /*}}}*/
|
---|
99 |
|
---|
100 | };
|
---|
101 | #endif /* _CONTROLINPUT_H */
|
---|