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 |
|
---|
13 | class 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(MarshallHandle* marshallhandle);
|
---|
37 | int ObjectEnum();
|
---|
38 |
|
---|
39 | /*Constraint virtual functions definitions*/
|
---|
40 | void ActivatePenaltyMethod(void);
|
---|
41 | void ConstrainNode(Nodes* nodes,Parameters* parameters);
|
---|
42 | void PenaltyDofAndValue(int* dof,IssmDouble* value,Nodes* nodes,Parameters* parameters){_error_("not implemented yet");};
|
---|
43 | void InputUpdateFromVectorDakota(IssmDouble* vector,Nodes* nodes,int name,int type){_error_("not implemented yet");};
|
---|
44 |
|
---|
45 | /*SpcDynamic management*/
|
---|
46 | int GetDof();
|
---|
47 | int GetNodeId();
|
---|
48 | IssmDouble GetValue();
|
---|
49 | void SetDynamicConstraint(Nodes *nodes,IssmDouble *yg_serial);
|
---|
50 |
|
---|
51 | };
|
---|
52 |
|
---|
53 | #endif /* _SPCStatic_H_*/
|
---|