source: issm/trunk/src/c/objects/Pengrid.h@ 3463

Last change on this file since 3463 was 3463, checked in by Eric.Larour, 15 years ago

Added DofObject virtual abstract class. Redid all DistributeDofs,
so that it works for Node, Vertex, and anything that has dofs.

File size: 2.4 KB
Line 
1/*!\file Pengrid.h
2 * \brief: header file for pengrid object */
3
4#ifndef _PENGRID_H_
5#define _PENGRID_H_
6
7#include "./Load.h"
8#include "./Node.h"
9#include "./Element.h"
10#include "./Matpar.h"
11
12class Element;
13class Pengrid: public Load{
14
15 private:
16
17 int id;
18 int dof;
19 int active;
20 double penalty_offset;
21 int thermal_steadystate;
22
23 /*nodes: */
24 int node_id;
25 Node* node;
26 int node_offset;
27
28 int mparid;
29 Matpar* matpar;
30 int matpar_offset;
31
32 int stabilize_constraints;
33 int zigzag_counter;
34
35 public:
36
37 Pengrid();
38 Pengrid(int id, int node_id,int mparid,int dof, int active, double penalty_offset,int thermal_steadystate,int stabilize_constraints);
39 ~Pengrid();
40
41 void Echo();
42 void DeepEcho();
43 void Marshall(char** pmarshalled_dataset);
44 int MarshallSize();
45 char* GetName();
46 void Demarshall(char** pmarshalled_dataset);
47 int Enum();
48 int GetId();
49 int MyRank();
50 void DistributeNumDofs(int* numdofspernode,int analysis_type,int sub_analysis_type);
51 void Configure(void* elements,void* nodes,void* materials);
52 void CreateKMatrix(Mat Kgg,void* inputs,int analysis_type,int sub_analysis_type);
53 void CreatePVector(Vec pg, void* inputs, int analysis_type,int sub_analysis_type);
54 void UpdateFromInputs(void* inputs);
55 void PenaltyCreateKMatrix(Mat Kgg,void* inputs,double kmax,int analysis_type,int sub_analysis_type);
56 void PenaltyCreatePVector(Vec pg,void* inputs,double kmax,int analysis_type,int sub_analysis_type);
57 void PenaltyCreateKMatrixDiagnosticStokes(Mat Kgg,void* inputs,double kmax,int analysis_type,int sub_analysis_type);
58 void GetDofList(int* doflist,int* pnumberofdofspernode);
59 Object* copy();
60 void PenaltyCreateKMatrixThermal(Mat Kgg,void* vinputs,double kmax,int analysis_type,int sub_analysis_type);
61 void PenaltyCreateKMatrixMelting(Mat Kgg,void* vinputs,double kmax,int analysis_type,int sub_analysis_type);
62 void MatparConfiguration(Matpar* matpar,int matpar_offset);
63 void PenaltyCreatePVectorThermal(Vec pg, void* inputs, double kmax,int analysis_type,int sub_analysis_type);
64 void PenaltyCreatePVectorMelting(Vec pg, void* inputs, double kmax,int analysis_type,int sub_analysis_type);
65 void PenaltyConstrain(int* punstable,void* inputs,int analysis_type,int sub_analysis_type);
66 void PenaltyConstrainThermal(int* punstable,void* inputs,int analysis_type,int sub_analysis_type);
67
68};
69
70#endif /* _PENGRID_H_ */
71
72
Note: See TracBrowser for help on using the repository browser.