[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