Gerris
Functions

advection.c File Reference

Advection scheme. More...

Functions

void gfs_cell_advected_face_values (FttCell *cell, const GfsAdvectionParams *par)
void gfs_cell_non_advected_face_values (FttCell *cell, const GfsAdvectionParams *par)
gdouble gfs_face_upwinded_value (const FttCellFace *face, GfsUpwinding upwinding, GfsVariable **u)
void gfs_face_advection_flux (const FttCellFace *face, const GfsAdvectionParams *par)
void gfs_face_velocity_advection_flux (const FttCellFace *face, const GfsAdvectionParams *par)
void gfs_face_velocity_convective_flux (const FttCellFace *face, const GfsAdvectionParams *par)
void gfs_face_advected_normal_velocity (const FttCellFace *face, const GfsAdvectionParams *par)
void gfs_face_interpolated_normal_velocity (const FttCellFace *face, GfsVariable **v)
void gfs_face_reset_normal_velocity (const FttCellFace *face)
gboolean gfs_cell_is_small (const FttCell *cell)
void gfs_set_merged (GfsDomain *domain)
void gfs_domain_traverse_merged (GfsDomain *domain, GfsMergedTraverseFunc func, gpointer data)
void gfs_advection_update (GSList *merged, const GfsAdvectionParams *par)

Detailed Description

Advection scheme.


Function Documentation

void gfs_advection_update ( GSList *  merged,
const GfsAdvectionParams *  par 
)
Parameters:
mergeda list of merged #FttCell.
parthe advection parameters.

Updates the v variable of par for the merged cells of merged using the fv update of each merged cell.

The v variable in each cell of the merged list is set to its average updated value over the composite cell defined by all the cells in merged.

Here is the call graph for this function:

void gfs_cell_advected_face_values ( FttCell *  cell,
const GfsAdvectionParams *  par 
)
Parameters:
cella #FttCell.
parthe advection parameters.

Fills the face variable (v field of #GfsFaceStateVector) of all the faces of cell with the advected value of variable par->v at time t + dt/2.

Here is the call graph for this function:

Here is the caller graph for this function:

gboolean gfs_cell_is_small ( const FttCell *  cell)
Parameters:
cella #FttCell.
Returns:
TRUE if cell is "small" (i.e. should be merged with a neighbhor).

Here is the caller graph for this function:

void gfs_cell_non_advected_face_values ( FttCell *  cell,
const GfsAdvectionParams *  par 
)
Parameters:
cella #FttCell.
parthe (non)advection parameters.

Fills the face variable (v field of #GfsFaceStateVector) of all the faces of cell with the non-advected value of variable par->v at time t + dt/2.

Here is the call graph for this function:

Here is the caller graph for this function:

void gfs_domain_traverse_merged ( GfsDomain *  domain,
GfsMergedTraverseFunc  func,
gpointer  data 
)
Parameters:
domainthe domain to traverse.
functhe function to call for each visited merged cells.
datauser data to pass to func.

Traverses the merged leaf cells of the domain defined by domain. A list of merged cells is passed to func. No cell belongs to more than one merged list.

Here is the call graph for this function:

Here is the caller graph for this function:

void gfs_face_advected_normal_velocity ( const FttCellFace *  face,
const GfsAdvectionParams *  par 
)
Parameters:
facea #FttCellFace.
parthe #GfsAdvectionParams.

Fills the normal component of the velocity at face with the value advected (to time t + dt/2) from the centered velocities.

This function assumes that the face variable has been previously defined for the correct component of the velocity using gfs_cell_advected_face_values().

Here is the call graph for this function:

Here is the caller graph for this function:

void gfs_face_advection_flux ( const FttCellFace *  face,
const GfsAdvectionParams *  par 
)
Parameters:
facea #FttCellFace.
parthe advection parameters.

Adds to variable par->fv, the value of the (conservative) advection flux of the face variable through face.

This function assumes that the face variable has been previously defined using gfs_cell_advected_face_values().

Here is the call graph for this function:

void gfs_face_interpolated_normal_velocity ( const FttCellFace *  face,
GfsVariable **  v 
)
Parameters:
facea #FttCellFace.
vthe velocity.

Fills the normal component of the velocity at face with the value interpolated from the centered velocities.

Here is the call graph for this function:

Here is the caller graph for this function:

void gfs_face_reset_normal_velocity ( const FttCellFace *  face)
Parameters:
facea #FttCellFace.

Set velocity normal to face to zero.

Here is the caller graph for this function:

gdouble gfs_face_upwinded_value ( const FttCellFace *  face,
GfsUpwinding  upwinding,
GfsVariable **  u 
)
Parameters:
facea #FttCellFace.
upwindingtype of upwinding.
uthe cell-centered velocity.

This function assumes that the face variable has been previously defined using gfs_cell_advected_face_values().

Returns:
the upwinded value of the face variable.

Here is the call graph for this function:

Here is the caller graph for this function:

void gfs_face_velocity_advection_flux ( const FttCellFace *  face,
const GfsAdvectionParams *  par 
)
Parameters:
facea #FttCellFace.
parthe advection parameters.

Adds to variable par->fv, the value of the (conservative) advection flux through face of variable par->v (a component of the velocity).

This function assumes that the g field of the cells sharing face are filled with the pressure gradient at time t + dt/2.

This function also assumes that the face value of par->v has been previously defined using gfs_cell_advected_face_values().

Here is the call graph for this function:

void gfs_face_velocity_convective_flux ( const FttCellFace *  face,
const GfsAdvectionParams *  par 
)
Parameters:
facea #FttCellFace.
parthe advection parameters.

Adds to variable par->fv, the value of the (non-conservative) convective flux through face of variable par->v (a component of the velocity).

This function assumes that the g field of the cells sharing face are filled with the pressure gradient at time t + dt/2.

This function also assumes that the face value of par->v has been previously defined using gfs_cell_advected_face_values().

Here is the call graph for this function:

void gfs_set_merged ( GfsDomain *  domain)
Parameters:
domainthe domain to traverse.

Sets the merged field of the mixed cells of the domain defined by domain.

Here is the call graph for this function:

Here is the caller graph for this function:

 All Data Structures Files Functions Variables