Values, macros and structures in Gerris

From Gerris

Revision as of 14:09, 15 May 2012; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

Contents

Values defined in Gerris

N_CELLS = FTT_CELLS = <math>2^{dimension}</math>

FTT_NEIGHBORS_2D = (FTT_BOTTOM) + 1

GFS_STATUS_UNDEFINED = 0

GFS_STATUS_SOLID = 1

GFS_STATUS_FLUID = 2

Gerris Macros


Gerris structures

CellCube

typedef struct {
GtsPoint p[8];
GfsSegment s[12];
}

The vertices of the cube are stored in the GtsPoint array and the edges in the GfsSegment array.

CellFace

typedef struct {
GtsPoint p[4];
GfsSegment s[4];
}

The vertices of the face are stored in the GtsPoint array and the edges in the GfsSegment array.

CompatPar

typedef struct {
GfsVariable * lhs;
gboolean dirichlet;
}

The homogeneous version of the considered GfsVariable is stored in lhs.

DiffusionCoeff

typedef struct {
GfsSourceDiffusion * d;
gdouble lambda2[FTT_DIMENSION];
gdouble dt;
GfsVariable * rhoc, * metric;
GfsFunction * alpha;
GfsDomain * domain;
}

d is a GfsSourceDiffusion, dt is the timestep, the GfsVariable rhoc is the mass, metric is the implicit metric term, the GfsFunction alpha is the inverse of the density and domain is the considered GfsDomain.

FttCell

struct {
/*<public>*/
guint flags;
gpointer data;
 
/*<private>*/
struct _FttOct * parent, * children;
}

children and parent are the two FttOct associated with the FttCell.

FttCellChildren

struct {
FttCell * c[FTT_CELLS];
};

The children of the considered FttCell are stored in c (4 in 2D and 8 in 3D).

FttCellFace

See FttDirection.

FttCellFlags

typedef enum {
FTT_FLAG_ID = 7,
FTT_FLAG_DESTROYED = 1 << 3,
FTT_FLAG_LEAF = 1 << 4, /* used only for I/O operations */
FTT_FLAG_TRAVERSED = FTT_FLAG_LEAF, /* used for face traversal */
FTT_FLAG_USER = 5 /* user flags start here */
}
Personal tools
communication