[SCM] Gerris Flow Solver branch, upstream, updated. b3aa46814a06c9cb2912790b23916ffb44f1f203
Stephane Popinet
popinet at users.sf.net
Fri May 15 02:56:10 UTC 2009
The following commit has been merged in the upstream branch:
commit 918f3bac85b86a00e83428952ca80fa3c56ccb59
Author: Stephane Popinet <popinet at users.sf.net>
Date: Fri Jan 16 08:01:46 2009 +1100
UNDO: New GfsBcValve BC for GfsRiver
darcs-hash:20090115210146-d4795-caddf9ce05446b12c1a2c9fa2caa7190a002322a.gz
diff --git a/src/init.c b/src/init.c
index c12200f..443e761 100644
--- a/src/init.c
+++ b/src/init.c
@@ -112,11 +112,10 @@ GtsObjectClass ** gfs_classes (void)
gfs_gedge_class (),
gfs_bc_dirichlet_class (),
+ gfs_bc_subcritical_class (),
gfs_bc_neumann_class (),
gfs_bc_navier_class (),
gfs_bc_flather_class (),
- gfs_bc_subcritical_class (),
- gfs_bc_valve_class (),
gfs_boundary_class (),
gfs_boundary_inflow_constant_class (),
diff --git a/src/river.c b/src/river.c
index 485f794..6306e2b 100644
--- a/src/river.c
+++ b/src/river.c
@@ -99,10 +99,6 @@ typedef struct {
static void face_fluxes (FttCellFace * face, GfsRiver * r)
{
- if (GFS_VALUE (face->cell, r->v1[0]) <= DRY &&
- GFS_VALUE (face->neighbor, r->v1[0]) <= DRY)
- return;
-
static Sym sym[4] = {
{U, 1., V, 1.},
{U, -1., V, -1.},
@@ -538,66 +534,3 @@ GfsBcClass * gfs_bc_subcritical_class (void)
return klass;
}
-
-/* GfsBcValve: Object */
-
-static void valve (FttCellFace * f, GfsBc * b)
-{
- gdouble un = (FTT_FACE_DIRECT (f) ? - 1. : 1.)*GFS_VALUE (f->neighbor, b->v);
- if (un > 0.) /* Valve opened (Neumann) */
- GFS_VALUE (f->cell, b->v) =
- GFS_VALUE (f->neighbor, b->v) +
- gfs_function_face_value (GFS_BC_VALUE (b)->val, f)
- *ftt_cell_size (f->cell);
- else /* Valve closed (Dirichlet 0) */
- GFS_VALUE (f->cell, b->v) = - GFS_VALUE (f->neighbor, b->v);
-}
-
-static void homogeneous_valve (FttCellFace * f, GfsBc * b)
-{
- gdouble un = (FTT_FACE_DIRECT (f) ? - 1. : 1.)*GFS_VALUE (f->neighbor, b->v);
- if (un > 0.) /* Valve opened (Neumann 0) */
- GFS_VALUE (f->cell, b->v) = GFS_VALUE (f->neighbor, b->v);
- else /* Valve closed (Dirichlet 0) */
- GFS_VALUE (f->cell, b->v) = - GFS_VALUE (f->neighbor, b->v);
-}
-
-static void face_valve (FttCellFace * f, GfsBc * b)
-{
- gdouble un = (FTT_FACE_DIRECT (f) ? - 1. : 1.)*GFS_VALUE (f->neighbor, b->v);
- if (un > 0.) /* Valve opened (Neumann) */
- GFS_STATE (f->cell)->f[f->d].v =
- GFS_VALUE (f->neighbor, b->v) +
- gfs_function_face_value (GFS_BC_VALUE (b)->val, f)
- *ftt_cell_size (f->cell)/2.;
- else /* Valve closed (Dirichlet 0) */
- GFS_STATE (f->cell)->f[f->d].v = 0.;
-}
-
-static void gfs_bc_valve_init (GfsBc * object)
-{
- object->bc = (FttFaceTraverseFunc) valve;
- object->homogeneous_bc = (FttFaceTraverseFunc) homogeneous_valve;
- object->face_bc = (FttFaceTraverseFunc) face_valve;
-}
-
-GfsBcClass * gfs_bc_valve_class (void)
-{
- static GfsBcClass * klass = NULL;
-
- if (klass == NULL) {
- GtsObjectClassInfo gfs_bc_valve_info = {
- "GfsBcValve",
- sizeof (GfsBcValue),
- sizeof (GfsBcClass),
- (GtsObjectClassInitFunc) NULL,
- (GtsObjectInitFunc) gfs_bc_valve_init,
- (GtsArgSetFunc) NULL,
- (GtsArgGetFunc) NULL
- };
- klass = gts_object_class_new (GTS_OBJECT_CLASS (gfs_bc_value_class ()),
- &gfs_bc_valve_info);
- }
-
- return klass;
-}
diff --git a/src/river.h b/src/river.h
index 026baf5..4106bdc 100644
--- a/src/river.h
+++ b/src/river.h
@@ -1,29 +1,3 @@
-/* Gerris - The GNU Flow Solver
- * Copyright (C) 2001-2009 National Institute of Water and Atmospheric Research
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
- * 02111-1307, USA.
- */
-
-#ifndef __RIVER_H__
-#define __RIVER_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
#include "variable.h"
/* GfsRiver: Header */
@@ -57,16 +31,5 @@ GfsSimulationClass * gfs_river_class (void);
#define GFS_IS_BC_SUBCRITICAL(obj) (gts_object_is_from_class (obj,\
gfs_bc_subcritical_class ()))
-GfsBcClass * gfs_bc_subcritical_class (void);
-/* GfsBcValve: Header */
-
-#define GFS_IS_BC_VALVE(obj) (gts_object_is_from_class (obj,\
- gfs_bc_valve_class ()))
-GfsBcClass * gfs_bc_valve_class (void);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif /* __RIVER_H__ */
+GfsBcClass * gfs_bc_subcritical_class (void);
--
Gerris Flow Solver
More information about the debian-science-commits
mailing list