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

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


The following commit has been merged in the upstream branch:
commit c6e15d33136b8c96b47358584b42fcf88c822650
Author: Stephane Popinet <popinet at users.sf.net>
Date:   Sun Jun 11 16:31:39 2006 +1000

    Variables have a new "description" field
    
    darcs-hash:20060611063139-d4795-2e0fd4021897f4ba1135457de40106fd2866e667.gz

diff --git a/configure.in b/configure.in
index a8e764c..1d0336c 100644
--- a/configure.in
+++ b/configure.in
@@ -13,7 +13,7 @@ dnl are available for $ac_help expansion (don't we all *love* autoconf?)
 #
 GFS_MAJOR_VERSION=0
 GFS_MINOR_VERSION=9
-GFS_MICRO_VERSION=2
+GFS_MICRO_VERSION=3
 GFS_INTERFACE_AGE=0
 GFS_BINARY_AGE=0
 GFS_VERSION=$GFS_MAJOR_VERSION.$GFS_MINOR_VERSION.$GFS_MICRO_VERSION
diff --git a/src/adaptive.c b/src/adaptive.c
index 256fade..e600fb9 100644
--- a/src/adaptive.c
+++ b/src/adaptive.c
@@ -215,7 +215,8 @@ static void gfs_adapt_read (GtsObject ** o, GtsFile * fp)
       }
       domain = GFS_DOMAIN (gfs_object_simulation (*o));
       a->c = gfs_variable_from_name (domain->variables, fp->token->str);
-      if (!a->c && !(a->c = gfs_domain_add_variable (domain, fp->token->str))) {
+      if (!a->c && !(a->c = gfs_domain_add_variable (domain, fp->token->str, 
+						     "Adaptive refinement cost"))) {
 	gts_file_error (fp, "`%s' is a reserved keyword", fp->token->str);
 	return;
       }
diff --git a/src/domain.c b/src/domain.c
index 67596ef..47be3d6 100644
--- a/src/domain.c
+++ b/src/domain.c
@@ -130,7 +130,7 @@ static void domain_read (GtsObject ** o, GtsFile * fp)
     variables1 = g_strdup (variables);
     s = strtok (variables1, ",");
     while (s) {
-      gfs_domain_add_variable (domain, s);
+      gfs_domain_add_variable (domain, s, NULL);
       s = strtok (NULL, ",");
     }
     g_free (variables1);
@@ -239,13 +239,9 @@ static void domain_destroy (GtsObject * o)
   }
   g_assert (domain->variables == NULL);
 
-  i = domain->derived_variables;
-  while (i) {
-    GSList * next = i->next;
-    gts_object_destroy (i->data);
-    i = next;
-  }
-  g_assert (domain->derived_variables == NULL);
+  g_slist_foreach (domain->derived_variables, (GFunc) gts_object_destroy, NULL);
+  g_slist_free (domain->derived_variables);
+  domain->derived_variables = NULL;
 
   g_array_free (domain->allocated, TRUE);
 
@@ -2422,6 +2418,7 @@ void gfs_domain_free (GfsDomain * domain, guint i)
  * gfs_domain_add_variable:
  * @domain: a #GfsDomain.
  * @name: the name of the variable to add or %NULL.
+ * @description: the variable description or %NULL.
  *
  * Adds a new variable @name to @domain.
  *
@@ -2429,14 +2426,15 @@ void gfs_domain_free (GfsDomain * domain, guint i)
  * already exists.  
  */
 GfsVariable * gfs_domain_add_variable (GfsDomain * domain,
-				       const gchar * name)
+				       const gchar * name,
+				       const gchar * description)
 {
   GfsVariable * v;
 
   g_return_val_if_fail (domain != NULL, NULL);
   g_return_val_if_fail (name != NULL, NULL);
 
-  if ((v = gfs_variable_new (gfs_variable_class (), domain, name)) == NULL)
+  if ((v = gfs_variable_new (gfs_variable_class (), domain, name, description)) == NULL)
     return NULL;
   domain->variables = g_slist_append (domain->variables, v);
   return v;
diff --git a/src/domain.h b/src/domain.h
index 9707c44..0da6177 100644
--- a/src/domain.h
+++ b/src/domain.h
@@ -229,7 +229,8 @@ guint        gfs_domain_alloc                 (GfsDomain * domain);
 void         gfs_domain_free                  (GfsDomain * domain, 
 					       guint i);
 GfsVariable * gfs_domain_add_variable         (GfsDomain * domain, 
-					       const gchar * name);
+					       const gchar * name,
+					       const gchar * description);
 void         gfs_domain_solid_force           (GfsDomain * domain, 
 					       FttVector * pf,
 					       FttVector * vf,
diff --git a/src/event.c b/src/event.c
index d9d9e3d..4634a34 100644
--- a/src/event.c
+++ b/src/event.c
@@ -485,7 +485,7 @@ static void gfs_init_read (GtsObject ** o, GtsFile * fp)
       GfsVariable * v = gfs_variable_from_name (domain->variables, fp->token->str);
       GfsFunction * f;
 
-      if (!v && !(v = gfs_domain_add_variable (domain, fp->token->str))) {
+      if (!v && !(v = gfs_domain_add_variable (domain, fp->token->str, NULL))) {
 	gts_file_error (fp, "`%s' is a reserved keyword", fp->token->str);
 	return;
       }
@@ -854,7 +854,7 @@ static void gfs_event_sum_read (GtsObject ** o, GtsFile * fp)
     return;
   }
   if (!(s->sv = gfs_variable_from_name (domain->variables, fp->token->str)) &&
-      !(s->sv = gfs_domain_add_variable (domain, fp->token->str))) {
+      !(s->sv = gfs_domain_add_variable (domain, fp->token->str, "Sum"))) {
     gts_file_error (fp, "`%s' is a reserved keyword", fp->token->str);
     return;
   }
@@ -1010,7 +1010,7 @@ static void gfs_event_harmonic_read (GtsObject ** o, GtsFile * fp)
     return;
   }
   if (!(s->z = gfs_variable_from_name (domain->variables, fp->token->str)) &&
-      !(s->z = gfs_domain_add_variable (domain, fp->token->str))) {
+      !(s->z = gfs_domain_add_variable (domain, fp->token->str, "Offset of harmonic decomposition"))) {
     gts_file_error (fp, "`%s' is a reserved keyword", fp->token->str);
     return;
   }
@@ -1022,7 +1022,8 @@ static void gfs_event_harmonic_read (GtsObject ** o, GtsFile * fp)
       return;
     }
     if (!(s->e = gfs_variable_from_name (domain->variables, fp->token->str)) &&
-	!(s->e = gfs_domain_add_variable (domain, fp->token->str))) {
+	!(s->e = gfs_domain_add_variable (domain, fp->token->str, 
+					  "Remainder of harmonic decomposition"))) {
       gts_file_error (fp, "`%s' is a reserved keyword", fp->token->str);
       return;
     }
@@ -1060,14 +1061,16 @@ static void gfs_event_harmonic_read (GtsObject ** o, GtsFile * fp)
     
     u = g_strdup_printf ("%s%d", s->Aname, i);
     if (!(s->A[i] = gfs_variable_from_name (domain->variables, u)) &&
-	!(s->A[i] = gfs_domain_add_variable (domain, u))) {
+	!(s->A[i] = gfs_domain_add_variable (domain, u, 
+					 "In-phase component of the harmonic decomposition"))) {
       gts_file_error (fp, "`%s' is a reserved keyword", u);
       return;
     }
     g_free (u);
     u = g_strdup_printf ("%s%d", s->Bname, i);
     if (!(s->B[i] = gfs_variable_from_name (domain->variables, u)) &&
-	!(s->B[i] = gfs_domain_add_variable (domain, u))) {
+	!(s->B[i] = gfs_domain_add_variable (domain, u,
+				       "Out-of-phase component of the harmonic decomposition"))) {
       gts_file_error (fp, "`%s' is a reserved keyword", u);
       return;
     }
@@ -1330,7 +1333,8 @@ static void gfs_event_stop_read (GtsObject ** o, GtsFile * fp)
       return;
     }
     if (!(s->diff = gfs_variable_from_name (domain->variables, fp->token->str)) &&
-	!(s->diff = gfs_domain_add_variable (domain, fp->token->str))) {
+	!(s->diff = gfs_domain_add_variable (domain, fp->token->str, 
+					     "Stopping field difference"))) {
       gts_file_error (fp, "`%s' is a reserved keyword", fp->token->str);
       return;
     }
diff --git a/src/ocean.c b/src/ocean.c
index 5ff8d36..0928a16 100644
--- a/src/ocean.c
+++ b/src/ocean.c
@@ -749,7 +749,7 @@ static void gfs_ocean_class_init (GfsSimulationClass * klass)
 
 static void gfs_ocean_init (GfsOcean * object)
 {
-  gfs_domain_add_variable (GFS_DOMAIN (object), "H");
+  gfs_domain_add_variable (GFS_DOMAIN (object), "H", "Depth");
   GFS_SIMULATION (object)->approx_projection_params.weighted = 1;
   object->layer = g_ptr_array_new ();
   new_layer (object);
@@ -867,7 +867,7 @@ static void gfs_source_hydrostatic_read (GtsObject ** o, GtsFile * fp)
     return;
   }
   if (!(sh->ph = gfs_variable_from_name (domain->variables, fp->token->str)) &&
-      !(sh->ph = gfs_domain_add_variable (domain, fp->token->str))) {
+      !(sh->ph = gfs_domain_add_variable (domain, fp->token->str, "Hydrostatic pressure"))) {
     gts_file_error (fp, "`%s' is a reserved keyword", fp->token->str);
     return;
   }
diff --git a/src/output.c b/src/output.c
index 33da9fb..c885594 100644
--- a/src/output.c
+++ b/src/output.c
@@ -1726,7 +1726,7 @@ static gboolean gfs_output_scalar_event (GfsEvent * event,
     GfsDomain * domain = GFS_DOMAIN (sim);
 
     if (!(output->v = gfs_function_get_variable (output->f))) {
-      output->v = gfs_variable_new (gfs_variable_class (), domain, NULL);
+      output->v = gfs_variable_new (gfs_variable_class (), domain, NULL, NULL);
       gfs_domain_cell_traverse (domain,
 				FTT_PRE_ORDER, FTT_TRAVERSE_LEAFS, -1,
 				(FttCellTraverseFunc) update_v, output);
@@ -2362,7 +2362,7 @@ static void output_error_norm_read (GtsObject ** o, GtsFile * fp)
 	return;
       }
       if (!(n->v = gfs_variable_from_name (domain->variables, fp->token->str)) &&
-	  !(n->v = gfs_domain_add_variable (domain, fp->token->str))) {
+	  !(n->v = gfs_domain_add_variable (domain, fp->token->str, "Error field"))) {
 	gts_file_error (fp, "`%s' is a reserved keyword", fp->token->str);
 	return;
       }
diff --git a/src/simulation.c b/src/simulation.c
index a34cdb7..cc70928 100644
--- a/src/simulation.c
+++ b/src/simulation.c
@@ -741,12 +741,15 @@ static void gfs_simulation_init (GfsSimulation * object)
   };
   GfsDerivedVariableInfo * v = derived_variable;
 
-  gfs_domain_add_variable (domain, "P")->centered = TRUE;
-  gfs_domain_add_variable (domain, "Pmac")->centered = TRUE;
-  gfs_variable_set_vector (gfs_domain_add_variable (domain, "U"), FTT_X);
-  gfs_variable_set_vector (gfs_domain_add_variable (domain, "V"), FTT_Y);
+  gfs_domain_add_variable (domain, "P", "Approximate projection pressure")->centered = TRUE;
+  gfs_domain_add_variable (domain, "Pmac", "MAC projection pressure")->centered = TRUE;
+  gfs_variable_set_vector (gfs_domain_add_variable (domain, "U", 
+						    "x-component of the velocity"), FTT_X);
+  gfs_variable_set_vector (gfs_domain_add_variable (domain, "V",
+						    "y-component of the velocity"), FTT_Y);
 #if (!FTT_2D)
-  gfs_variable_set_vector (gfs_domain_add_variable (domain, "W"), FTT_Z);
+  gfs_variable_set_vector (gfs_domain_add_variable (domain, "W",
+						    "z-component of the velocity"), FTT_Z);
 #endif /* FTT_3D */
 
   while (v->name) {
@@ -1478,7 +1481,7 @@ static void poisson_class_init (GfsSimulationClass * klass)
 
 static void poisson_init (GfsDomain * domain)
 {
-  gfs_domain_add_variable (domain, "Div");
+  gfs_domain_add_variable (domain, "Div", "Right-hand-side of the Poisson equation");
 }
 
 GfsSimulationClass * gfs_poisson_class (void)
diff --git a/src/tension.c b/src/tension.c
index e262eac..38f0745 100644
--- a/src/tension.c
+++ b/src/tension.c
@@ -48,7 +48,7 @@ static void gfs_source_tension_read (GtsObject ** o, GtsFile * fp)
   for (c = 0; c < FTT_DIMENSION; c++) {
     static gchar * name[3] = {"_Tx", "_Ty", "_Tz"};
     if ((s->t[c] = gfs_variable_from_name (domain->variables, name[c])) == NULL)
-      s->t[c] = gfs_domain_add_variable (domain, name[c]);
+      s->t[c] = gfs_domain_add_variable (domain, name[c], NULL);
   }
 
   if (fp->type != GTS_INT && fp->type != GTS_FLOAT) {
diff --git a/src/variable.c b/src/variable.c
index 0fa054c..de9b9a9 100644
--- a/src/variable.c
+++ b/src/variable.c
@@ -71,6 +71,7 @@ static void gfs_variable_destroy (GtsObject * object)
   GfsVariable * v = GFS_VARIABLE1 (object);
 
   g_free (v->name);
+  g_free (v->description);
   if (v->sources)
     gts_object_destroy (GTS_OBJECT (v->sources));
   if (v->surface_bc)
@@ -124,13 +125,15 @@ GfsVariableClass * gfs_variable_class (void)
  * @klass: a #GfsVariableClass.
  * @domain: a #GfsDomain.
  * @name: the name of the variable or %NULL.
+ * @description: the variable description or %NULL.
  *
  * Returns: a newly allocated #GfsVariable or %NULL if a variable
  * named @name already exists in @domain.
  */
 GfsVariable * gfs_variable_new (GfsVariableClass * klass,
 				GfsDomain * domain,
-				const gchar * name)
+				const gchar * name,
+				const gchar * description)
 {
   GfsVariable * v;
 
@@ -145,6 +148,8 @@ GfsVariable * gfs_variable_new (GfsVariableClass * klass,
   v = GFS_VARIABLE1 (gts_object_new (GTS_OBJECT_CLASS (klass)));
   if (name)
     v->name = g_strdup (name);
+  if (description)
+    v->description = g_strdup (description);
   variable_init_domain (v, domain);
 
   return v;
diff --git a/src/variable.h b/src/variable.h
index 5ddb35f..17d935a 100644
--- a/src/variable.h
+++ b/src/variable.h
@@ -40,7 +40,7 @@ struct _GfsVariable {
   /*< public >*/
   guint i;
   FttComponent component;
-  gchar * name;
+  gchar * name, * description;
   gboolean centered;
   GfsVariableFineCoarseFunc fine_coarse, coarse_fine;
   GtsContainer * sources;
@@ -69,9 +69,10 @@ struct _GfsVariableClass {
 GfsVariableClass *    gfs_variable_class            (void);
 GfsVariable *         gfs_variable_new              (GfsVariableClass * klass,
 						     GfsDomain * domain,
-						     const gchar * name);
+						     const gchar * name,
+						     const gchar * description);
 #define               gfs_temporary_variable(d)     (gfs_variable_new (gfs_variable_class (),\
-                                                                      (d), NULL))
+                                                                      (d), NULL, NULL))
 GfsVariable *         gfs_variable_from_name        (GSList * i,
 						     const gchar * name);
 GSList *              gfs_variables_from_list       (GSList * i,

-- 
Gerris Flow Solver



More information about the debian-science-commits mailing list