source: issm/trunk-jpl/src/c/objects/Loads/Penpair.h@ 12494

Last change on this file since 12494 was 12494, checked in by Mathieu Morlighem, 13 years ago

replaced all _error_ to _error2_

File size: 2.8 KB
Line 
1/*!\file Penpair.h
2 * \brief: header file for penpair object */
3
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
13class Element;
14/*}}}*/
15
16class Penpair: public Load{
17
18 private:
19 int id;
20 int analysis_type;
21
22 Hook* hnodes; //hook to 2 nodes
23 Node** nodes;
24
25 Parameters* parameters; //pointer to solution parameters
26
27 public:
28
29 /*Penpair constructors, destructors: {{{*/
30 Penpair();
31 Penpair(int penpair_id,int* penpair_node_ids,int analysis_type);
32 ~Penpair();
33 /*}}}*/
34 /*Object virtual functions definitions:{{{ */
35 void Echo();
36 void DeepEcho();
37 int Id();
38 int MyRank();
39 int ObjectEnum();
40 Object* copy();
41 /*}}}*/
42 /*Update virtual functions resolution: {{{*/
43 void InputUpdateFromVector(IssmDouble* vector, int name, int type);
44 void InputUpdateFromVector(int* vector, int name, int type);
45 void InputUpdateFromVector(bool* vector, int name, int type);
46 void InputUpdateFromMatrixDakota(IssmDouble* matrix, int nrow, int ncols,int name, int type){_error2_("Not implemented yet!");}
47 void InputUpdateFromVectorDakota(IssmDouble* vector, int name, int type){_error2_("Not implemented yet!");}
48 void InputUpdateFromVectorDakota(int* vector, int name, int type){_error2_("Not implemented yet!");}
49 void InputUpdateFromVectorDakota(bool* vector, int name, int type){_error2_("Not implemented yet!");}
50 void InputUpdateFromConstant(IssmDouble constant, int name);
51 void InputUpdateFromConstant(int constant, int name);
52 void InputUpdateFromConstant(bool constant, int name);
53 void InputUpdateFromSolution(IssmDouble* solution){_error2_("Not implemented yet!");}
54 void InputUpdateFromIoModel(int index, IoModel* iomodel){_error2_("not implemented yet");};
55 /*}}}*/
56 /*Load virtual functions definitions: {{{*/
57 void Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
58 void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
59 void CreateKMatrix(Matrix* Kff, Matrix* Kfs);
60 void CreatePVector(Vector* pf);
61 void CreateJacobianMatrix(Matrix* Jff);
62 void PenaltyCreateKMatrix(Matrix* Kff,Matrix* Kfs,IssmDouble kmax);
63 void PenaltyCreatePVector(Vector* pf, IssmDouble kmax);
64 void PenaltyCreateJacobianMatrix(Matrix* Jff,IssmDouble kmax);
65 bool InAnalysis(int analysis_type);
66 /*}}}*/
67 /*Penpair management: {{{*/
68 ElementMatrix* PenaltyCreateKMatrixDiagnosticHoriz(IssmDouble kmax);
69 ElementMatrix* PenaltyCreateKMatrixDiagnosticMacAyealPattyn(IssmDouble kmax);
70 ElementMatrix* PenaltyCreateKMatrixDiagnosticStokes(IssmDouble kmax);
71 ElementMatrix* PenaltyCreateKMatrixPrognostic(IssmDouble kmax);
72 /*}}}*/
73};
74
75#endif /* _PENPAIR_H_ */
76
77
Note: See TracBrowser for help on using the repository browser.