source: issm/trunk-jpl/src/c/classes/objects/Materials/Matice.h@ 14996

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

CHG: integrated Container/ directory into src/c/classes/objects directory. No reason to have the containers
and the objects that they contain defined in different places.

File size: 2.7 KB
Line 
1/*!\file Matice.h
2 * \brief: header file for matice object
3 */
4
5#ifndef MATICE_H_
6#define MATICE_H_
7
8/*Headers:*/
9/*{{{*/
10#include "./Material.h"
11#include "../../Hook.h"
12class IoModel;
13
14class Elements;
15class Loads;
16class Nodes;
17class Vertices;
18class Materials;
19class Parameters;
20
21/*}}}*/
22
23class Matice: public Material{
24
25 private:
26 int mid;
27 Hook *helement;
28
29 public:
30 /*Matice constructors, destructors: {{{*/
31 Matice();
32 Matice(int mid,int i, IoModel* iomodel);
33 ~Matice();
34 /*}}}*/
35 /*Object virtual functions definitions:{{{ */
36 void Echo();
37 void DeepEcho();
38 int Id();
39 int ObjectEnum();
40 Object* copy();
41 /*}}}*/
42 /*Update virtual functions definitions: {{{*/
43 void InputUpdateFromVector(IssmDouble* vector, int name, int type);
44 void InputUpdateFromVector(int* vector, int name, int type);
45 void InputUpdateFromVector(bool* vector, int name, int type);
46 void InputUpdateFromMatrixDakota(IssmDouble* matrix, int nrow, int ncols, int name, int type);
47 void InputUpdateFromVectorDakota(IssmDouble* vector, int name, int type);
48 void InputUpdateFromVectorDakota(int* vector, int name, int type);
49 void InputUpdateFromVectorDakota(bool* vector, int name, int type);
50 void InputUpdateFromConstant(IssmDouble constant, int name);
51 void InputUpdateFromConstant(int constant, int name);
52 void InputUpdateFromConstant(bool constant, int name);
53 void InputUpdateFromSolution(IssmDouble* solution);
54 void InputUpdateFromIoModel(int index, IoModel* iomodel);
55 /*}}}*/
56 /*Material virtual functions resolution: {{{*/
57 void InputDuplicate(int original_enum,int new_enum);
58 void Configure(Elements* elements);
59 void GetVectorFromInputs(Vector<IssmDouble>* vector,int input_enum);
60 void SetCurrentConfiguration(Elements* elements,Loads* loads,Nodes* nodes,Vertices* vertices,Materials* materials,Parameters* parameters);
61 void GetViscosity2d(IssmDouble* pviscosity, IssmDouble* pepsilon);
62 void GetViscosity3d(IssmDouble* pviscosity3d, IssmDouble* pepsilon);
63 void GetViscosity3dStokes(IssmDouble* pviscosity3d, IssmDouble* epsilon);
64 void GetViscosityComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon);
65 void GetViscosityZComplement(IssmDouble*, IssmDouble*){_error_("not supported");};
66 void GetViscosityDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon);
67 void GetViscosity2dDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon);
68 IssmDouble GetA();
69 IssmDouble GetB();
70 IssmDouble GetBbar();
71 IssmDouble GetZ(){_error_("not supported");};
72 IssmDouble GetZbar(){_error_("not supported");};
73 IssmDouble GetN();
74 bool IsInput(int name);
75 /*}}}*/
76};
77
78#endif /* _MATICE_H_ */
Note: See TracBrowser for help on using the repository browser.