From: Abner J. Salgado Date: Thu, 10 Sep 2009 20:22:36 +0000 (+0000) Subject: Documentation made X-Git-Tag: v8.0.0~7145 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=237a69409d656c6aca219c725cb79ea6f589176a;p=dealii.git Documentation made git-svn-id: https://svn.dealii.org/trunk@19428 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/examples/step-35/doc/intro.dox b/deal.II/examples/step-35/doc/intro.dox index 23cbe2b0ea..3750201e60 100644 --- a/deal.II/examples/step-35/doc/intro.dox +++ b/deal.II/examples/step-35/doc/intro.dox @@ -1,8 +1,126 @@ - This program grew out of a student project by Abner Salgado at Texas A&M University. Most of the work for this program is by him. + +This program grew out of a student project by Abner Salgado at Texas A&M University. Most of the work for +this program is by him.

Introduction

-The purpose of this program is to show how to effectively solve the incompressible time-dependent Navier-Stokes equations. -In previous tutorial programs (see for instance ****) we have seen how to solve the time-independent Stokes equations using a Schur-complement approach. However \ No newline at end of file + +

Motivation

+The purpose of this program is to show how to effectively solve the incompressible time-dependent +Navier-Stokes equations. These equations describe the flow of a viscous incompressible fluid and they read +@f{align*} + u_t + u \cdot \nabla u - \nu \Delta u + \nabla p = f, \\ + \nabla \cdot u = 0, +@f} +supplemented by the boundary condition $u=0$ Here $u$ represents the velocity of the flow and $p$ the pressure. + +In previous tutorial programs (see for instance step-20 and step-22) we have seen +how to solve the time-independent Stokes equations using a Schur-complement approach. For the +time-dependent case, after time discretization, we would arrive at a system like +@f{align*} + \frac1\tau u^k - \nu \Delta u^k + \nabla p^k = F^k, \\ + \nabla \cdot u^k = 0, +@f} +where $\tau$ is the time-step. Although the structure of this system is similar to the Stokes system and thus +it could be solved using a Schur-complement approach, it turns out that the condition number of the +Schur-complement is proportional to $\tau^{-2}$, which makes the system very difficult to solve. + + +

Projection Methods

+ +As we explained above, we need to come up with a different approach to solve the time-dependent Navier-Stokes +equations. The difficulty in their solution comes from the fact that the velocity and the pressure are coupled +through the constraint +@f[ + \nabla \cdot u = 0. +@f] +Projection methods aim at decoupling this constraint from the diffusion (Laplace) operator. + +Let us shortly describe how the projection methods look like in a semi-discrete setting. The objective is to +obtain a sequence of velocities $\{u^k\}$ and pressures $\{p^k\}$. We will also obtain a sequence $\{\phi^k\}.$ +Suppose that from the initial conditions, and an application of a first order method we have found +$(u^0,p^0,\phi^0=0)$ and $(u^1,p^1,\phi^1=p^1-p^0)$. Then the projection method consists of three steps: + + + +Without going into details, which can be found in the corresponding literature, let us remark a few things about the +projection methods that we have just described: + + + +

The Test Case

+ +The test case that we are going to carry out consist of the flow around a square obstacle. The geometry is +the following + +@image html geometry.gif + +with $H=4.1$. + +We impose no-slip boundary conditions on both the top and bottom walls and the obstacle. On the left side we +have the inflow boundary condition +@f[ + U = 4 U_m y (H-y)/H^2, \quad V = 0, +@f] +with $U_m = 1.5$, which corresponds to the Poiseuille flow for this configuration. Finally, on the right +vertical wall we impose the condition that the vertical component of the velocity should be zero. +The Reynolds number is $Re=100$ and the final time $T=10$. + + diff --git a/deal.II/examples/step-35/doc/results.dox b/deal.II/examples/step-35/doc/results.dox index f4c6feefb5..127518640b 100644 --- a/deal.II/examples/step-35/doc/results.dox +++ b/deal.II/examples/step-35/doc/results.dox @@ -1 +1,80 @@ +

Results

+ +We run the code with the following parameter-file.prm, which can be found in the +same directory as the source: +@verbatim + # First a global definition + # the type of method we want to use + set Method_Form = rotational + + subsection Physical data + # In this subsection we declare the physical data + # The initial and final time, and the Reynolds number + set initial_time = 0. + set final_time = 10. + set Reynolds = 100 + end + + subsection Time step data + # In this subsection we declare the data that is to be used for time discretization, + # i.e. the time step dt + set dt = 5e-3 + end + + subsection Space discretization + # In this subsection we declare the data that is relevant to the space discretization + # we set the number of global refines the triangulation must have + # and the degree k of the pair Q_(k+1)--Q_k of velocity--pressure finite element spaces + set n_of_refines = 3 + set pressure_fe_degree = 1 + end + + subsection Data solve velocity + # In this section we declare the parameters that are going to control the solution process + # for the velocity. + set max_iterations = 1000 # maximal number of iterations that GMRES must make + set eps = 1e-6 # stopping criterion + set Krylov_size = 30 # size of the Krylov subspace to be used in GMRES + set off_diagonals = 60 # number of off diagonals that ILU must compute + set diag_strength = 0.01 # diagonal strengthening value + set update_prec = 10 # this number indicates how often the preconditioner must be updated + end + + #The output frequency + set output = 5 + + #Finally we set the verbosity level + set verbose = false +@endverbatim + +Since the verbose parameter is set to false, we do not get any kind of output. +If we we were to set it to true we would get information on what the program is doing and +how many steps each iterative process had to make to converge, etc. + +A plot of the obtained results for $t=0,1,5,10$ is the following + +@image html visit0001.jpeg + +@image html visit0002.jpeg + +@image html visit0003.jpeg + +@image html visit0004.jpeg + +The contour lines correspond to the pressure, the color to the voriticity and the arrows to the velocity. +Here we only show a zoom into a region near the obstacle which is, after all, where the interesting things happen. + + +

Possible Extensions

+ +This program can be extended in the following directions: + diff --git a/deal.II/examples/step-35/doc/visit0001.jpeg b/deal.II/examples/step-35/doc/visit0001.jpeg new file mode 100644 index 0000000000..f48f91ee8b Binary files /dev/null and b/deal.II/examples/step-35/doc/visit0001.jpeg differ diff --git a/deal.II/examples/step-35/doc/visit0002.jpeg b/deal.II/examples/step-35/doc/visit0002.jpeg new file mode 100644 index 0000000000..a43b567ef0 Binary files /dev/null and b/deal.II/examples/step-35/doc/visit0002.jpeg differ diff --git a/deal.II/examples/step-35/doc/visit0003.jpeg b/deal.II/examples/step-35/doc/visit0003.jpeg new file mode 100644 index 0000000000..ebc98df18a Binary files /dev/null and b/deal.II/examples/step-35/doc/visit0003.jpeg differ diff --git a/deal.II/examples/step-35/doc/visit0004.jpeg b/deal.II/examples/step-35/doc/visit0004.jpeg new file mode 100644 index 0000000000..9ee104d089 Binary files /dev/null and b/deal.II/examples/step-35/doc/visit0004.jpeg differ