[SCM] Gerris Flow Solver branch, upstream, updated. b3aa46814a06c9cb2912790b23916ffb44f1f203
Stephane Popinet
popinet at users.sf.net
Fri May 15 02:55:43 UTC 2009
The following commit has been merged in the upstream branch:
commit 72603e38d13741eb08af00e8fb2a7543e2510e28
Author: Stephane Popinet <popinet at users.sf.net>
Date: Mon Sep 8 08:10:27 2008 +1000
Fixes for missing dimensioning
VariableCurvature, VariableDistance, VariableFiltered, SourceTension.
darcs-hash:20080907221027-d4795-2f58d0b84fb763c3e51ebe4362e81627252eb38b.gz
diff --git a/src/levelset.c b/src/levelset.c
index 0142072..4fce173 100644
--- a/src/levelset.c
+++ b/src/levelset.c
@@ -191,6 +191,11 @@ static void variable_distance_class_init (GtsObjectClass * klass)
GFS_EVENT_CLASS (klass)->event_half = variable_distance_event_half;
}
+static void variable_distance_init (GfsVariable * v)
+{
+ v->units = 1.;
+}
+
GfsVariableClass * gfs_variable_distance_class (void)
{
static GfsVariableClass * klass = NULL;
@@ -201,7 +206,7 @@ GfsVariableClass * gfs_variable_distance_class (void)
sizeof (GfsVariableDistance),
sizeof (GfsVariableClass),
(GtsObjectClassInitFunc) variable_distance_class_init,
- (GtsObjectInitFunc) NULL,
+ (GtsObjectInitFunc) variable_distance_init,
(GtsArgSetFunc) NULL,
(GtsArgGetFunc) NULL
};
diff --git a/src/tension.c b/src/tension.c
index 5935cca..e828dcb 100644
--- a/src/tension.c
+++ b/src/tension.c
@@ -45,14 +45,15 @@ static void gfs_source_tension_generic_read (GtsObject ** o, GtsFile * fp)
}
gts_file_next_token (fp);
- s->sigma = gfs_read_constant (fp, domain);
+ s->sigma = gfs_read_constant (fp, domain)/pow (GFS_SIMULATION (domain)->physical_params.L, 3.);
}
static void gfs_source_tension_generic_write (GtsObject * o, FILE * fp)
{
GfsSourceTensionGeneric * t = GFS_SOURCE_TENSION_GENERIC (o);
(* GTS_OBJECT_CLASS (gfs_source_tension_generic_class ())->parent_class->write) (o, fp);
- fprintf (fp, " %s %g", t->c->name, t->sigma);
+ fprintf (fp, " %s %g", t->c->name,
+ t->sigma*pow (gfs_object_simulation (o)->physical_params.L, 3.));
}
typedef struct {
@@ -692,6 +693,7 @@ static void variable_curvature_init (GfsVariable * v)
{
v->coarse_fine = curvature_coarse_fine;
v->fine_coarse = curvature_fine_coarse;
+ v->units = -1.;
}
GfsVariableClass * gfs_variable_curvature_class (void)
@@ -803,6 +805,11 @@ static void variable_position_class_init (GtsObjectClass * klass)
GFS_EVENT_CLASS (klass)->event = variable_position_event;
}
+static void variable_position_init (GfsVariable * v)
+{
+ v->units = 1.;
+}
+
GfsVariableClass * gfs_variable_position_class (void)
{
static GfsVariableClass * klass = NULL;
@@ -813,7 +820,7 @@ GfsVariableClass * gfs_variable_position_class (void)
sizeof (GfsVariablePosition),
sizeof (GfsVariableClass),
(GtsObjectClassInitFunc) variable_position_class_init,
- (GtsObjectInitFunc) NULL,
+ (GtsObjectInitFunc) variable_position_init,
(GtsArgSetFunc) NULL,
(GtsArgGetFunc) NULL
};
diff --git a/src/variable.c b/src/variable.c
index 606fd6b..b7ad720 100644
--- a/src/variable.c
+++ b/src/variable.c
@@ -376,6 +376,8 @@ static void variable_filtered_read (GtsObject ** o, GtsFile * fp)
if (GFS_VARIABLE1 (v)->description)
g_free (GFS_VARIABLE1 (v)->description);
GFS_VARIABLE1 (v)->description = g_strjoin (" ", "Variable", v->v->name, "filtered", NULL);
+
+ GFS_VARIABLE1 (v)->units = v->v->units;
}
static void variable_filtered_write (GtsObject * o, FILE * fp)
--
Gerris Flow Solver
More information about the debian-science-commits
mailing list