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

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

Almost there

File size: 2.5 KB
RevLine 
[387]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"
[483]10#include "./Matpar.h"
[387]11
12class Element;
13class Pengrid: public Load{
14
15 private:
16
17 int id;
18
[3621]19 Hook hnode; //hook to 1 node
20 Hook hmatpar; //hook to 1 matpar
[387]21
[3621]22 Parameters* parameters; //pointer to solution parameters
23 Inputs* inputs;
24
25 /*internals: */
26 int active;
[2212]27 int zigzag_counter;
28
[387]29 public:
30
[3621]31 /*FUNCTION constructors, destructors {{{1*/
[387]32 Pengrid();
[3621]33 Pengrid(int pengrid_id,int pengrid_node_id int pengrid_matpar_id);
34 Pengrid(int pengrid_id,Hook* pengrid_hnode, Hook* pengrid_hmatpar, Parameters* pengrid_parameters, Inputs* pengrid_inputs);
35 Pengrid(int i, IoModel* iomodel);
[387]36 ~Pengrid();
[3621]37 /*}}}*/
38 /*FUNCTION object management {{{1*/
39 void Configure(void* elements,void* nodes,void* materials);
40 Object* copy();
[803]41 void DeepEcho();
[387]42 void Demarshall(char** pmarshalled_dataset);
[3621]43 void Echo();
[387]44 int Enum();
45 int GetId();
[3621]46 char* GetName();
47 void Marshall(char** pmarshalled_dataset);
48 int MarshallSize();
[387]49 int MyRank();
[3621]50 /*}}}*/
51 /*FUNCTION element numerical routines {{{1*/
[465]52 void DistributeNumDofs(int* numdofspernode,int analysis_type,int sub_analysis_type);
[3621]53 void CreateKMatrix(Mat Kgg,int analysis_type,int sub_analysis_type);
54 void CreatePVector(Vec pg, int analysis_type,int sub_analysis_type);
55 void PenaltyCreateKMatrix(Mat Kgg,double kmax,int analysis_type,int sub_analysis_type);
56 void PenaltyCreatePVector(Vec pg,double kmax,int analysis_type,int sub_analysis_type);
57 void PenaltyCreateKMatrixDiagnosticStokes(Mat Kgg,double kmax,int analysis_type,int sub_analysis_type);
[394]58 void GetDofList(int* doflist,int* pnumberofdofspernode);
[3621]59 void PenaltyCreateKMatrixThermal(Mat Kgg,double kmax,int analysis_type,int sub_analysis_type);
60 void PenaltyCreateKMatrixMelting(Mat Kgg,double kmax,int analysis_type,int sub_analysis_type);
[483]61 void MatparConfiguration(Matpar* matpar,int matpar_offset);
[3621]62 void PenaltyCreatePVectorThermal(Vec pg, double kmax,int analysis_type,int sub_analysis_type);
63 void PenaltyCreatePVectorMelting(Vec pg, double kmax,int analysis_type,int sub_analysis_type);
64 void PenaltyConstrain(int* punstable,int analysis_type,int sub_analysis_type);
65 void PenaltyConstrainThermal(int* punstable,int analysis_type,int sub_analysis_type);
66
67 /*updates:*/
68 void UpdateFromDakota(void* inputs);
69 void UpdateInputs(double* solution, int analysis_type, int sub_analysis_type);
70 /*}}}*/
[3454]71
[387]72};
73
74#endif /* _PENGRID_H_ */
75
76
Note: See TracBrowser for help on using the repository browser.