next up previous
Next: Flow over a clump: Up: IBIS examples: Previous: Forced flow in a

Forced flow through small pores:

In this example, the tube from the previous simulation is capped at the two ends of the domain and filled with several objects. The objects will not allow flow through themselves, and thus they create a pore space for the flow.

The flow is driven by the existence of a set of sources on the right edge of the domain and sinks on the left edge of the domain. This mimicks the case where there is a forced flow entering the domain on the right and leaving on the left.

The IBIS file that creates the simulation in this case is:

domain 0.0 2.0 0.0 1.0
grid 6 0.0000165 1000
visual -h 256 -w 512 -n 50 -p binary -b bryo -y
graph -n 100 -p line -b bryol
#
#  fluid properties and background force
#
fluid -m 1.0 -r 1.0 
bforce -x 500.0 -b 0.1 -t 0.9
particle -d 4 
source -n 14
#
#  reset default springs for lines and links
#
spring l -b 100000.0 -s 40000000. -t 10000000.
spring L -s 40000000.
#
#  bottom wall
#
line 0.0 0.1 2.0 0.1 -N 1
line 0.0 0.08 2.0 0.08 -N 2
blink 1 2
#
#  top wall
#
line 0.0 0.9 2.0 0.9 -N 3
line 0.0 0.92 2.0 0.92 -N 4
blink 3 4
#
#  left wall
#
line 0.1 0.1 0.1 0.9 -N 5
line 0.12 0.1 0.12 0.9 -N 6
blink 5 6
#
#  right wall
#
line 1.9 0.1 1.9 0.9  -N 7
line 1.88 0.1 1.88 0.9 -N 8
blink 7 8
#
# rock #1
#
polygon -N 9
 first 0.25 0.1
 bcurv f 5 -n 100
   0.50 1.00
   0.75 1.25
   1.25 1.00
   1.25 0.50
   1.00 0.10
 end
polygon -N 11
 first 0.27 0.1
 bcurv f 5 -n 100
   0.51 1.00
   0.76 1.22
   1.24 0.97
   1.24 0.48
   0.98 0.10
 end
blink 10 11

In this simulation, the flow is driven by a line of sources along the left edge of the domain, and the added fluid is removed by a line of sinks along the right edge of the domain. and no sources or sinks of fluid. Therefore, the standard udefine.f must be modified to run the simulation.

c
c--------------------------------------------------------------
c
      subroutine getsrc (xsourc,ysourc,src,ntsrc)
c
c  user routine that specifies the sources
c
      include 'parm.inc'
      include 'domain.inc'
c
c  global variables
c
      integer ntsrc
      double precision xsourc(nsrc),ysourc(nsrc),src(nsrc)
c
c  local variables
c
      integer it
c
c  specify the location (xsourc,ysourc) and strength
c  of a source (src) here.
c
      ntsrc = 14
 
      do it = 1, 7
        xsourc(2*it-1) = 0.2d0
        ysourc(2*it-1) = 0.05d0 + (0.1d0*dble(it))
        src(2*it-1)    = 1.0d0
        xsourc(2*it)   = 1.8d0
        ysourc(2*it)   = 0.05d0 + (0.1d0*dble(it))
        src(2*it)      = -1.0d0
      enddo
c
      return
      end

A graph of nearly steady flow for this simulation and an animation of the simulation are shown in the next figures.


next up previous
Next: Flow over a clump: Up: IBIS examples: Previous: Forced flow in a
David Eyre
6/19/1998