Sunteți pe pagina 1din 3

Computational Fluid Dynamics Lecture 19

We will examine open boundary conditions of 5 types. 1. Constant advection with one way wave equation with c* = 2 and 3. 2. Zero gradient condition 3. Rayleigh damping region with: a. 10 grid points b. 20 grid points c. 100 grid points 4. Orlanski equation 5. Time averaged Orlanski method with a time average of 1s.

The test problem is Burgers equation on the intervals 0 < x < 10 with an open boundary at x x = L( ) = 10 and the reference exact solution is the same problem solved on the interval 0 < x < 30 . Burgers equation is u u 2u +u =v 2 t x x suggested initial conditions are
2 x u ( x, 0 ) = 2 + sin ( x ) L

on the interval 0 < x < L( x ) and u ( x, 0 ) = 2 for x > L( x ) . An appropriate small value of v should be determined by experimentation such that it is large enough that the propagating wave does not break during the simulation. The boundary condition at x = 0 is u ( 0, t ) = 2 + sin ( ct ) where we are considering a linear wave propagating into the domain
k Run the model for t < 10 . sin ( kx t ) , c =

,k=

2 , and use the average value of u for c, i.e., c = 2 . x L( )

Use AB3, second order central differences with relatively high resolution say Nx = 1001 on 0 < x < 10 , and a small Cfl number ~ 0.2 to minimize the error due to other numerical factors. After some experimentation, lets have the whole class use the same value of v. Plot the error, rms difference between the small domain and large domain solutions, as a function of time for 0 < t < 10 .

Also show plots of u ( x ) at t

2, 4, 6,8,10 on 0 < x < 10 for both solutions for each of the 8 cases.

(Extra credit if you make movies?) Discuss results. Does B.C. at x = 0 have an effect? For the Rayleigh damping solution, use an interval larger than 0 < x < 10, i.e., for 10 grid points use 0 < x < 10.1 and for 100 grid points use 0 < x < 11. The B.C. on L( x ) i.e., x = 10.1 or 11, is u L( x ) , t = 2. The easiest outflow boundary condition to implement numerically is the zero gradient condition.
n +1 With 1st order accuracy we simply put unx scheme. n +1 n +1 unx 1 after updating unx 1 with the standard explicit

This represents: n +1 u n +1 unx u 1 = 0, nx =0 x B x The second easiest method is to use Rayleigh damping a wave absorbing condition also called a sponge layer. The purpose is to absorb fluctuations gradually and relax the solution back towards a specified value. The accuracy of this method depends on how large of a region is used for the relaxation. This takes the form uin +1 = uin +1 i ( uin +1 uio ) , where uio is the target value (usually zero) but in our case uio = 2 is a better approximation.
The values of i are the damping coefficients and should vary gradually across the domain from weak damping at the beginning of the region to complete damping

by the outer boundary

Discrete values, using a Gaussian distribution, for example are

zi = Ae

zi2

with 0 < zi < 3.5 with A 1

x L( x ) i.e. let zi = i( 3.5 ) Lsw where Lsw is the sponge width. The two major disadvantages with the sponge layer are that it becomes computationally expensive in two or three dimensions and it has the property that longer waves are absorbed less efficiently than short waves.

S-ar putea să vă placă și