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

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

Added InputUpdateFromVector for Penpair

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:*/
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;
[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
[4248]29 /*Penpair constructors, destructors: {{{1*/
[3683]30 Penpair();
[4007]31 Penpair(int penpair_id,int* penpair_node_ids,int analysis_type);
[3683]32 ~Penpair();
[4007]33 /*}}}*/
[4248]34 /*Object virtual functions definitions:{{{1 */
35 void Echo();
[3683]36 void DeepEcho();
37 int Id();
[4248]38 int MyRank();
[9777]39 #ifdef _SERIAL_
[4007]40 void Marshall(char** pmarshalled_dataset);
41 int MarshallSize();
[4248]42 void Demarshall(char** pmarshalled_dataset);
[9777]43 #endif
[9883]44 int ObjectEnum();
[4248]45 Object* copy();
[4244]46 /*}}}*/
47 /*Update virtual functions resolution: {{{1*/
[11247]48 void InputUpdateFromVector(double* vector, int name, int type);
49 void InputUpdateFromVector(int* vector, int name, int type);
50 void InputUpdateFromVector(bool* vector, int name, int type);
[10576]51 void InputUpdateFromMatrixDakota(double* matrix, int nrow, int ncols,int name, int type){_error_("Not implemented yet!");}
[6412]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!");}
[4887]55 void InputUpdateFromConstant(double constant, int name);
56 void InputUpdateFromConstant(int constant, int name);
57 void InputUpdateFromConstant(bool constant, int name);
[6412]58 void InputUpdateFromSolution(double* solution){_error_("Not implemented yet!");}
59 void InputUpdateFromIoModel(int index, IoModel* iomodel){_error_("not implemented yet");};
[4007]60 /*}}}*/
[4248]61 /*Load virtual functions definitions: {{{1*/
62 void Configure(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
[4575]63 void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
[8800]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);
[4248]68 bool InAnalysis(int analysis_type);
[4007]69 /*}}}*/
[4887]70 /*Penpair management: {{{1*/
[5937]71 ElementMatrix* PenaltyCreateKMatrixDiagnosticHoriz(double kmax);
72 ElementMatrix* PenaltyCreateKMatrixDiagnosticMacAyealPattyn(double kmax);
73 ElementMatrix* PenaltyCreateKMatrixDiagnosticStokes(double kmax);
[7833]74 ElementMatrix* PenaltyCreateKMatrixPrognostic(double kmax);
[4887]75 /*}}}*/
[3683]76};
77
78#endif /* _PENPAIR_H_ */
79
80
Note: See TracBrowser for help on using the repository browser.