Ice Sheet System Model  4.18
Code documentation
Penpair.h
Go to the documentation of this file.
1 
4 #ifndef _PENPAIR_H_
5 #define _PENPAIR_H_
6 
7 /*Headers:*/
8 /*{{{*/
9 #include "./Load.h"
10 #include "../Node.h"
11 #include "../Elements/Element.h"
12 
13 class Element;
14 /*}}}*/
15 
16 class Penpair: public Load{
17 
18  private:
19  int id;
20  Hook *hnodes; //hook to 2 nodes
22  Parameters *parameters; //pointer to solution parameters
23 
24  public:
25 
26  /*Penpair constructors, destructors: {{{*/
27  Penpair();
28  Penpair(int penpair_id,int* penpair_node_ids);
29  ~Penpair();
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  /*Update virtual functions resolution: {{{*/
40  void InputUpdateFromConstant(IssmDouble constant, int name);
41  void InputUpdateFromConstant(int constant, int name);
42  void InputUpdateFromConstant(bool constant, int name);
43  void InputUpdateFromIoModel(int index, IoModel* iomodel){_error_("not implemented yet");};
44  void InputUpdateFromMatrixDakota(IssmDouble* matrix, int nrow, int ncols,int name, int type){_error_("Not implemented yet!");}
45  void InputUpdateFromVector(IssmDouble* vector, int name, int type);
46  void InputUpdateFromVectorDakota(IssmDouble* vector, int name, int type){_error_("Not implemented yet!");}
47  /*}}}*/
48  /*Load virtual functions definitions: {{{*/
49  void Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
53  void GetNodesLidList(int* lidlist);
54  void GetNodesSidList(int* sidlist);
55  int GetNumberOfNodes(void);
56  bool IsPenalty(void);
60  void ResetHooks();
61  void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
62  void SetwiseNodeConnectivity(int* d_nz,int* o_nz,Node* node,bool* flags,int* flagsindices,int set1_enum,int set2_enum);
63  /*}}}*/
64  /*Penpair management: {{{*/
69  /*}}}*/
70 };
71 
72 #endif /* _PENPAIR_H_ */
Matrix< IssmDouble >
Vertices
Declaration of Vertices class.
Definition: Vertices.h:15
Penpair::Id
int Id()
Definition: Penpair.cpp:84
Penpair::GetNodesSidList
void GetNodesSidList(int *sidlist)
Definition: Penpair.cpp:151
Penpair::GetNodesLidList
void GetNodesLidList(int *lidlist)
Definition: Penpair.cpp:143
IssmDouble
double IssmDouble
Definition: types.h:37
Nodes
Declaration of Nodes class.
Definition: Nodes.h:19
Penpair::Configure
void Configure(Elements *elements, Loads *loads, Nodes *nodes, Vertices *vertices, Materials *materials, Parameters *parameters)
Definition: Penpair.cpp:111
Penpair::Marshall
void Marshall(char **pmarshalled_data, int *pmarshalled_data_size, int marshall_direction)
Definition: Penpair.cpp:86
Parameters
Declaration of Parameters class.
Definition: Parameters.h:18
Penpair::PenaltyCreateKMatrixStressbalanceHoriz
ElementMatrix * PenaltyCreateKMatrixStressbalanceHoriz(IssmDouble kmax)
Definition: Penpair.cpp:339
Elements
Declaration of Elements class.
Definition: Elements.h:17
Penpair::~Penpair
~Penpair()
Definition: Penpair.cpp:39
Penpair::CreateKMatrix
void CreateKMatrix(Matrix< IssmDouble > *Kff, Matrix< IssmDouble > *Kfs)
Definition: Penpair.cpp:129
Penpair::copy
Object * copy()
Definition: Penpair.cpp:46
Penpair::InputUpdateFromVectorDakota
void InputUpdateFromVectorDakota(IssmDouble *vector, int name, int type)
Definition: Penpair.h:46
Penpair::DeepEcho
void DeepEcho()
Definition: Penpair.cpp:66
Load
Definition: Load.h:22
Penpair::CreatePVector
void CreatePVector(Vector< IssmDouble > *pf)
Definition: Penpair.cpp:136
Penpair::Penpair
Penpair()
Definition: Penpair.cpp:21
Penpair::PenaltyCreatePVector
void PenaltyCreatePVector(Vector< IssmDouble > *pf, IssmDouble kmax)
Definition: Penpair.cpp:197
Penpair::InputUpdateFromConstant
void InputUpdateFromConstant(IssmDouble constant, int name)
Definition: Penpair.cpp:272
Penpair::InputUpdateFromMatrixDakota
void InputUpdateFromMatrixDakota(IssmDouble *matrix, int nrow, int ncols, int name, int type)
Definition: Penpair.h:44
Penpair::SetCurrentConfiguration
void SetCurrentConfiguration(Elements *elements, Loads *loads, Nodes *nodes, Vertices *vertices, Materials *materials, Parameters *parameters)
Definition: Penpair.cpp:212
Element
Definition: Element.h:41
Penpair::PenaltyCreateKMatrixStressbalanceSSAHO
ElementMatrix * PenaltyCreateKMatrixStressbalanceSSAHO(IssmDouble kmax)
Definition: Penpair.cpp:372
Object
Definition: Object.h:13
Penpair::IsPenalty
bool IsPenalty(void)
Definition: Penpair.cpp:164
Materials
Declaration of Materials class.
Definition: Materials.h:16
Penpair
Definition: Penpair.h:16
Load.h
abstract class for Load object This class is a place holder for the Icefront and the Penpair loads....
Hook
Definition: Hook.h:16
Penpair::ResetHooks
void ResetHooks()
Definition: Penpair.cpp:202
Penpair::nodes
Node ** nodes
Definition: Penpair.h:21
Penpair::InputUpdateFromVector
void InputUpdateFromVector(IssmDouble *vector, int name, int type)
Definition: Penpair.cpp:284
Penpair::hnodes
Hook * hnodes
Definition: Penpair.h:20
Penpair::GetNumberOfNodes
int GetNumberOfNodes(void)
Definition: Penpair.cpp:159
Loads
Declaration of Loads class.
Definition: Loads.h:16
Node
Definition: Node.h:23
_error_
#define _error_(StreamArgs)
Definition: exceptions.h:49
Penpair::CreateJacobianMatrix
void CreateJacobianMatrix(Matrix< IssmDouble > *Jff)
Definition: Penpair.cpp:125
Penpair::PenaltyCreateKMatrixMasstransport
ElementMatrix * PenaltyCreateKMatrixMasstransport(IssmDouble kmax)
Definition: Penpair.cpp:290
Penpair::ObjectEnum
int ObjectEnum()
Definition: Penpair.cpp:104
Penpair::PenaltyCreateJacobianMatrix
void PenaltyCreateJacobianMatrix(Matrix< IssmDouble > *Jff, IssmDouble kmax)
Definition: Penpair.cpp:168
Penpair::PenaltyCreateKMatrix
void PenaltyCreateKMatrix(Matrix< IssmDouble > *Kff, Matrix< IssmDouble > *Kfs, IssmDouble kmax)
Definition: Penpair.cpp:172
Penpair::SetwiseNodeConnectivity
void SetwiseNodeConnectivity(int *d_nz, int *o_nz, Node *node, bool *flags, int *flagsindices, int set1_enum, int set2_enum)
Definition: Penpair.cpp:216
IoModel
Definition: IoModel.h:48
Penpair::InputUpdateFromIoModel
void InputUpdateFromIoModel(int index, IoModel *iomodel)
Definition: Penpair.h:43
Penpair::PenaltyCreateKMatrixStressbalanceFS
ElementMatrix * PenaltyCreateKMatrixStressbalanceFS(IssmDouble kmax)
Definition: Penpair.cpp:311
Penpair::id
int id
Definition: Penpair.h:19
ElementMatrix
Definition: ElementMatrix.h:19
Vector< IssmDouble >
Penpair::parameters
Parameters * parameters
Definition: Penpair.h:22
Penpair::Echo
void Echo()
Definition: Penpair.cpp:75