[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