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

Last change on this file since 10937 was 10576, checked in by Eric.Larour, 13 years ago

Fixed all bugs in new implementation of transient inputs for Dakota runs.

File size: 2.9 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/*{{{1*/
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: {{{1*/
30 Penpair();
31 Penpair(int penpair_id,int* penpair_node_ids,int analysis_type);
32 ~Penpair();
33 /*}}}*/
34 /*Object virtual functions definitions:{{{1 */
35 void Echo();
36 void DeepEcho();
37 int Id();
38 int MyRank();
39 #ifdef _SERIAL_
40 void Marshall(char** pmarshalled_dataset);
41 int MarshallSize();
42 void Demarshall(char** pmarshalled_dataset);
43 #endif
44 int ObjectEnum();
45 Object* copy();
46 /*}}}*/
47 /*Update virtual functions resolution: {{{1*/
48 void InputUpdateFromVector(double* vector, int name, int type){_error_("Not implemented yet!");}
49 void InputUpdateFromVector(int* vector, int name, int type){_error_("Not implemented yet!");}
50 void InputUpdateFromVector(bool* vector, int name, int type){_error_("Not implemented yet!");}
51 void InputUpdateFromMatrixDakota(double* matrix, int nrow, int ncols,int name, int type){_error_("Not implemented yet!");}
52 void InputUpdateFromVectorDakota(double* vector, int name, int type){_error_("Not implemented yet!");}
53 void InputUpdateFromVectorDakota(int* vector, int name, int type){_error_("Not implemented yet!");}
54 void InputUpdateFromVectorDakota(bool* vector, int name, int type){_error_("Not implemented yet!");}
55 void InputUpdateFromConstant(double constant, int name);
56 void InputUpdateFromConstant(int constant, int name);
57 void InputUpdateFromConstant(bool constant, int name);
58 void InputUpdateFromSolution(double* solution){_error_("Not implemented yet!");}
59 void InputUpdateFromIoModel(int index, IoModel* iomodel){_error_("not implemented yet");};
60 /*}}}*/
61 /*Load virtual functions definitions: {{{1*/
62 void Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
63 void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
64 void CreateKMatrix(Mat Kff, Mat Kfs);
65 void CreatePVector(Vec pf);
66 void PenaltyCreateKMatrix(Mat Kff, Mat kfs, double kmax);
67 void PenaltyCreatePVector(Vec pf, double kmax);
68 bool InAnalysis(int analysis_type);
69 /*}}}*/
70 /*Penpair management: {{{1*/
71 ElementMatrix* PenaltyCreateKMatrixDiagnosticHoriz(double kmax);
72 ElementMatrix* PenaltyCreateKMatrixDiagnosticMacAyealPattyn(double kmax);
73 ElementMatrix* PenaltyCreateKMatrixDiagnosticStokes(double kmax);
74 ElementMatrix* PenaltyCreateKMatrixPrognostic(double kmax);
75 /*}}}*/
76};
77
78#endif /* _PENPAIR_H_ */
79
80
Note: See TracBrowser for help on using the repository browser.