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

Stephane Popinet s.popinet at niwa.co.nz
Fri May 15 02:51:39 UTC 2009


The following commit has been merged in the upstream branch:
commit 39c23ee02afe524f886e60970363604543344bd6
Author: Stephane Popinet <s.popinet at niwa.co.nz>
Date:   Tue Feb 15 07:45:54 2005 +1100

    Changed interface to gfs_function_read()
    
    darcs-hash:20050214204554-fbd8f-f8608528ddc330b62d03f7dd2271d9a8e366f4c1.gz

diff --git a/src/adaptive.c b/src/adaptive.c
index 2f71c9d..4653bf9 100644
--- a/src/adaptive.c
+++ b/src/adaptive.c
@@ -144,7 +144,7 @@ static void gfs_adapt_read (GtsObject ** o, GtsFile * fp)
 	return;
       }
       gts_file_next_token (fp);
-      gfs_function_read (a->minlevel, fp);
+      gfs_function_read (a->minlevel, gfs_object_simulation (*o), fp);
     }
     else if (!strcmp (fp->token->str, "maxlevel")) {
       gts_file_next_token (fp);
@@ -153,7 +153,7 @@ static void gfs_adapt_read (GtsObject ** o, GtsFile * fp)
 	return;
       }
       gts_file_next_token (fp);
-      gfs_function_read (a->maxlevel, fp);
+      gfs_function_read (a->maxlevel, gfs_object_simulation (*o), fp);
     }
     else if (!strcmp (fp->token->str, "mincells")) {
       gts_file_next_token (fp);
@@ -425,8 +425,7 @@ static void gfs_adapt_function_read (GtsObject ** o, GtsFile * fp)
   if (fp->type == GTS_ERROR)
     return;
 
-  gfs_object_simulation (GFS_ADAPT_FUNCTION (*o)->f) = gfs_object_simulation (*o);
-  gfs_function_read (GFS_ADAPT_FUNCTION (*o)->f, fp);
+  gfs_function_read (GFS_ADAPT_FUNCTION (*o)->f, gfs_object_simulation (*o), fp);
 }
 
 static void gfs_adapt_function_write (GtsObject * o, FILE * fp)
diff --git a/src/boundary.c b/src/boundary.c
index 7070a02..c4b6ed6 100644
--- a/src/boundary.c
+++ b/src/boundary.c
@@ -154,7 +154,7 @@ static void bc_value_read (GtsObject ** o, GtsFile * fp)
     return;
   if (bc->val == NULL)
     bc->val = gfs_function_new (gfs_function_class (), 0.);
-  gfs_function_read (GFS_BC_VALUE (*o)->val, fp);
+  gfs_function_read (GFS_BC_VALUE (*o)->val, gfs_object_simulation (*o), fp);
 }
 
 static void bc_value_destroy (GtsObject * o)
@@ -757,7 +757,7 @@ static void inflow_constant_read (GtsObject ** o, GtsFile * fp)
   if (fp->type == GTS_ERROR)
     return;
 
-  gfs_function_read (un, fp);
+  gfs_function_read (un, gfs_box_domain (b->box), fp);
 
   v = gfs_variable_from_name (gfs_box_domain (b->box)->variables, "U");
   for (c = 0; c < FTT_DIMENSION; c++, v = v->next)
diff --git a/src/event.c b/src/event.c
index 813c04a..74a0821 100644
--- a/src/event.c
+++ b/src/event.c
@@ -474,7 +474,7 @@ static void gfs_init_read (GtsObject ** o, GtsFile * fp)
       gts_file_next_token (fp);
 
       f = gfs_function_new (gfs_function_class (), 0.);
-      gfs_function_read (f, fp);
+      gfs_function_read (f, gfs_object_simulation (*o), fp);
       if (fp->type == GTS_ERROR) {
 	gts_object_destroy (GTS_OBJECT (f));
 	return;
diff --git a/src/output.c b/src/output.c
index 4762422..a2fdc4a 100644
--- a/src/output.c
+++ b/src/output.c
@@ -1850,7 +1850,7 @@ static void output_error_norm_read (GtsObject ** o, GtsFile * fp)
 	return;
       }
       gts_file_next_token (fp);
-      gfs_function_read (n->s, fp);
+      gfs_function_read (n->s, gfs_object_simulation (*o), fp);
       if (fp->type == GTS_ERROR)
 	return;
     }
diff --git a/src/refine.c b/src/refine.c
index 8f63fbf..4eab428 100644
--- a/src/refine.c
+++ b/src/refine.c
@@ -84,7 +84,7 @@ static void gfs_refine_read (GtsObject ** o, GtsFile * fp)
   }
   gts_file_next_token (fp);
 
-  gfs_function_read (refine->maxlevel, fp);
+  gfs_function_read (refine->maxlevel, gfs_object_simulation (refine), fp);
   if (fp->type == GTS_ERROR)
     return;
 
diff --git a/src/source.c b/src/source.c
index 595f673..9c78f0a 100644
--- a/src/source.c
+++ b/src/source.c
@@ -275,8 +275,7 @@ static void source_read (GtsObject ** o, GtsFile * fp)
     return;
 
   GFS_SOURCE (*o)->intensity = gfs_function_new (gfs_function_class (), 0.);
-  gfs_object_simulation (GFS_SOURCE (*o)->intensity) = gfs_object_simulation (*o);
-  gfs_function_read (GFS_SOURCE (*o)->intensity, fp);
+  gfs_function_read (GFS_SOURCE (*o)->intensity, gfs_object_simulation (*o), fp);
 }
 
 static void source_write (GtsObject * o, FILE * fp)
@@ -865,8 +864,7 @@ static void gfs_source_coriolis_read (GtsObject ** o, GtsFile * fp)
     return;
 
   GFS_SOURCE_CORIOLIS (*o)->omegaz = gfs_function_new (gfs_function_class (), 0.);
-  gfs_object_simulation (GFS_SOURCE_CORIOLIS (*o)->omegaz) = gfs_object_simulation (*o);
-  gfs_function_read (GFS_SOURCE_CORIOLIS (*o)->omegaz, fp);
+  gfs_function_read (GFS_SOURCE_CORIOLIS (*o)->omegaz, gfs_object_simulation (*o), fp);
 
   v = GFS_SOURCE_GENERIC (*o)->v->next;
   for (c = 1; c < 2; c++, v = v->next) {
diff --git a/src/timestep.c b/src/timestep.c
index 10930d9..3996053 100644
--- a/src/timestep.c
+++ b/src/timestep.c
@@ -842,13 +842,11 @@ static void gfs_surface_bc_read (GtsObject ** o, GtsFile * fp)
     gts_file_next_token (fp);
   }
   else {
-    gfs_object_simulation (bc->type) = gfs_object_simulation (bc);
-    gfs_function_read (bc->type, fp);
+    gfs_function_read (bc->type, gfs_object_simulation (bc), fp);
     if (fp->type == GTS_ERROR)
       return;
   }
-  gfs_object_simulation (bc->val) = gfs_object_simulation (bc);
-  gfs_function_read (bc->val, fp);
+  gfs_function_read (bc->val, gfs_object_simulation (bc), fp);
 }
 
 static void gfs_surface_bc_write (GtsObject * o, FILE * fp)
diff --git a/src/utils.c b/src/utils.c
index 429fcb8..9c58876 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -324,17 +324,20 @@ gdouble gfs_function_face_value (GfsFunction * f, FttCellFace * fa,
 /**
  * gfs_function_read:
  * @f: a #GfsFunction.
+ * @domain: a #GfsDomain.
  * @fp: a #GtsFile.
  *
  * Calls the read() method of @f.
  */
-void gfs_function_read (GfsFunction * f, GtsFile * fp)
+void gfs_function_read (GfsFunction * f, gpointer domain, GtsFile * fp)
 {
   GtsObject * o = (GtsObject *) f;
 
   g_return_if_fail (f != NULL);
+  g_return_if_fail (domain != NULL);
   g_return_if_fail (fp != NULL);
 
+  GTS_OBJECT (f)->reserved = domain;
   (* GTS_OBJECT (f)->klass->read) (&o, fp);
 }
 
diff --git a/src/utils.h b/src/utils.h
index 8dcbdd8..d3f71c6 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -70,6 +70,7 @@ gdouble            gfs_function_value       (GfsFunction * f,
 					     FttVector * p,
 					     gdouble t);
 void               gfs_function_read        (GfsFunction * f, 
+					     gpointer domain,
 					     GtsFile * fp);
 void               gfs_function_write       (GfsFunction * f, 
 					     FILE * fp);

-- 
Gerris Flow Solver



More information about the debian-science-commits mailing list