# Values, macros and structures in Gerris

### From Gerris

Revision as of 12:48, 15 May 2012Blagree (Talk | contribs) (→Gerris structures) ← Previous diff |
Revision as of 13:50, 15 May 2012Blagree (Talk | contribs) Next diff → |
||

Line 61: |
Line 61: | ||

} | } | ||

</source> | </source> | ||

+ | |||

+ | 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 === | ||

+ | |||

+ | <source lang="c"> | ||

+ | struct { | ||

+ | /*<public>*/ | ||

+ | guint flags; | ||

+ | gpointer data; | ||

+ | |||

+ | /*<private>*/ | ||

+ | struct _FttOct * parent, * children; | ||

+ | } | ||

+ | </source> | ||

+ | |||

+ | children and parent are the two [[The Fully Threaded Tree|_FttOct]] associated with the FttCell. | ||

+ | |||

+ | === FttCellChildren === | ||

+ | |||

+ | <source lang="c"> | ||

+ | struct { | ||

+ | FttCell * c[FTT_CELLS]; | ||

+ | }; | ||

+ | </source> | ||

+ | |||

+ | The children of the considered [[#FttCell|FttCell]] are stored in c (4 in 2D and 8 in 3D). |

## Revision as of 13:50, 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 _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).