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

Stephane Popinet popinet at users.sourceforge.net
Fri May 15 02:51:16 UTC 2009


The following commit has been merged in the upstream branch:
commit 9709e47d2b2c49c290eff8b16bbdc73b59498daa
Author: Stephane Popinet <popinet at users.sourceforge.net>
Date:   Thu Oct 21 12:51:33 2004 +1000

    Automatically adds PS and Div variables to ocean model (gerris--mainline--0.7--patch-5)
    
    gerris--mainline--0.7--patch-5
    Keywords:
    
    Using a overloading of the read() method of GfsOcean.
    
    darcs-hash:20041021025133-aabb8-cfaf624584b01e6a5984aad399ad840fbf87d7ea.gz

diff --git a/src/ocean.c b/src/ocean.c
index 04dd125..2054a5e 100644
--- a/src/ocean.c
+++ b/src/ocean.c
@@ -27,7 +27,7 @@
 
 /* GfsOcean: Object */
 
-static void gfs_ocean_destroy (GtsObject * object)
+static void ocean_destroy (GtsObject * object)
 {
   guint i;
   GPtrArray * layer = GFS_OCEAN (object)->layer;
@@ -43,6 +43,16 @@ static void gfs_ocean_destroy (GtsObject * object)
   (* GTS_OBJECT_CLASS (gfs_ocean_class ())->parent_class->destroy) (object);  
 }
 
+static void ocean_read (GtsObject ** object, GtsFile * fp)
+{
+  (* GTS_OBJECT_CLASS (gfs_ocean_class ())->parent_class->read) (object, fp);
+  if (fp->type == GTS_ERROR)
+    return;
+
+  gfs_domain_add_variable (GFS_DOMAIN (*object), "PS");
+  gfs_domain_add_variable (GFS_DOMAIN (*object), "Div");
+}
+
 static void new_layer (GfsOcean * ocean)
 {
   GfsDomain * domain = GFS_DOMAIN (ocean);
@@ -450,7 +460,8 @@ static void ocean_run (GfsSimulation * sim)
 
 static void gfs_ocean_class_init (GfsSimulationClass * klass)
 {
-  GTS_OBJECT_CLASS (klass)->destroy = gfs_ocean_destroy;
+  GTS_OBJECT_CLASS (klass)->destroy = ocean_destroy;
+  GTS_OBJECT_CLASS (klass)->read = ocean_read;
   GFS_DOMAIN_CLASS (klass)->post_read = ocean_post_read;
   klass->run = ocean_run;
 }
diff --git a/test/ocean/geo.sh b/test/ocean/geo.sh
index ba1eeef..aefe40c 100644
--- a/test/ocean/geo.sh
+++ b/test/ocean/geo.sh
@@ -4,7 +4,7 @@ param=`mktemp /tmp/geo.XXXXXX`
 error=`mktemp /tmp/geo.XXXXXX`
 
 cat <<EOF > $param
-1 0 GfsOcean GfsBox GfsGEdge { variables = PS,Div } {
+1 0 GfsOcean GfsBox GfsGEdge {} {
  # dt = 1000 s
  Time { iend = 1580 dtmax = 0.10285 }
  Refine 6
@@ -50,7 +50,7 @@ END{
 fi
 
 cat <<EOF > $param
-1 0 GfsOcean GfsBox GfsGEdge { variables = PS,Div } {
+1 0 GfsOcean GfsBox GfsGEdge {} {
  # dt = 1000 s
  Time { iend = 1580 dtmax = 0.10285 }
  Refine 6
diff --git a/test/ocean/waves.sh b/test/ocean/waves.sh
index 096fd73..5d20a3c 100644
--- a/test/ocean/waves.sh
+++ b/test/ocean/waves.sh
@@ -8,7 +8,7 @@ wave=`mktemp /tmp/wave.XXXXXX`
 res=`mktemp /tmp/wave.XXXXXX`
 for l in `seq 5 1 7`; do
   cat <<EOF > $wave
-1 0 GfsOcean GfsBox GfsGEdge { variables = Div,PS } {
+1 0 GfsOcean GfsBox GfsGEdge {} {
  Time { end = 37.80501984 dtmax = 0.1 }
  PhysicalParams { g = 5.87060327757e-3 }
  Init {} {

-- 
Gerris Flow Solver



More information about the debian-science-commits mailing list