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

Last change on this file since 13129 was 13129, checked in by Mathieu Morlighem, 13 years ago

NEW: tria->material is now an object-oriented that can either be Matice or Matdamageice

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