Generic boundary

Name

Generic boundary -- 

Synopsis


#include <gfs.h>

#define             GFS_BOUNDARY_CLASS                  (klass)
#define             GFS_BOUNDARY                        (obj)
#define             GFS_IS_BOUNDARY                     (obj)

                    GfsBoundaryClass;
                    GfsBoundary;
enum                GfsBoundaryVariableType;

GfsBoundary*        gfs_boundary_new                    (GfsBoundaryClass *klass,
                                                         GfsBox *box,
                                                         FttDirection d);
GfsBoundaryClass*   gfs_boundary_class                  (void);
void                gfs_boundary_send                   (GfsBoundary *boundary);
void                gfs_boundary_receive                (GfsBoundary *boundary,
                                                         FttTraverseFlags flags,
                                                         gint max_depth);
void                gfs_boundary_synchronize            (GfsBoundary *boundary);
void                gfs_boundary_add_bc                 (GfsBoundary *b,
                                                         GfsBc *bc);
GfsBc*              gfs_boundary_lookup_bc              (GfsBoundary *b,
                                                         GfsVariable *v);
void                gfs_boundary_set_default_bc         (GfsBoundary *b,
                                                         GfsBc *bc);

Description

Details

GFS_BOUNDARY_CLASS()

#define             GFS_BOUNDARY_CLASS(klass)

klass :


GFS_BOUNDARY()

#define             GFS_BOUNDARY(obj)

obj :


GFS_IS_BOUNDARY()

#define             GFS_IS_BOUNDARY(obj)

obj :


GfsBoundaryClass

typedef struct {
  GtsObjectClass parent_class;

  void (* match)             (GfsBoundary * boundary);
  void (* send)              (GfsBoundary * boundary);
  void (* receive)           (GfsBoundary * boundary,
			      FttTraverseFlags flags,
			      gint max_depth);
  void (* synchronize)       (GfsBoundary * boundary);
} GfsBoundaryClass;


GfsBoundary

typedef struct {
  GfsVariable * v;
  GfsBoundaryVariableType type;
  GHashTable * bc;
} GfsBoundary;


enum GfsBoundaryVariableType

typedef enum {
  GFS_BOUNDARY_CENTER_VARIABLE,
  GFS_BOUNDARY_FACE_VARIABLE,
  GFS_BOUNDARY_MATCH_VARIABLE,
  GFS_BOUNDARY_VARIABLE_NUMBER
} GfsBoundaryVariableType;


gfs_boundary_new ()

GfsBoundary*        gfs_boundary_new                    (GfsBoundaryClass *klass,
                                                         GfsBox *box,
                                                         FttDirection d);

Creates a new boundary of type klass for box in direction d.

This function fails if box has already a boundary in direction d.

klass :

a GfsBoundaryClass.

box :

a GfsBox.

d :

a direction.

Returns :

a new GfsBoundary.


gfs_boundary_class ()

GfsBoundaryClass*   gfs_boundary_class                  (void);

Returns :


gfs_boundary_send ()

void                gfs_boundary_send                   (GfsBoundary *boundary);

Calls the @send() method of boundary.

boundary :

a GfsBoundary.


gfs_boundary_receive ()

void                gfs_boundary_receive                (GfsBoundary *boundary,
                                                         FttTraverseFlags flags,
                                                         gint max_depth);

Calls the @receive() method of boundary.

boundary :

a GfsBoundary.

flags :

the traversal flags.

max_depth :

the maximum depth of the traversal.


gfs_boundary_synchronize ()

void                gfs_boundary_synchronize            (GfsBoundary *boundary);

Calls the @synchronize() method of boundary.

boundary :

a GfsBoundary.


gfs_boundary_add_bc ()

void                gfs_boundary_add_bc                 (GfsBoundary *b,
                                                         GfsBc *bc);

Adds boundary condition bc to b.

b :

a GfsBoundary.

bc :

a GfsBc.


gfs_boundary_lookup_bc ()

GfsBc*              gfs_boundary_lookup_bc              (GfsBoundary *b,
                                                         GfsVariable *v);

b :

v :

Returns :


gfs_boundary_set_default_bc ()

void                gfs_boundary_set_default_bc         (GfsBoundary *b,
                                                         GfsBc *bc);

Sets the default boundary condition for b to bc.

b :

a GfsBoundary.

bc :

a GfsBc.