Ice Sheet System Model  4.18
Code documentation
Matlitho.h
Go to the documentation of this file.
1 
5 #ifndef _MATLITHO_H_
6 #define _MATLITHO_H_
7 
8 /*Headers:*/
9 /*{{{*/
10 #include "./Material.h"
11 class IoModel;
12 /*}}}*/
13 
14 class Matlitho: public Material{
15 
16  public:
17  int mid;
18  int numlayers;
28 
29  Matlitho();
30  Matlitho(int matlitho_id, IoModel* iomodel);
31  ~Matlitho();
32  void SetMid(int matlitho_mid);
33 
34  /*Object virtual functions definitions:{{{ */
35  Object *copy();
36  void DeepEcho();
37  void Echo();
38  int Id();
39  void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction);
40  int ObjectEnum();
41  /*}}}*/
42  /*Material virtual functions resolution: {{{*/
43  Material* copy2(Element* element){_error_("not implemented");};
44  void Configure(Elements* elements);
45  void GetViscosity(IssmDouble* pviscosity,IssmDouble eps_eff,Gauss* gauss){_error_("not supported");};
46  void GetViscosityBar(IssmDouble* pviscosity,IssmDouble eps_eff,Gauss* gauss){_error_("not supported");};
47  void GetViscosityComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon,Gauss* gauss){_error_("not supported");};
48  void GetViscosityDComplement(IssmDouble* pviscosity_complement, IssmDouble* pepsilon,Gauss* gauss){_error_("not supported");};
49  void GetViscosityDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon,Gauss* gauss){_error_("not supported");};
50  void GetViscosity_B(IssmDouble* pviscosity,IssmDouble eps_eff,Gauss* gauss){_error_("not supported");};
51  void GetViscosity_D(IssmDouble* pviscosity,IssmDouble eps_eff,Gauss* gauss){_error_("not supported");};
52  void GetViscosity2dDerivativeEpsSquare(IssmDouble* pmu_prime, IssmDouble* pepsilon,Gauss* gauss){_error_("not supported");};
53  IssmDouble GetA(Gauss* gauss){_error_("not supported");};
54  IssmDouble GetAbar(Gauss* gauss){_error_("not supported");};
55  IssmDouble GetB(Gauss* gauss){_error_("not supported");};
56  IssmDouble GetBbar(Gauss* gauss){_error_("not supported");};
57  IssmDouble GetD(Gauss* gauss){_error_("not supported");};
58  IssmDouble GetDbar(Gauss* gauss){_error_("not supported");};
59  IssmDouble GetN(){_error_("not supported");};
60  bool IsDamage(){_error_("not supported");};
61  bool IsEnhanced(){_error_("not supported");};
62  void ResetHooks();
63 
64  void ViscosityFSDerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss){_error_("not supported");};
65  void ViscosityHODerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss){_error_("not supported");};
66  void ViscositySSADerivativeEpsSquare(IssmDouble* pmu_prime,IssmDouble* epsilon,Gauss* gauss){_error_("not supported");};
67 
68  void ViscosityFS(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input2* vx_input,Input2* vy_input,Input2* vz_input){_error_("not supported");};
69  void ViscosityHO(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input2* vx_input,Input2* vy_input){_error_("not supported");};
70  void ViscosityL1L2(IssmDouble* pviscosity,IssmDouble* xyz_list,Gauss* gauss,Input2* vx_input,Input2* vy_input,Input2* surf){_error_("not supported");};
71  void ViscositySSA(IssmDouble* pviscosity,int dim,IssmDouble* xyz_list,Gauss* gauss,Input2* vx_input,Input2* vy_input){_error_("not supported");};
72  void ViscosityBFS(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input2* vx_input,Input2* vy_input,Input2* vz_input,IssmDouble epseff){_error_("not supported");};
73  void ViscosityBHO(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input2* vx_input,Input2* vy_input,IssmDouble epseff){_error_("not supported");};
74  void ViscosityBSSA(IssmDouble* pmudB,int dim,IssmDouble* xyz_list,Gauss* gauss,Input2* vx_input,Input2* vy_input,IssmDouble epseff){_error_("not supported");};
75 
76  /*}}}*/
77 
78 };
79 
80 #endif /* _MATLITHO_H_ */
Matlitho::GetViscosityDerivativeEpsSquare
void GetViscosityDerivativeEpsSquare(IssmDouble *pmu_prime, IssmDouble *pepsilon, Gauss *gauss)
Definition: Matlitho.h:49
Matlitho::viscosity
IssmDouble * viscosity
Definition: Matlitho.h:20
Matlitho::Matlitho
Matlitho()
Definition: Matlitho.cpp:15
Matlitho::Echo
void Echo()
Definition: Matlitho.cpp:133
Matlitho::GetViscosity_D
void GetViscosity_D(IssmDouble *pviscosity, IssmDouble eps_eff, Gauss *gauss)
Definition: Matlitho.h:51
IssmDouble
double IssmDouble
Definition: types.h:37
Matlitho::copy2
Material * copy2(Element *element)
Definition: Matlitho.h:43
Matlitho::GetViscosity2dDerivativeEpsSquare
void GetViscosity2dDerivativeEpsSquare(IssmDouble *pmu_prime, IssmDouble *pepsilon, Gauss *gauss)
Definition: Matlitho.h:52
Elements
Declaration of Elements class.
Definition: Elements.h:17
Matlitho::GetViscosity
void GetViscosity(IssmDouble *pviscosity, IssmDouble eps_eff, Gauss *gauss)
Definition: Matlitho.h:45
Matlitho::issolid
IssmDouble * issolid
Definition: Matlitho.h:27
Matlitho::numlayers
int numlayers
Definition: Matlitho.h:18
Material
Definition: Material.h:21
Matlitho::ViscositySSADerivativeEpsSquare
void ViscositySSADerivativeEpsSquare(IssmDouble *pmu_prime, IssmDouble *epsilon, Gauss *gauss)
Definition: Matlitho.h:66
Matlitho::Marshall
void Marshall(char **pmarshalled_data, int *pmarshalled_data_size, int marshall_direction)
Definition: Matlitho.cpp:147
Matlitho::ViscosityBHO
void ViscosityBHO(IssmDouble *pmudB, int dim, IssmDouble *xyz_list, Gauss *gauss, Input2 *vx_input, Input2 *vy_input, IssmDouble epseff)
Definition: Matlitho.h:73
Element
Definition: Element.h:41
Matlitho::GetB
IssmDouble GetB(Gauss *gauss)
Definition: Matlitho.h:55
Matlitho::GetBbar
IssmDouble GetBbar(Gauss *gauss)
Definition: Matlitho.h:56
Object
Definition: Object.h:13
Matlitho::ViscosityL1L2
void ViscosityL1L2(IssmDouble *pviscosity, IssmDouble *xyz_list, Gauss *gauss, Input2 *vx_input, Input2 *vy_input, Input2 *surf)
Definition: Matlitho.h:70
Matlitho::DeepEcho
void DeepEcho()
Definition: Matlitho.cpp:128
Matlitho::SetMid
void SetMid(int matlitho_mid)
Definition: Matlitho.cpp:94
Matlitho::GetA
IssmDouble GetA(Gauss *gauss)
Definition: Matlitho.h:53
Matlitho::copy
Object * copy()
Definition: Matlitho.cpp:100
Matlitho::GetAbar
IssmDouble GetAbar(Gauss *gauss)
Definition: Matlitho.h:54
Matlitho::ObjectEnum
int ObjectEnum()
Definition: Matlitho.cpp:177
Matlitho::IsDamage
bool IsDamage()
Definition: Matlitho.h:60
Matlitho::ViscosityHO
void ViscosityHO(IssmDouble *pviscosity, int dim, IssmDouble *xyz_list, Gauss *gauss, Input2 *vx_input, Input2 *vy_input)
Definition: Matlitho.h:69
Matlitho::lame_lambda
IssmDouble * lame_lambda
Definition: Matlitho.h:21
Matlitho::ViscosityBFS
void ViscosityBFS(IssmDouble *pmudB, int dim, IssmDouble *xyz_list, Gauss *gauss, Input2 *vx_input, Input2 *vy_input, Input2 *vz_input, IssmDouble epseff)
Definition: Matlitho.h:72
Matlitho::ViscosityFS
void ViscosityFS(IssmDouble *pviscosity, int dim, IssmDouble *xyz_list, Gauss *gauss, Input2 *vx_input, Input2 *vy_input, Input2 *vz_input)
Definition: Matlitho.h:68
Matlitho::ViscosityHODerivativeEpsSquare
void ViscosityHODerivativeEpsSquare(IssmDouble *pmu_prime, IssmDouble *epsilon, Gauss *gauss)
Definition: Matlitho.h:65
Matlitho::ViscosityBSSA
void ViscosityBSSA(IssmDouble *pmudB, int dim, IssmDouble *xyz_list, Gauss *gauss, Input2 *vx_input, Input2 *vy_input, IssmDouble epseff)
Definition: Matlitho.h:74
Input2
Definition: Input2.h:18
Matlitho::density
IssmDouble * density
Definition: Matlitho.h:25
Matlitho::isburgers
IssmDouble * isburgers
Definition: Matlitho.h:26
Matlitho::ViscositySSA
void ViscositySSA(IssmDouble *pviscosity, int dim, IssmDouble *xyz_list, Gauss *gauss, Input2 *vx_input, Input2 *vy_input)
Definition: Matlitho.h:71
Matlitho::GetN
IssmDouble GetN()
Definition: Matlitho.h:59
Matlitho::GetViscosityDComplement
void GetViscosityDComplement(IssmDouble *pviscosity_complement, IssmDouble *pepsilon, Gauss *gauss)
Definition: Matlitho.h:48
Matlitho::ViscosityFSDerivativeEpsSquare
void ViscosityFSDerivativeEpsSquare(IssmDouble *pmu_prime, IssmDouble *epsilon, Gauss *gauss)
Definition: Matlitho.h:64
_error_
#define _error_(StreamArgs)
Definition: exceptions.h:49
Matlitho::IsEnhanced
bool IsEnhanced()
Definition: Matlitho.h:61
Matlitho::GetD
IssmDouble GetD(Gauss *gauss)
Definition: Matlitho.h:57
Matlitho::GetViscosityComplement
void GetViscosityComplement(IssmDouble *pviscosity_complement, IssmDouble *pepsilon, Gauss *gauss)
Definition: Matlitho.h:47
Matlitho::Configure
void Configure(Elements *elements)
Definition: Matlitho.cpp:185
Matlitho::GetViscosityBar
void GetViscosityBar(IssmDouble *pviscosity, IssmDouble eps_eff, Gauss *gauss)
Definition: Matlitho.h:46
Matlitho
Definition: Matlitho.h:14
Matlitho::burgers_viscosity
IssmDouble * burgers_viscosity
Definition: Matlitho.h:23
Matlitho::radius
IssmDouble * radius
Definition: Matlitho.h:19
Matlitho::lame_mu
IssmDouble * lame_mu
Definition: Matlitho.h:22
Matlitho::GetViscosity_B
void GetViscosity_B(IssmDouble *pviscosity, IssmDouble eps_eff, Gauss *gauss)
Definition: Matlitho.h:50
IoModel
Definition: IoModel.h:48
Matlitho::~Matlitho
~Matlitho()
Definition: Matlitho.cpp:79
Matlitho::Id
int Id()
Definition: Matlitho.cpp:145
Matlitho::GetDbar
IssmDouble GetDbar(Gauss *gauss)
Definition: Matlitho.h:58
Matlitho::burgers_mu
IssmDouble * burgers_mu
Definition: Matlitho.h:24
Gauss
Definition: Gauss.h:8
Matlitho::mid
int mid
Definition: Matlitho.h:17
Material.h
abstract class for Material object
Matlitho::ResetHooks
void ResetHooks()
Definition: Matlitho.cpp:190