Values, macros and structures in Gerris

From Gerris

(Difference between revisions)
Jump to: navigation, search
Revision as of 14:09, 15 May 2012
Blagree (Talk | contribs)

← Previous diff
Revision as of 14:14, 15 May 2012
Blagree (Talk | contribs)

Next diff →
Line 77: Line 77:
</source> </source>
-children and parent are the two [[The Fully Threaded Tree/Basic Concepts|FttOct]] associated with the FttCell.+children and parent are the two [[The Fully Threaded Tree/Basic concepts|FttOct]]s associated with the FttCell.
=== FttCellChildren === === FttCellChildren ===
Line 91: Line 91:
=== FttCellFace === === FttCellFace ===
-See [[The Fully Threaded Tree/Basic Concepts/FttDirection|FttDirection]].+See [[The Fully Threaded Tree/Basic concepts/FttDirection|FttDirection]].
=== FttCellFlags === === FttCellFlags ===
Line 104: Line 104:
} }
</source> </source>
 +
 +=== FttCellNeighbors ===
 +
 +<source lang="c">
 +struct {
 + /* right, left, top, bottom, front, back */
 + FttCell * c[FTT_NEIGHBORS];
 +}
 +</source>
 +
 +c is the array containing the neighbors of a considered [[#FttCell|FttCell]].

Revision as of 14:14, 15 May 2012

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 FttOcts 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 */
}

FttCellNeighbors

struct {
/* right, left, top, bottom, front, back */
FttCell * c[FTT_NEIGHBORS];
}

c is the array containing the neighbors of a considered FttCell.

Personal tools
communication