Ice Sheet System Model  4.18
Code documentation
AmrBamg.h
Go to the documentation of this file.
1 #ifndef AMRBAMG
2 #define AMRBAMG
3 
4 /*Includes*/
5 #include "../shared/shared.h"
6 #include "../toolkits/toolkits.h"
7 
8 #include "../bamg/BamgMesh.h"
9 #include "../bamg/BamgGeom.h"
10 #include "../bamg/BamgOpts.h"
11 
12 class AmrBamg{
13 
14  public:
15  int fieldenum;
29 
30 
31  /* Constructor, destructor etc*/
32  AmrBamg();
33 
34  ~AmrBamg();
35 
36  /*General methods*/
37  void Initialize();
38  void SetMesh(int** elementslist_in,IssmDouble** x_in,IssmDouble** y_in,int* numberofvertices,int* numberofelements);
39  void GetMesh(int** elementslist_out,IssmDouble** x_out,IssmDouble** y_out,int* numberofvertices,int* numberofelements);
40  void ExecuteRefinementBamg(IssmDouble* field,IssmDouble* hmaxVertices,int** pdatalist,IssmDouble** pxylist,int** pelementslist);
41  void SetBamgOpts(IssmDouble hmin_in,IssmDouble hmax_in,IssmDouble err_in,IssmDouble gradation_in);
42 
43  /*Access Method*/
44  BamgOpts* GetBamgOpts(){return this->options;}
45 
46  private:
51  /*entire mesh*/
57 };
58 
59 #endif
AmrBamg::~AmrBamg
~AmrBamg()
Definition: AmrBamg.cpp:74
IssmDouble
double IssmDouble
Definition: types.h:37
AmrBamg::y
IssmDouble * y
Definition: AmrBamg.h:53
AmrBamg::deviatoricerror_threshold
IssmDouble deviatoricerror_threshold
Definition: AmrBamg.h:26
AmrBamg::SetMesh
void SetMesh(int **elementslist_in, IssmDouble **x_in, IssmDouble **y_in, int *numberofvertices, int *numberofelements)
Definition: AmrBamg.cpp:87
AmrBamg::deviatoricerror_groupthreshold
IssmDouble deviatoricerror_groupthreshold
Definition: AmrBamg.h:27
AmrBamg::GetMesh
void GetMesh(int **elementslist_out, IssmDouble **x_out, IssmDouble **y_out, int *numberofvertices, int *numberofelements)
Definition: AmrBamg.cpp:100
AmrBamg::groundingline_resolution
IssmDouble groundingline_resolution
Definition: AmrBamg.h:17
AmrBamg::x
IssmDouble * x
Definition: AmrBamg.h:52
AmrBamg::deviatoricerror_resolution
IssmDouble deviatoricerror_resolution
Definition: AmrBamg.h:25
AmrBamg::icefront_resolution
IssmDouble icefront_resolution
Definition: AmrBamg.h:19
AmrBamg::deviatoricerror_maximum
IssmDouble deviatoricerror_maximum
Definition: AmrBamg.h:28
AmrBamg::options
BamgOpts * options
Definition: AmrBamg.h:50
BamgMesh
Definition: BamgMesh.h:7
AmrBamg::previousmesh
BamgMesh * previousmesh
Definition: AmrBamg.h:49
AmrBamg::fieldenum
int fieldenum
Definition: AmrBamg.h:15
AmrBamg::thicknesserror_maximum
IssmDouble thicknesserror_maximum
Definition: AmrBamg.h:24
AmrBamg::fathermesh
BamgMesh * fathermesh
Definition: AmrBamg.h:48
AmrBamg::icefront_distance
IssmDouble icefront_distance
Definition: AmrBamg.h:20
AmrBamg::Initialize
void Initialize()
Definition: AmrBamg.cpp:109
AmrBamg::GetBamgOpts
BamgOpts * GetBamgOpts()
Definition: AmrBamg.h:44
AmrBamg::thicknesserror_resolution
IssmDouble thicknesserror_resolution
Definition: AmrBamg.h:21
AmrBamg::keepmetric
int keepmetric
Definition: AmrBamg.h:16
BamgOpts
Definition: BamgOpts.h:8
AmrBamg::SetBamgOpts
void SetBamgOpts(IssmDouble hmin_in, IssmDouble hmax_in, IssmDouble err_in, IssmDouble gradation_in)
Definition: AmrBamg.cpp:209
AmrBamg::numberofvertices
int numberofvertices
Definition: AmrBamg.h:55
BamgGeom
Definition: BamgGeom.h:7
AmrBamg::geometry
BamgGeom * geometry
Definition: AmrBamg.h:47
AmrBamg::thicknesserror_threshold
IssmDouble thicknesserror_threshold
Definition: AmrBamg.h:22
AmrBamg::elementslist
int * elementslist
Definition: AmrBamg.h:54
AmrBamg::thicknesserror_groupthreshold
IssmDouble thicknesserror_groupthreshold
Definition: AmrBamg.h:23
AmrBamg::ExecuteRefinementBamg
void ExecuteRefinementBamg(IssmDouble *field, IssmDouble *hmaxVertices, int **pdatalist, IssmDouble **pxylist, int **pelementslist)
Definition: AmrBamg.cpp:129
AmrBamg
Definition: AmrBamg.h:12
AmrBamg::AmrBamg
AmrBamg()
Definition: AmrBamg.cpp:19
AmrBamg::groundingline_distance
IssmDouble groundingline_distance
Definition: AmrBamg.h:18
AmrBamg::numberofelements
int numberofelements
Definition: AmrBamg.h:56