[SCM] Gerris Flow Solver branch, upstream, updated. b3aa46814a06c9cb2912790b23916ffb44f1f203

Stephane Popinet popinet at users.sf.net
Fri May 15 02:54:24 UTC 2009


The following commit has been merged in the upstream branch:
commit c83f18fa5933165eb41b96f3446f560c72c3fcfa
Author: Stephane Popinet <popinet at users.sf.net>
Date:   Sat Jun 9 20:05:22 2007 +1000

    New object GfsSourceViscosityExplicit
    
    darcs-hash:20070609100522-d4795-5f2b97e3cea98e6284b057957ccfcb453aaea3ca.gz

diff --git a/src/init.c b/src/init.c
index 09481fc..e63287d 100644
--- a/src/init.c
+++ b/src/init.c
@@ -163,6 +163,7 @@ GtsObjectClass ** gfs_classes (void)
           gfs_source_diffusion_explicit_class (),
       gfs_source_velocity_class (),
         gfs_source_viscosity_class (),
+          gfs_source_viscosity_explicit_class (),
         gfs_source_friction_class (),
         gfs_source_coriolis_class (),
           gfs_source_tension_class (),
diff --git a/src/source.c b/src/source.c
index 85b0399..dc74a31 100644
--- a/src/source.c
+++ b/src/source.c
@@ -858,6 +858,34 @@ GfsSourceGenericClass * gfs_source_viscosity_class (void)
   return klass;
 }
 
+/* GfsSourceViscosityExplicit: Object */
+
+static void source_viscosity_explicit_class_init (GfsSourceGenericClass * klass)
+{
+  klass->mac_value = klass->centered_value = source_viscosity_value;
+}
+
+GfsSourceGenericClass * gfs_source_viscosity_explicit_class (void)
+{
+  static GfsSourceGenericClass * klass = NULL;
+
+  if (klass == NULL) {
+    GtsObjectClassInfo source_viscosity_explicit_info = {
+      "GfsSourceViscosityExplicit",
+      sizeof (GfsSourceViscosity),
+      sizeof (GfsSourceGenericClass),
+      (GtsObjectClassInitFunc) source_viscosity_explicit_class_init,
+      (GtsObjectInitFunc) NULL,
+      (GtsArgSetFunc) NULL,
+      (GtsArgGetFunc) NULL
+    };
+    klass = gts_object_class_new (GTS_OBJECT_CLASS (gfs_source_viscosity_class ()),
+				  &source_viscosity_explicit_info);
+  }
+
+  return klass;
+}
+
 /* GfsSourceCoriolis: Object */
 
 static void source_coriolis_destroy (GtsObject * o)
diff --git a/src/source.h b/src/source.h
index 49f6996..b1c49db 100644
--- a/src/source.h
+++ b/src/source.h
@@ -249,6 +249,13 @@ struct _GfsSourceViscosity {
 
 GfsSourceGenericClass * gfs_source_viscosity_class  (void);
 
+/* GfsSourceViscosityExplicit: Header */
+
+#define GFS_IS_SOURCE_VISCOSITY_EXPLICIT(obj) (gts_object_is_from_class (obj,\
+					       gfs_source_viscosity_explicit_class ()))
+
+GfsSourceGenericClass * gfs_source_viscosity_explicit_class  (void);
+
 /* GfsSourceCoriolis: Header */
 
 typedef struct _GfsSourceCoriolis         GfsSourceCoriolis;
diff --git a/src/timestep.c b/src/timestep.c
index 2f6e0c9..694e961 100644
--- a/src/timestep.c
+++ b/src/timestep.c
@@ -572,7 +572,9 @@ static GfsSourceDiffusion * source_diffusion (GfsVariable * v)
     while (i) {
       GtsObject * o = i->data;
       
-      if (GFS_IS_SOURCE_DIFFUSION (o) && !GFS_IS_SOURCE_DIFFUSION_EXPLICIT (o))
+      if (GFS_IS_SOURCE_DIFFUSION (o) && 
+	  !GFS_IS_SOURCE_DIFFUSION_EXPLICIT (o) &&
+	  !GFS_IS_SOURCE_VISCOSITY_EXPLICIT (o))
         return GFS_SOURCE_DIFFUSION (o);
       i = i->next;
     }

-- 
Gerris Flow Solver



More information about the debian-science-commits mailing list