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
Function Documentation
void gfs_advection_update |
( |
GSList * |
merged, |
|
|
const GfsAdvectionParams * |
par |
|
) |
| |
- Parameters:
-
merged | a list of merged #FttCell. |
par | the 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.
void gfs_cell_advected_face_values |
( |
FttCell * |
cell, |
|
|
const GfsAdvectionParams * |
par |
|
) |
| |
- Parameters:
-
cell | a #FttCell. |
par | the 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.
gboolean gfs_cell_is_small |
( |
const FttCell * |
cell | ) |
|
- Parameters:
-
- Returns:
- TRUE if cell is "small" (i.e. should be merged with a neighbhor).
void gfs_cell_non_advected_face_values |
( |
FttCell * |
cell, |
|
|
const GfsAdvectionParams * |
par |
|
) |
| |
- Parameters:
-
cell | a #FttCell. |
par | the (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.
void gfs_domain_traverse_merged |
( |
GfsDomain * |
domain, |
|
|
GfsMergedTraverseFunc |
func, |
|
|
gpointer |
data |
|
) |
| |
- Parameters:
-
domain | the domain to traverse. |
func | the function to call for each visited merged cells. |
data | user 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.
void gfs_face_advected_normal_velocity |
( |
const FttCellFace * |
face, |
|
|
const GfsAdvectionParams * |
par |
|
) |
| |
- Parameters:
-
face | a #FttCellFace. |
par | the #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().
void gfs_face_advection_flux |
( |
const FttCellFace * |
face, |
|
|
const GfsAdvectionParams * |
par |
|
) |
| |
- Parameters:
-
face | a #FttCellFace. |
par | the 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().
void gfs_face_interpolated_normal_velocity |
( |
const FttCellFace * |
face, |
|
|
GfsVariable ** |
v |
|
) |
| |
- Parameters:
-
face | a #FttCellFace. |
v | the velocity. |
Fills the normal component of the velocity at face with the value interpolated from the centered velocities.
void gfs_face_reset_normal_velocity |
( |
const FttCellFace * |
face | ) |
|
- Parameters:
-
Set velocity normal to face to zero.
gdouble gfs_face_upwinded_value |
( |
const FttCellFace * |
face, |
|
|
GfsUpwinding |
upwinding, |
|
|
GfsVariable ** |
u |
|
) |
| |
- Parameters:
-
face | a #FttCellFace. |
upwinding | type of upwinding. |
u | the 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.
void gfs_face_velocity_advection_flux |
( |
const FttCellFace * |
face, |
|
|
const GfsAdvectionParams * |
par |
|
) |
| |
- Parameters:
-
face | a #FttCellFace. |
par | the 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().
void gfs_face_velocity_convective_flux |
( |
const FttCellFace * |
face, |
|
|
const GfsAdvectionParams * |
par |
|
) |
| |
- Parameters:
-
face | a #FttCellFace. |
par | the 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().
void gfs_set_merged |
( |
GfsDomain * |
domain | ) |
|
- Parameters:
-
domain | the domain to traverse. |
Sets the merged field of the mixed cells of the domain defined by domain.