Volume of Fluid advection

Name

Volume of Fluid advection -- 

Synopsis


#include <gfs.h>


gdouble     gfs_plane_alpha                 (FttVector *m,
                                             gdouble c);
gdouble     gfs_plane_volume                (FttVector *m,
                                             gdouble alpha,
                                             gdouble c1);
gdouble     gfs_line_alpha                  (FttVector *m,
                                             gdouble c);
gdouble     gfs_line_area                   (FttVector *m,
                                             gdouble alpha,
                                             gdouble c1);
void        gfs_line_center                 (FttVector *m,
                                             gdouble alpha,
                                             gdouble a,
                                             FttVector *p);
void        gfs_cell_vof_advection          (FttCell *cell,
                                             FttComponent c,
                                             GfsAdvectionParams *par);
void        gfs_tracer_vof_advection        (GfsDomain *domain,
                                             GfsAdvectionParams *par,
                                             GfsVariable *half);

Description

Details

gfs_plane_alpha ()

gdouble     gfs_plane_alpha                 (FttVector *m,
                                             gdouble c);

m :

a FttVector.

c :

a volume fraction.

Returns :

the value alpha such that the volume of a cubic cell lying under the plane defined by m.x = alpha is equal to c.


gfs_plane_volume ()

gdouble     gfs_plane_volume                (FttVector *m,
                                             gdouble alpha,
                                             gdouble c1);

m :

normal to the plane.

alpha :

plane constant.

c1 :

width of the cell.

Returns :

the volume of a parallelepipedic cell (c1,1,1) lying under the plane (m,alpha).


gfs_line_alpha ()

gdouble     gfs_line_alpha                  (FttVector *m,
                                             gdouble c);

m :

a FttVector.

c :

a volume fraction.

Returns :

the value alpha such that the area of a square cell lying under the line defined by m.x = alpha is equal to c.


gfs_line_area ()

gdouble     gfs_line_area                   (FttVector *m,
                                             gdouble alpha,
                                             gdouble c1);

m :

normal to the line.

alpha :

line constant.

c1 :

width of the cell.

Returns :

the area of the fraction of a rectangular cell (c1,1) lying under the line (m,alpha).


gfs_line_center ()

void        gfs_line_center                 (FttVector *m,
                                             gdouble alpha,
                                             gdouble a,
                                             FttVector *p);

Fills p with the position of the center of mass of the fraction of a square cell lying under the line (m,alpha).

m :

normal to the line.

alpha :

line constant.

a :

area of cell fraction.

p :

a FttVector.


gfs_cell_vof_advection ()

void        gfs_cell_vof_advection          (FttCell *cell,
                                             FttComponent c,
                                             GfsAdvectionParams *par);

cell :

c :

par :


gfs_tracer_vof_advection ()

void        gfs_tracer_vof_advection        (GfsDomain *domain,
                                             GfsAdvectionParams *par,
                                             GfsVariable *half);

Advects the v field of par using the current face-centered (MAC) velocity field.

If half is not NULL, the half-timestep value of par->v is stored in the corresponding variable.

domain :

a GfsDomain.

par :

the advection parameters.

half :

a GfsVariable or NULL.