Ice Sheet System Model
4.18
Code documentation
src
c
classes
Vertex.h
Go to the documentation of this file.
1
5
#ifndef _VERTEX_H_
6
#define _VERTEX_H_
7
8
/*Headers:*/
9
/*{{{*/
10
#include "
./classes.h
"
11
#include "../shared/Exceptions/exceptions.h"
12
#include "../toolkits/toolkits.h"
13
template
<
class
double
type>
class
Vector
;
14
template
<
class
double
type>
class
Matrix
;
15
class
Parameters
;
16
class
IoModel
;
17
/*}}}*/
18
19
class
Vertex
:
public
Object
{
20
21
public
:
22
bool
clone
;
23
int
domaintype
;
24
int
id
;
// random index
25
int
sid
;
// "serial" id (rank of this vertex if the dataset was on 1 cpu)
26
int
pid
;
// "parallel" id
27
int
lid
;
// "local" id
28
IssmDouble
x
;
29
IssmDouble
y
;
30
IssmDouble
z
;
31
IssmDouble
latitute
;
32
IssmDouble
longitude
;
33
IssmDouble
R
;
34
IssmDouble
sigma
;
//sigma coordinate: (z-bed)/thickness
35
int
connectivity
;
//number of vertices connected to this vertex
36
37
/*Vertex constructors, destructors {{{*/
38
Vertex
();
39
Vertex
(
int
id
,
int
sid
,
bool
clone
,
IoModel
* iomodel,
bool
isamr);
40
~Vertex
();
41
/*}}}*/
42
/*Object virtual functions definitions:{{{ */
43
void
Echo
();
44
void
DeepEcho
();
45
int
Id
();
46
int
ObjectEnum
();
47
Object
*
copy
();
48
void
Marshall
(
char
** pmarshalled_data,
int
* pmarshalled_data_size,
int
marshall_direction);
49
50
/*}}}*/
51
/*Vertex management:*/
52
int
Connectivity
(
void
);
53
IssmDouble
GetLatitude
(
void
);
54
IssmDouble
GetLongitude
(
void
);
55
IssmDouble
GetRadius
(
void
);
56
IssmDouble
GetX
(
void
);
57
IssmDouble
GetY
(
void
);
58
IssmDouble
GetZ
(
void
);
59
int
Pid
(
void
);
60
int
Lid
(
void
);
61
int
Sid
(
void
);
62
void
UpdatePosition
(
Vector<IssmDouble>
* vx,
Vector<IssmDouble>
* vy,
Vector<IssmDouble>
* vz,
Parameters
* parameters,
IssmDouble
* thickness,
IssmDouble
* bed);
63
void
VertexCoordinates
(
Vector<IssmDouble>
* vx,
Vector<IssmDouble>
* vy,
Vector<IssmDouble>
* vz,
bool
spherical=
false
);
64
};
65
66
/*Methods relating to Vertex object: */
67
void
GetVerticesCoordinates
(
IssmDouble
*
xyz
,
Vertex
** vertices,
int
numvertices,
bool
spherical=
false
);
68
69
#endif
/* _VERTEX_H */
Matrix
Definition:
Matrix.h:27
Vertex::z
IssmDouble z
Definition:
Vertex.h:30
Vertex::GetLongitude
IssmDouble GetLongitude(void)
Definition:
Vertex.cpp:144
IssmDouble
double IssmDouble
Definition:
types.h:37
Vertex::GetRadius
IssmDouble GetRadius(void)
Definition:
Vertex.cpp:148
Vertex::Pid
int Pid(void)
Definition:
Vertex.cpp:164
Parameters
Declaration of Parameters class.
Definition:
Parameters.h:18
Vertex::domaintype
int domaintype
Definition:
Vertex.h:23
Vertex::clone
bool clone
Definition:
Vertex.h:22
gov_nasa_jpl_issm::xyz
double * xyz
Definition:
Main.cpp:16
Vertex::Vertex
Vertex()
Definition:
Vertex.cpp:18
GetVerticesCoordinates
void GetVerticesCoordinates(IssmDouble *xyz, Vertex **vertices, int numvertices, bool spherical=false)
Definition:
Vertex.cpp:225
Vertex::x
IssmDouble x
Definition:
Vertex.h:28
Vertex::Lid
int Lid(void)
Definition:
Vertex.cpp:166
Vertex::longitude
IssmDouble longitude
Definition:
Vertex.h:32
Vertex::id
int id
Definition:
Vertex.h:24
Vertex::Marshall
void Marshall(char **pmarshalled_data, int *pmarshalled_data_size, int marshall_direction)
Definition:
Vertex.cpp:116
Vertex::UpdatePosition
void UpdatePosition(Vector< IssmDouble > *vx, Vector< IssmDouble > *vy, Vector< IssmDouble > *vz, Parameters *parameters, IssmDouble *thickness, IssmDouble *bed)
Definition:
Vertex.cpp:170
Vertex::GetY
IssmDouble GetY(void)
Definition:
Vertex.cpp:156
Vertex::pid
int pid
Definition:
Vertex.h:26
Vertex::latitute
IssmDouble latitute
Definition:
Vertex.h:31
Object
Definition:
Object.h:13
Vertex::GetX
IssmDouble GetX(void)
Definition:
Vertex.cpp:152
Vertex::Connectivity
int Connectivity(void)
Definition:
Vertex.cpp:138
Vertex::copy
Object * copy()
Definition:
Vertex.cpp:87
Vertex::ObjectEnum
int ObjectEnum()
Definition:
Vertex.cpp:133
Vertex::GetLatitude
IssmDouble GetLatitude(void)
Definition:
Vertex.cpp:140
Vertex::VertexCoordinates
void VertexCoordinates(Vector< IssmDouble > *vx, Vector< IssmDouble > *vy, Vector< IssmDouble > *vz, bool spherical=false)
Definition:
Vertex.cpp:205
Vertex::DeepEcho
void DeepEcho()
Definition:
Vertex.cpp:93
Vertex::lid
int lid
Definition:
Vertex.h:27
Vertex::R
IssmDouble R
Definition:
Vertex.h:33
Vertex::Echo
void Echo()
Definition:
Vertex.cpp:97
Vertex::y
IssmDouble y
Definition:
Vertex.h:29
Vertex::GetZ
IssmDouble GetZ(void)
Definition:
Vertex.cpp:160
Vertex
Definition:
Vertex.h:19
IoModel
Definition:
IoModel.h:48
Vertex::~Vertex
~Vertex()
Definition:
Vertex.cpp:81
Vertex::connectivity
int connectivity
Definition:
Vertex.h:35
Vector
Definition:
Vector.h:25
Vertex::sigma
IssmDouble sigma
Definition:
Vertex.h:34
Vertex::Id
int Id()
Definition:
Vertex.cpp:114
classes.h
Vertex::sid
int sid
Definition:
Vertex.h:25
Vertex::Sid
int Sid(void)
Definition:
Vertex.cpp:168
Generated on Thu Jul 2 2020 08:09:18 for Ice Sheet System Model by
1.8.19