source: issm/trunk/src/c/objects/Model.h@ 3751

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

Final build that compiles in serial and parallel model

File size: 3.1 KB
Line 
1/*! \file Model.h
2 * \brief: header file for model object
3 */
4
5#ifndef _MODEL_H_
6#define _MODEL_H_
7
8/*Headers:*/
9/*{{{1*/
10#include "../include/types.h"
11struct FemModel;
12class DataSet;
13/*}}}*/
14
15class Model{
16
17 private:
18
19 /*femmodels for each formulation: dynamic, can have as many*/
20 DataSet* femmodels;
21
22 /*active femmodel: points to a FemModel in the femmodels dataset*/
23 FemModel* active;
24
25 public:
26
27 Model();
28 ~Model();
29
30 void Echo();
31 void DeepEcho();
32
33 void AddFormulation(ConstDataHandle MODEL, int analysis_type,int sub_analysis_type);
34 void AddFormulation(ConstDataHandle MODEL, int analysis_type);
35
36 /*all overloaded forms of the FindParam routine: */
37 int FindParam(bool* pparameter,int enum_type);
38 int FindParam(int* pparameter,int enum_type);
39 int FindParam(double* pparameter,int enum_type);
40 int FindParam(double** pparameter,int* pM,int* pN,int enum_type);
41 int FindParam(double** pparameter,int* pM,int enum_type);
42 int FindParam(char** pparameter,int enum_type);
43
44 int FindParamByAnalysisAndSub(bool* pparameter,int enum_type,int analysis_type,int sub_analysis_type);
45 int FindParamByAnalysisAndSub(int* pparameter,int enum_type,int analysis_type,int sub_analysis_type);
46 int FindParamByAnalysisAndSub(double* pparameter,int enum_type,int analysis_type,int sub_analysis_type);
47 int FindParamByAnalysisAndSub(double** pparameter,int* pM, int enum_type,int analysis_type,int sub_analysis_type);
48 int FindParamByAnalysisAndSub(double** pparameter,int* pM, int* pN,int enum_type,int analysis_type,int sub_analysis_type);
49 int FindParamByAnalysisAndSub(char** pparameter,int enum_type,int analysis_type,int sub_analysis_type);
50
51 int FindParamByAnalysis(bool* pparameter,int enum_type,int analysis_type);
52 int FindParamByAnalysis(int* pparameter,int enum_type,int analysis_type);
53 int FindParamByAnalysis(double* pparameter,int enum_type,int analysis_type);
54 int FindParamByAnalysis(double** pparameter,int* pM,int enum_type,int analysis_type);
55 int FindParamByAnalysis(double** pparameter,int* pM,int* pN,int enum_type,int analysis_type);
56 int FindParamByAnalysis(char** pparameter,int enum_type,int analysis_type);
57
58 FemModel* GetFormulation(int analysis_type,int sub_analysis_type);
59 FemModel* GetFormulation(int analysis_type);
60
61 void UpdateInputsFromVector(Vec vector, int name, int type);
62 void UpdateInputsFromVector(double* vector, int name, int type);
63 void UpdateInputsFromVector(int* vector, int name, int type);
64 void UpdateInputsFromVector(bool* vector, int name, int type);
65 void UpdateInputsFromConstant(double constant, int name);
66 void UpdateInputsFromConstant(int constant, int name);
67 void UpdateInputsFromConstant(bool constant, int name);
68 void UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type);
69 void UpdateFromDakota(double* variables,char** variables_descriptors,int numvariables,DataSet* parameters, double* qmu_part,int qmu_npart);
70
71
72 FemModel* GetActiveFormulation();
73 void* SetActiveFormulation(FemModel* femmodel);
74
75};
76#endif /* _MODEL_H */
Note: See TracBrowser for help on using the repository browser.