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

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

Bulk of solutions

File size: 2.7 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 FindParam(bool* pparameter,int enum_type,int analysis_type,int sub_analysis_type);
45 int FindParam(int* pparameter,int enum_type,int analysis_type,int sub_analysis_type);
46 int FindParam(double* pparameter,int enum_type,int analysis_type,int sub_analysis_type);
47 int FindParam(double** pparameter,int* pM, int enum_type,int analysis_type,int sub_analysis_type);
48 int FindParam(double** pparameter,int* pM, int* pN,int enum_type,int analysis_type,int sub_analysis_type);
49 int FindParam(char** pparameter,int enum_type,int analysis_type,int sub_analysis_type);
50
51 int FindParam(bool* pparameter,int enum_type,int analysis_type);
52 int FindParam(int* pparameter,int enum_type,int analysis_type);
53 int FindParam(double* pparameter,int enum_type,int analysis_type);
54 int FindParam(double** pparameter,int* pM,int enum_type,int analysis_type);
55 int FindParam(double** pparameter,int* pM,int* pN,int enum_type,int analysis_type);
56 int FindParam(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(double* vector, int name, int type);
62 void UpdateInputsFromConstant(double constant, int name);
63 void UpdateInputsFromConstant(int constant, int name);
64 void UpdateInputsFromConstant(bool constant, int name);
65 void UpdateInputsFromSolution(double* solution, int analysis_type, int sub_analysis_type);
66 void UpdateFromDakota(double* variables,char** variables_descriptors,int numvariables,DataSet* parameters, double* qmu_part,int qmu_npart);
67
68
69 FemModel* GetActiveFormulation();
70 void* SetActiveFormulation(FemModel* femmodel);
71
72};
73#endif /* _MODEL_H */
Note: See TracBrowser for help on using the repository browser.