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
RevLine 
[3683]1/*!\file Penpair.h
2 * \brief: header file for penpair object */
3
4#ifndef _PENPAIR_H_
5#define _PENPAIR_H_
6
7/*Headers:*/
[12365]8/*{{{*/
[3683]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;
[4007]20 int analysis_type;
[3683]21
[4396]22 Hook* hnodes; //hook to 2 nodes
[5940]23 Node** nodes;
[3683]24
[4887]25 Parameters* parameters; //pointer to solution parameters
26
[3683]27 public:
28
[12365]29 /*Penpair constructors, destructors: {{{*/
[3683]30 Penpair();
[4007]31 Penpair(int penpair_id,int* penpair_node_ids,int analysis_type);
[3683]32 ~Penpair();
[4007]33 /*}}}*/
[12365]34 /*Object virtual functions definitions:{{{ */
[4248]35 void Echo();
[3683]36 void DeepEcho();
37 int Id();
[4248]38 int MyRank();
[9883]39 int ObjectEnum();
[4248]40 Object* copy();
[4244]41 /*}}}*/
[12365]42 /*Update virtual functions resolution: {{{*/
[12472]43 void InputUpdateFromVector(IssmDouble* vector, int name, int type);
[11247]44 void InputUpdateFromVector(int* vector, int name, int type);
45 void InputUpdateFromVector(bool* vector, int name, int type);
[12494]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!");}
[12472]50 void InputUpdateFromConstant(IssmDouble constant, int name);
[4887]51 void InputUpdateFromConstant(int constant, int name);
52 void InputUpdateFromConstant(bool constant, int name);
[12494]53 void InputUpdateFromSolution(IssmDouble* solution){_error2_("Not implemented yet!");}
54 void InputUpdateFromIoModel(int index, IoModel* iomodel){_error2_("not implemented yet");};
[4007]55 /*}}}*/
[12365]56 /*Load virtual functions definitions: {{{*/
[4248]57 void Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
[4575]58 void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
[11679]59 void CreateKMatrix(Matrix* Kff, Matrix* Kfs);
60 void CreatePVector(Vector* pf);
61 void CreateJacobianMatrix(Matrix* Jff);
[12472]62 void PenaltyCreateKMatrix(Matrix* Kff,Matrix* Kfs,IssmDouble kmax);
63 void PenaltyCreatePVector(Vector* pf, IssmDouble kmax);
64 void PenaltyCreateJacobianMatrix(Matrix* Jff,IssmDouble kmax);
[4248]65 bool InAnalysis(int analysis_type);
[4007]66 /*}}}*/
[12365]67 /*Penpair management: {{{*/
[12472]68 ElementMatrix* PenaltyCreateKMatrixDiagnosticHoriz(IssmDouble kmax);
69 ElementMatrix* PenaltyCreateKMatrixDiagnosticMacAyealPattyn(IssmDouble kmax);
70 ElementMatrix* PenaltyCreateKMatrixDiagnosticStokes(IssmDouble kmax);
71 ElementMatrix* PenaltyCreateKMatrixPrognostic(IssmDouble kmax);
[4887]72 /*}}}*/
[3683]73};
74
75#endif /* _PENPAIR_H_ */
76
77
Note: See TracBrowser for help on using the repository browser.