source: issm/trunk-jpl/src/c/classes/Constraints/SpcDynamic.h@ 22200

Last change on this file since 22200 was 22200, checked in by erobo, 7 years ago

NEW: added inflow constraint as a possible variable for dakota, only working for MC for now

File size: 1.5 KB
Line 
1/*!\file SpcDynamic.h
2 * \brief: header file for spc object
3 */
4
5#ifndef _SPCDynamic_H_
6#define _SPCDynamic_H_
7
8/*Headers:*/
9/*{{{*/
10#include "../../datastructures/datastructures.h"
11/*}}}*/
12
13class SpcDynamic: public Constraint{
14
15 private:
16 int sid; /*! id, to track it */
17 int nodeid; /*!node id */
18 int dof; /*!component */
19 IssmDouble value; /*value */
20 bool isset;
21 int analysis_type;
22 bool penalty; /*Is this a penalty constraint */
23
24 public:
25
26 /*SpcDynamic constructors, destructors*/
27 SpcDynamic();
28 SpcDynamic(int sid,int nodeid, int dof,int analysis_type);
29 ~SpcDynamic();
30
31 /*Object virtual functions definitions*/
32 Object *copy();
33 void DeepEcho();
34 void Echo();
35 int Id();
36 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
37 int ObjectEnum();
38
39 /*Constraint virtual functions definitions*/
40 void ActivatePenaltyMethod(void);
41 void ConstrainNode(Nodes* nodes,Parameters* parameters);
42 bool InAnalysis(int analysis_type);
43 void PenaltyDofAndValue(int* dof,IssmDouble* value,Nodes* nodes,Parameters* parameters){_error_("not implemented yet");};
44 void InputUpdateFromVectorDakota(IssmDouble* vector,Nodes* nodes,int name,int type){_error_("not implemented yet");};
45
46 /*SpcDynamic management*/
47 int GetDof();
48 int GetNodeId();
49 IssmDouble GetValue();
50 void SetDynamicConstraint(Nodes *nodes,IssmDouble *yg_serial);
51
52};
53
54#endif /* _SPCStatic_H_*/
Note: See TracBrowser for help on using the repository browser.