Documente Academic
Documente Profesional
Documente Cultură
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=
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 .
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
zi = Ae
zi2
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.