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

Last change on this file since 25506 was 25506, checked in by Mathieu Morlighem, 5 years ago

NEW: new way of Marshalling femmodel

File size: 1.6 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 id; /*! 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 id_in,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 void Marshall2(MarshallHandle* marshallhandle);
38 int ObjectEnum();
39
40 /*Constraint virtual functions definitions*/
41 void ActivatePenaltyMethod(void);
42 void ConstrainNode(Nodes* nodes,Parameters* parameters);
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.