[SCM] Gerris Flow Solver branch, upstream, updated. b3aa46814a06c9cb2912790b23916ffb44f1f203
Stephane Popinet
popinet at users.sourceforge.net
Fri May 15 02:51:20 UTC 2009
The following commit has been merged in the upstream branch:
commit 3994d70771633d7cb23b31631d5169702e750725
Author: Stephane Popinet <popinet at users.sourceforge.net>
Date: Tue Nov 2 13:07:33 2004 +1100
New GfsRefineSurface class (gerris--mainline--0.7--patch-21)
gerris--mainline--0.7--patch-21
Keywords:
The GfsRefineSolid and GfsRefineDistance classes have also been
reworked.
darcs-hash:20041102020733-aabb8-4c213d747a4aa37f721f05a3e49f421ad640474c.gz
diff --git a/doc/gfs-docs.sgml b/doc/gfs-docs.sgml
index 50ccc0a..348d3aa 100644
--- a/doc/gfs-docs.sgml
+++ b/doc/gfs-docs.sgml
@@ -51,6 +51,7 @@
<!entity gfs-output-ppm SYSTEM "sgml/output_ppm.sgml">
<!entity gfs-refine SYSTEM "sgml/refine.sgml">
<!entity gfs-refine-solid SYSTEM "sgml/refine_solid.sgml">
+<!entity gfs-refine-surface SYSTEM "sgml/refine_surface.sgml">
<!entity gfs-refine-distance SYSTEM "sgml/refine_distance.sgml">
<!entity gfs-simulation SYSTEM "sgml/simulation.sgml">
<!entity gfs-source-generic SYSTEM "sgml/source_generic.sgml">
@@ -116,6 +117,7 @@
<title>Refinements</title>
&gfs-refine;
&gfs-refine-solid;
+ &gfs-refine-surface;
&gfs-refine-distance;
</sect1>
<sect1>
diff --git a/doc/gfs-sections.txt b/doc/gfs-sections.txt
index 1d7173b..9a66a82 100644
--- a/doc/gfs-sections.txt
+++ b/doc/gfs-sections.txt
@@ -762,24 +762,30 @@ gfs_refine_class
<SECTION>
<FILE>refine_solid</FILE>
<TITLE>Solid refinement</TITLE>
-GFS_REFINE_SOLID_CLASS
-GFS_REFINE_SOLID
GFS_IS_REFINE_SOLID
<SUBSECTION>
-GfsRefineSolidClass
GfsRefineSolid
<SUBSECTION>
gfs_refine_solid_class
</SECTION>
<SECTION>
+<FILE>refine_surface</FILE>
+<TITLE>Surface refinement</TITLE>
+GFS_REFINE_SURFACE
+GFS_IS_REFINE_SURFACE
+<SUBSECTION>
+GfsRefineSurface
+<SUBSECTION>
+gfs_refine_surface_class
+</SECTION>
+
+<SECTION>
<FILE>refine_distance</FILE>
-<TITLE>Solid distance refinement</TITLE>
-GFS_REFINE_DISTANCE_CLASS
+<TITLE>Surface distance refinement</TITLE>
GFS_REFINE_DISTANCE
GFS_IS_REFINE_DISTANCE
<SUBSECTION>
-GfsRefineDistanceClass
GfsRefineDistance
<SUBSECTION>
gfs_refine_distance_class
diff --git a/doc/tmpl/domain-advection-vof.sgml b/doc/tmpl/domain-advection-vof.sgml
index 6976c43..cef7b1b 100644
--- a/doc/tmpl/domain-advection-vof.sgml
+++ b/doc/tmpl/domain-advection-vof.sgml
@@ -63,8 +63,10 @@ Volume of Fluid advection
@m:
@alpha:
- at c:
+ at a:
@p:
+<!-- # Unused Parameters # -->
+ at c:
<!-- ##### FUNCTION gfs_cell_vof_advection ##### -->
diff --git a/doc/tmpl/domain.sgml b/doc/tmpl/domain.sgml
index 4f12419..01687ad 100644
--- a/doc/tmpl/domain.sgml
+++ b/doc/tmpl/domain.sgml
@@ -308,6 +308,16 @@ Fluid domain
@vf:
+<!-- ##### FUNCTION gfs_domain_init_fraction ##### -->
+<para>
+
+</para>
+
+ at domain:
+ at s:
+ at c:
+
+
<!-- ##### FUNCTION gfs_domain_read ##### -->
<para>
diff --git a/doc/tmpl/fluid.sgml b/doc/tmpl/fluid.sgml
index 7d3b3dd..3111fa9 100644
--- a/doc/tmpl/fluid.sgml
+++ b/doc/tmpl/fluid.sgml
@@ -138,12 +138,10 @@ The fluid variables associated with a fluid cell.
@i:
@name:
@centered:
- at temporary:
@derived:
@fine_coarse:
@sources:
@surface_bc:
- at next:
@p:
<!-- ##### ENUM GfsPermanentVariable ##### -->
@@ -393,18 +391,6 @@ The fluid variables associated with a fluid cell.
@variables:
-<!-- ##### FUNCTION gfs_cell_init_fraction ##### -->
-<para>
-
-</para>
-
- at root:
- at s:
- at stree:
- at is_open:
- at c:
-
-
<!-- ##### FUNCTION gfs_velocity_norm ##### -->
<para>
diff --git a/doc/tmpl/gfs-unused.sgml b/doc/tmpl/gfs-unused.sgml
index 33ae102..e7d469e 100644
--- a/doc/tmpl/gfs-unused.sgml
+++ b/doc/tmpl/gfs-unused.sgml
@@ -252,6 +252,27 @@ Evaluates to the index of the neighboring direction opposite to @i.
@obj:
+<!-- ##### MACRO GFS_REFINE_DISTANCE_CLASS ##### -->
+<para>
+
+</para>
+
+ at klass:
+
+<!-- ##### MACRO GFS_REFINE_SOLID ##### -->
+<para>
+
+</para>
+
+ at obj:
+
+<!-- ##### MACRO GFS_REFINE_SOLID_CLASS ##### -->
+<para>
+
+</para>
+
+ at klass:
+
<!-- ##### MACRO GFS_SOURCE_CLASS ##### -->
<para>
@@ -322,6 +343,27 @@ Evaluates to the index of the neighboring direction opposite to @i.
@residual_before:
@residual:
+<!-- ##### STRUCT GfsRefineDistanceClass ##### -->
+<para>
+
+</para>
+
+ at parent_class:
+
+<!-- ##### STRUCT GfsRefineSolid ##### -->
+<para>
+
+</para>
+
+ at parent:
+
+<!-- ##### STRUCT GfsRefineSolidClass ##### -->
+<para>
+
+</para>
+
+ at parent_class:
+
<!-- ##### STRUCT GfsSourceClass ##### -->
<para>
@@ -363,6 +405,31 @@ Evaluates to the index of the neighboring direction opposite to @i.
@Returns:
+<!-- ##### FUNCTION gfs_cell_init_fraction ##### -->
+<para>
+
+</para>
+
+ at root:
+ at s:
+ at stree:
+ at is_open:
+ at c:
+
+<!-- ##### FUNCTION gfs_cell_init_solid_fractions ##### -->
+<para>
+
+</para>
+
+ at root:
+ at s:
+ at stree:
+ at is_open:
+ at destroy_solid:
+ at cleanup:
+ at data:
+ at Param2:
+
<!-- ##### FUNCTION gfs_centered_velocity_advection ##### -->
<para>
diff --git a/doc/tmpl/refine_distance.sgml b/doc/tmpl/refine_distance.sgml
index 36f0922..bdd7eca 100644
--- a/doc/tmpl/refine_distance.sgml
+++ b/doc/tmpl/refine_distance.sgml
@@ -1,5 +1,5 @@
<!-- ##### SECTION Title ##### -->
-Solid distance refinement
+Surface distance refinement
<!-- ##### SECTION Short_Description ##### -->
Refining cells as a function of the distance to a surface
@@ -12,7 +12,7 @@ For each candidate cell, GfsRefineDistance computes the distance from the cell c
The syntax in parameter files is as follows:
<informalexample>
<programlisting>
-[ #GfsRefine ] surface.gts
+[ #GfsRefineSurface ]
</programlisting>
</informalexample>
</para>
@@ -21,14 +21,6 @@ The syntax in parameter files is as follows:
<para>
</para>
-<!-- ##### MACRO GFS_REFINE_DISTANCE_CLASS ##### -->
-<para>
-
-</para>
-
- at klass:
-
-
<!-- ##### MACRO GFS_REFINE_DISTANCE ##### -->
<para>
@@ -45,20 +37,12 @@ The syntax in parameter files is as follows:
@obj:
-<!-- ##### STRUCT GfsRefineDistanceClass ##### -->
-<para>
-
-</para>
-
- at parent_class:
-
<!-- ##### STRUCT GfsRefineDistance ##### -->
<para>
</para>
@parent:
- at surface:
@stree:
<!-- ##### FUNCTION gfs_refine_distance_class ##### -->
diff --git a/doc/tmpl/refine_solid.sgml b/doc/tmpl/refine_solid.sgml
index f0f3e66..f67ee53 100644
--- a/doc/tmpl/refine_solid.sgml
+++ b/doc/tmpl/refine_solid.sgml
@@ -2,7 +2,7 @@
Solid refinement
<!-- ##### SECTION Short_Description ##### -->
-Refining cells close to a solid boundary
+Refining cells cut by solid boundary
<!-- ##### SECTION Long_Description ##### -->
<para>
@@ -22,22 +22,6 @@ The syntax in parameter files is as follows:
</para>
-<!-- ##### MACRO GFS_REFINE_SOLID_CLASS ##### -->
-<para>
-
-</para>
-
- at klass:
-
-
-<!-- ##### MACRO GFS_REFINE_SOLID ##### -->
-<para>
-
-</para>
-
- at obj:
-
-
<!-- ##### MACRO GFS_IS_REFINE_SOLID ##### -->
<para>
@@ -46,20 +30,6 @@ The syntax in parameter files is as follows:
@obj:
-<!-- ##### STRUCT GfsRefineSolidClass ##### -->
-<para>
-
-</para>
-
- at parent_class:
-
-<!-- ##### STRUCT GfsRefineSolid ##### -->
-<para>
-
-</para>
-
- at parent:
-
<!-- ##### FUNCTION gfs_refine_solid_class ##### -->
<para>
diff --git a/doc/tmpl/source.sgml b/doc/tmpl/refine_surface.sgml
similarity index 52%
copy from doc/tmpl/source.sgml
copy to doc/tmpl/refine_surface.sgml
index b9333b0..d72f467 100644
--- a/doc/tmpl/source.sgml
+++ b/doc/tmpl/refine_surface.sgml
@@ -1,18 +1,18 @@
<!-- ##### SECTION Title ##### -->
-Source terms
+Surface refinement
<!-- ##### SECTION Short_Description ##### -->
-Variable-dependent source terms
+Refining cells cut by a surface
<!-- ##### SECTION Long_Description ##### -->
<para>
-GfsSource is used to associate a source term (possibly a function of space and time) to a given variable.
+#GfsRefineSurface can be used to add levels of refinement to cells which are cut by a given surface.
</para>
<para>
The syntax in parameter files is as follows:
<informalexample>
<programlisting>
-[ #GfsGenericSource ] [ #GfsFunction ]
+[ #GfsRefine ] surface.gts
</programlisting>
</informalexample>
</para>
@@ -22,7 +22,7 @@ The syntax in parameter files is as follows:
</para>
-<!-- ##### MACRO GFS_SOURCE ##### -->
+<!-- ##### MACRO GFS_REFINE_SURFACE ##### -->
<para>
</para>
@@ -30,7 +30,7 @@ The syntax in parameter files is as follows:
@obj:
-<!-- ##### MACRO GFS_IS_SOURCE ##### -->
+<!-- ##### MACRO GFS_IS_REFINE_SURFACE ##### -->
<para>
</para>
@@ -38,14 +38,15 @@ The syntax in parameter files is as follows:
@obj:
-<!-- ##### STRUCT GfsSource ##### -->
+<!-- ##### STRUCT GfsRefineSurface ##### -->
<para>
</para>
- at intensity:
+ at parent:
+ at surface:
-<!-- ##### FUNCTION gfs_source_class ##### -->
+<!-- ##### FUNCTION gfs_refine_surface_class ##### -->
<para>
</para>
diff --git a/doc/tmpl/simulation.sgml b/doc/tmpl/simulation.sgml
index 7a6d8af..2f96814 100644
--- a/doc/tmpl/simulation.sgml
+++ b/doc/tmpl/simulation.sgml
@@ -59,8 +59,6 @@ Simulations
@advection_params:
@diffusion_params:
@surface:
- at stree:
- at is_open:
@interface:
@itree:
@i_is_open:
diff --git a/doc/tmpl/solid.sgml b/doc/tmpl/solid.sgml
index bf31c1f..0b51bf7 100644
--- a/doc/tmpl/solid.sgml
+++ b/doc/tmpl/solid.sgml
@@ -59,22 +59,6 @@ Contains the surface and volume fractions of the cell not contained in the solid
@cell:
-<!-- ##### FUNCTION gfs_cell_init_solid_fractions ##### -->
-<para>
-
-</para>
-
- at root:
- at s:
- at stree:
- at is_open:
- at destroy_solid:
- at cleanup:
- at data:
-<!-- # Unused Parameters # -->
- at Param2:
-
-
<!-- ##### FUNCTION gfs_cell_init_solid_fractions_from_children ##### -->
<para>
@@ -89,11 +73,11 @@ Contains the surface and volume fractions of the cell not contained in the solid
</para>
@root:
+ at Returns:
+<!-- # Unused Parameters # -->
@solid:
@stree:
@is_open:
- at Returns:
-<!-- # Unused Parameters # -->
@s:
diff --git a/src/init.c b/src/init.c
index bbb971e..b024249 100644
--- a/src/init.c
+++ b/src/init.c
@@ -236,7 +236,8 @@ void gfs_init (int * argc, char *** argv)
gfs_refine_class ();
gfs_refine_solid_class ();
- gfs_refine_distance_class ();
+ gfs_refine_surface_class ();
+ gfs_refine_distance_class ();
gfs_event_class ();
gfs_init_class ();
diff --git a/src/refine.c b/src/refine.c
index c26cb89..7f014e2 100644
--- a/src/refine.c
+++ b/src/refine.c
@@ -149,14 +149,6 @@ static void refine_cut_cell (FttCell * cell, GtsSurface * s, gpointer * data)
ftt_cell_refine_single (cell, (FttCellInitFunc) gfs_cell_init, domain);
}
-static void refine_solid (GfsBox * box, gpointer * data)
-{
- GfsSimulation * sim = data[1];
-
- gfs_cell_traverse_cut (box->root, sim->surface, FTT_PRE_ORDER, FTT_TRAVERSE_LEAFS,
- (FttCellTraverseCutFunc) refine_cut_cell, data);
-}
-
static void gfs_refine_solid_refine (GfsRefine * refine, GfsSimulation * sim)
{
if (sim->surface) {
@@ -164,24 +156,26 @@ static void gfs_refine_solid_refine (GfsRefine * refine, GfsSimulation * sim)
data[0] = refine;
data[1] = sim;
- gts_container_foreach (GTS_CONTAINER (sim), (GtsFunc) refine_solid, data);
+ gfs_domain_traverse_cut (GFS_DOMAIN (sim), sim->surface,
+ FTT_PRE_ORDER, FTT_TRAVERSE_LEAFS,
+ (FttCellTraverseCutFunc) refine_cut_cell, data);
}
}
-static void gfs_refine_solid_class_init (GfsRefineSolidClass * klass)
+static void gfs_refine_solid_class_init (GfsRefineClass * klass)
{
- GFS_REFINE_CLASS (klass)->refine = gfs_refine_solid_refine;
+ klass->refine = gfs_refine_solid_refine;
}
-GfsRefineSolidClass * gfs_refine_solid_class (void)
+GfsRefineClass * gfs_refine_solid_class (void)
{
- static GfsRefineSolidClass * klass = NULL;
+ static GfsRefineClass * klass = NULL;
if (klass == NULL) {
GtsObjectClassInfo gfs_refine_solid_info = {
"GfsRefineSolid",
- sizeof (GfsRefineSolid),
- sizeof (GfsRefineSolidClass),
+ sizeof (GfsRefine),
+ sizeof (GfsRefineClass),
(GtsObjectClassInitFunc) gfs_refine_solid_class_init,
(GtsObjectInitFunc) NULL,
(GtsArgSetFunc) NULL,
@@ -194,40 +188,37 @@ GfsRefineSolidClass * gfs_refine_solid_class (void)
return klass;
}
-/* GfsRefineDistance: Object */
+/* GfsRefineSurface: Object */
-static void refine_distance_destroy (GtsObject * object)
+static void refine_surface_destroy (GtsObject * object)
{
- GfsRefineDistance * d = GFS_REFINE_DISTANCE (object);
+ GfsRefineSurface * d = GFS_REFINE_SURFACE (object);
if (d->surface)
gts_object_destroy (GTS_OBJECT (d->surface));
- if (d->stree)
- gts_bb_tree_destroy (d->stree, TRUE);
- (* GTS_OBJECT_CLASS (gfs_refine_distance_class ())->parent_class->destroy)
- (object);
+ (* GTS_OBJECT_CLASS (gfs_refine_surface_class ())->parent_class->destroy) (object);
}
-static void refine_distance_write (GtsObject * o, FILE * fp)
+static void refine_surface_write (GtsObject * o, FILE * fp)
{
- GfsRefineDistance * d = GFS_REFINE_DISTANCE (o);
+ GfsRefineSurface * d = GFS_REFINE_SURFACE (o);
- (* GTS_OBJECT_CLASS (gfs_refine_distance_class ())->parent_class->write) (o, fp);
+ (* GTS_OBJECT_CLASS (gfs_refine_surface_class ())->parent_class->write) (o, fp);
fprintf (fp, " { ");
gts_surface_write (d->surface, fp);
fputs ("}\n", fp);
}
-static void refine_distance_read (GtsObject ** o, GtsFile * fp)
+static void refine_surface_read (GtsObject ** o, GtsFile * fp)
{
- GfsRefineDistance * refine;
+ GfsRefineSurface * refine;
- (* GTS_OBJECT_CLASS (gfs_refine_distance_class ())->parent_class->read) (o, fp);
+ (* GTS_OBJECT_CLASS (gfs_refine_surface_class ())->parent_class->read) (o, fp);
if (fp->type == GTS_ERROR)
return;
- refine = GFS_REFINE_DISTANCE (*o);
+ refine = GFS_REFINE_SURFACE (*o);
if (fp->type != '{') {
FILE * f;
GtsFile * gf;
@@ -266,11 +257,80 @@ static void refine_distance_read (GtsObject ** o, GtsFile * fp)
}
fp->scope_max--;
}
- refine->stree = gts_bb_tree_surface (refine->surface);
gts_file_next_token (fp);
}
+static void gfs_refine_surface_refine (GfsRefine * refine, GfsSimulation * sim)
+{
+ gpointer data[2];
+
+ data[0] = refine;
+ data[1] = sim;
+ gfs_domain_traverse_cut (GFS_DOMAIN (sim), GFS_REFINE_SURFACE (refine)->surface,
+ FTT_PRE_ORDER, FTT_TRAVERSE_LEAFS,
+ (FttCellTraverseCutFunc) refine_cut_cell, data);
+}
+
+static void gfs_refine_surface_class_init (GfsRefineClass * klass)
+{
+ klass->refine = gfs_refine_surface_refine;
+
+ GTS_OBJECT_CLASS (klass)->destroy = refine_surface_destroy;
+ GTS_OBJECT_CLASS (klass)->write = refine_surface_write;
+ GTS_OBJECT_CLASS (klass)->read = refine_surface_read;
+}
+
+static void refine_surface_init (GfsRefineSurface * r)
+{
+ r->surface = gts_surface_new (gts_surface_class (),
+ gts_face_class (),
+ gts_edge_class (),
+ gts_vertex_class ());
+}
+
+GfsRefineClass * gfs_refine_surface_class (void)
+{
+ static GfsRefineClass * klass = NULL;
+
+ if (klass == NULL) {
+ GtsObjectClassInfo gfs_refine_surface_info = {
+ "GfsRefineSurface",
+ sizeof (GfsRefineSurface),
+ sizeof (GfsRefineClass),
+ (GtsObjectClassInitFunc) gfs_refine_surface_class_init,
+ (GtsObjectInitFunc) refine_surface_init,
+ (GtsArgSetFunc) NULL,
+ (GtsArgGetFunc) NULL
+ };
+ klass = gts_object_class_new (GTS_OBJECT_CLASS (gfs_refine_class ()),
+ &gfs_refine_surface_info);
+ }
+
+ return klass;
+}
+
+/* GfsRefineDistance: Object */
+
+static void refine_distance_destroy (GtsObject * object)
+{
+ GfsRefineDistance * d = GFS_REFINE_DISTANCE (object);
+
+ if (d->stree)
+ gts_bb_tree_destroy (d->stree, TRUE);
+
+ (* GTS_OBJECT_CLASS (gfs_refine_distance_class ())->parent_class->destroy) (object);
+}
+
+static void refine_distance_read (GtsObject ** o, GtsFile * fp)
+{
+ (* GTS_OBJECT_CLASS (gfs_refine_distance_class ())->parent_class->read) (o, fp);
+ if (fp->type == GTS_ERROR)
+ return;
+
+ GFS_REFINE_DISTANCE (*o)->stree = gts_bb_tree_surface (GFS_REFINE_SURFACE (*o)->surface);
+}
+
static gboolean refine_distance_maxlevel (FttCell * cell, GfsRefine * refine)
{
FttVector pos;
@@ -293,43 +353,32 @@ static void refine_distance (GfsBox * box, gpointer data)
static void refine_distance_refine (GfsRefine * refine, GfsSimulation * sim)
{
- if (GFS_REFINE_DISTANCE (refine)->surface)
- gts_container_foreach (GTS_CONTAINER (sim), (GtsFunc) refine_distance,
- refine);
+ gts_container_foreach (GTS_CONTAINER (sim), (GtsFunc) refine_distance, refine);
}
-static void gfs_refine_distance_class_init (GfsRefineDistanceClass * klass)
+static void gfs_refine_distance_class_init (GfsRefineClass * klass)
{
- GFS_REFINE_CLASS (klass)->refine = refine_distance_refine;
+ klass->refine = refine_distance_refine;
GTS_OBJECT_CLASS (klass)->destroy = refine_distance_destroy;
- GTS_OBJECT_CLASS (klass)->write = refine_distance_write;
GTS_OBJECT_CLASS (klass)->read = refine_distance_read;
}
-static void gfs_refine_distance_init (GfsRefineDistance * d)
+GfsRefineClass * gfs_refine_distance_class (void)
{
- d->surface = gts_surface_new (gts_surface_class (),
- gts_face_class (),
- gts_edge_class (),
- gts_vertex_class ());
-}
-
-GfsRefineDistanceClass * gfs_refine_distance_class (void)
-{
- static GfsRefineDistanceClass * klass = NULL;
+ static GfsRefineClass * klass = NULL;
if (klass == NULL) {
GtsObjectClassInfo gfs_refine_distance_info = {
"GfsRefineDistance",
sizeof (GfsRefineDistance),
- sizeof (GfsRefineDistanceClass),
+ sizeof (GfsRefineClass),
(GtsObjectClassInitFunc) gfs_refine_distance_class_init,
- (GtsObjectInitFunc) gfs_refine_distance_init,
+ (GtsObjectInitFunc) NULL,
(GtsArgSetFunc) NULL,
(GtsArgGetFunc) NULL
};
- klass = gts_object_class_new (GTS_OBJECT_CLASS (gfs_refine_class ()),
+ klass = gts_object_class_new (GTS_OBJECT_CLASS (gfs_refine_surface_class ()),
&gfs_refine_distance_info);
}
diff --git a/src/refine.h b/src/refine.h
index 24cd4b5..a2f2fd8 100644
--- a/src/refine.h
+++ b/src/refine.h
@@ -57,55 +57,46 @@ GfsRefine * gfs_refine_new (GfsRefineClass * klass);
/* GfsRefineSolid: Header */
-typedef struct _GfsRefineSolid GfsRefineSolid;
-typedef struct _GfsRefineSolidClass GfsRefineSolidClass;
+#define GFS_IS_REFINE_SOLID(obj) (gts_object_is_from_class (obj,\
+ gfs_refine_solid_class ()))
+
+GfsRefineClass * gfs_refine_solid_class (void);
+
+/* GfsRefineSurface: Header */
-struct _GfsRefineSolid {
+typedef struct _GfsRefineSurface GfsRefineSurface;
+
+struct _GfsRefineSurface {
GfsRefine parent;
-};
-struct _GfsRefineSolidClass {
- GfsRefineClass parent_class;
+ GtsSurface * surface;
};
-#define GFS_REFINE_SOLID(obj) GTS_OBJECT_CAST (obj,\
- GfsRefineSolid,\
- gfs_refine_solid_class ())
-#define GFS_REFINE_SOLID_CLASS(klass) GTS_OBJECT_CLASS_CAST (klass,\
- GfsRefineSolidClass,\
- gfs_refine_solid_class())
-#define GFS_IS_REFINE_SOLID(obj) (gts_object_is_from_class (obj,\
- gfs_refine_solid_class ()))
+#define GFS_REFINE_SURFACE(obj) GTS_OBJECT_CAST (obj,\
+ GfsRefineSurface,\
+ gfs_refine_surface_class ())
+#define GFS_IS_REFINE_SURFACE(obj) (gts_object_is_from_class (obj,\
+ gfs_refine_surface_class ()))
-GfsRefineSolidClass * gfs_refine_solid_class (void);
+GfsRefineClass * gfs_refine_surface_class (void);
/* GfsRefineDistance: Header */
typedef struct _GfsRefineDistance GfsRefineDistance;
-typedef struct _GfsRefineDistanceClass GfsRefineDistanceClass;
struct _GfsRefineDistance {
- GfsRefine parent;
+ GfsRefineSurface parent;
- GtsSurface * surface;
GNode * stree;
};
-struct _GfsRefineDistanceClass {
- GfsRefineClass parent_class;
-};
-
#define GFS_REFINE_DISTANCE(obj) GTS_OBJECT_CAST (obj,\
GfsRefineDistance,\
gfs_refine_distance_class ())
-#define GFS_REFINE_DISTANCE_CLASS(klass) GTS_OBJECT_CLASS_CAST (klass,\
- GfsRefineDistanceClass,\
- gfs_refine_distance_class())
#define GFS_IS_REFINE_DISTANCE(obj) (gts_object_is_from_class (obj,\
gfs_refine_distance_class ()))
-GfsRefineDistanceClass * gfs_refine_distance_class (void);
-GfsRefineDistance * gfs_refine_distance_new (GfsRefineDistanceClass * klass);
+GfsRefineClass * gfs_refine_distance_class (void);
#ifdef __cplusplus
}
--
Gerris Flow Solver
More information about the debian-science-commits
mailing list