CFD for heat and flow problems (4M050) Rob Bastiaans

Maat: px
Weergave met pagina beginnen:

Download "CFD for heat and flow problems (4M050) Rob Bastiaans"


1 CFD for heat and flow problems (4M050) Rob Bastiaans June 4, 2008

2 Chapter 1 Introduction to CFD 1.1 What is CFD? Computational fluid dynamics (CFD) 1 is one of the branches of fluid mechanics that uses numerical methods and algorithms to solve and analyze problems that involve fluid flows. Computers are used to perform the millions of calculations required to simulate the interaction of fluids and gases with the complex surfaces used in engineering. Even with simplified equations and high-speed supercomputers, only approximate solutions can be achieved in many cases. Ongoing research, however, may yield software that improves the accuracy and speed of complex simulation scenarios such as transonic or turbulent flows. Validation of such software is often performed using a wind tunnel. The fundamental basis of any CFD problem are the Navier-Stokes equations, which define any single-phase fluid flow. These equations can be simplified by removing terms describing viscosity to yield the Euler equations. Further simplification, by removing terms describing vorticity yields the full potential equations. Finally, these equations can be linearized to yield the linearized potential equations. 1.2 Potential of CFD It is possible to directly solve the Navier-Stokes equations for laminar flows and for turbulent flows when all of the relevant length scales can be resolved by the grid (a Direct numerical simulation). In general however, the range of length scales appropriate to the problem is larger than even today s massively parallel computers can model. In these cases, turbulent flow simulations require the introduction of a turbulence model. Large eddy simulations (LES) and the Reynolds-averaged Navier-Stokes equations (RANS) formulation, with the k-? model or the Reynolds stress model, are two techniques for dealing with these scales. In many instances, other equations are solved simultaneously with the Navier-Stokes equations. These other equations can include those describing species concentration (mass transfer), chemical reactions, heat transfer, etc. More advanced codes allow the simulation of more complex cases involving multi-phase flows (e.g. liquid/gas, solid/gas, liquid/solid), non-newtonian fluids (such as blood), or chemically reacting flows (such as combustion). 1.3 Turbulence models Turbulent flow produces fluid interaction at a large range of length scales. This problem means that it is required that for a turbulent flow regime calculations must attempt to take this into account by modifying the Navier-Stokes equations. Failure to do so may result in an unsteady 1 This text is partially taken from 1

3 simulation. When solving the turbulence model there exists a trade-off between accuracy and speed of computation Direct numerical simulation Direct numerical simulation (DNS) captures all of the relevant scales of turbulent motion, so no model is needed for the smallest scales. This approach is extremely expensive, if not intractable, for complex problems on modern computing machines, hence the need for models to represent the smallest scales of fluid motion Reynolds-averaged Navier-Stokes Reynolds-averaged Navier-Stokes equations (RANS) is the oldest approach to turbulence modeling. An ensemble version of the governing equations is solved, which introduces new apparent stresses known as Reynolds stresses. This adds a second order tensor of unknowns for which various models can provide different levels of closure. It is a common misconception that the RANS equations do not apply to flows with a time-varying mean flow because these equations are time-averaged. In fact, statistically unsteady (or non-stationary) flows can equally be treated. This is sometimes referred to as URANS. There is nothing inherent in Reynolds averaging to preclude this, but the turbulence models used to close the equations are valid only as long as the time scale of these changes in the mean is large compared to the time scales of the turbulent motion containing most of the energy. RANS models can be divided into two broad approaches: 1. Boussinesq hypothesis: This method involves using an algebraic equation for the Reynolds stresses which include determining the turbulent viscosity, and depending on the level of sophistication of the model, solving transport equations for determining the turbulent kinetic energy and dissipation. Models include k ε (Spalding), Mixing Length Model (Prandtl) and Zero Equation (Chen). The models available in this approach are often referred to by the number of transport equations they include, for example the Mixing Length model is a Zero Equation model because no transport equations are solved, and the k ε on the other hand is a Two Equation model because two transport equations are solved. 2. Reynolds stress model (RSM): This approach attempts to actually solve transport equations for the Reynolds stresses. This means introduction of several transport equations for all the Reynolds stresses and hence this approach is much more costly in CPU effort Large eddy simulation Large eddy simulations (LES) is a technique in which the smaller eddies are filtered and are modeled using a sub-grid scale model, while the larger energy carrying eddies are simulated. This method generally requires a more refined mesh than a RANS model, but a far coarser mesh than a DNS solution. 1.4 Discretization The most fundamental consideration in CFD is how one treats a continuous fluid in a discretized fashion on a computer. One method is to discretize the spatial domain into small cells to form a volume mesh or grid, and then apply a suitable algorithm to solve the equations of motion (Euler equations for inviscid, and Navier-Stokes equations for viscous flow). In addition, such a mesh can be either irregular (for instance consisting of triangles in 2D, or pyramidal solids in 3D) or regular; the distinguishing characteristic of the former is that each cell must be stored separately in memory. Where shocks or discontinuities are present, high resolution schemes such as Total Variation Diminishing (TVD), Flux Corrected Transport (FCT), Essentially NonOscillatory (ENO), or MUSCL schemes are needed to avoid spurious oscillations (Gibbs phenomenon) in the solution. 2

4 The stability of the chosen discretization is generally established numerically rather than analytically as with simple linear problems. Special care must also be taken to ensure that the discretization handles discontinuous solutions gracefully. The Euler equations and Navier-Stokes equations both admit shocks, and contact surfaces. Some of the discretization methods being used are: Finite volume method (FVM). This is the classical or standard approach used most often in commercial software and research codes. The governing equations are solved on discrete control volumes. FVM recasts the PDE s (Partial Differential Equations) of the N-S equation in the conservative form and then discretize this equation. This guarantees the conservation of fluxes through a particular control volume. Though the overall solution will be conservative in nature there is no guarantee that it is the actual solution. Moreover this method is sensitive to distorted elements which can prevent convergence if such elements are in critical flow regions. This integration approach yields a method that is inherently conservative (i.e. quantities such as density remain physically meaningful): t Q dv + F da = 0, (1.1) Where Q is the vector of conserved variables, F is the vector of fluxes (see Euler equations or Navier-Stokes equations), V is the cell volume, and A is the cell surface area. Finite element method (FEM). This method is popular for structural analysis of solids, but is also applicable to fluids. The FEM formulation requires, however, special care to ensure a conservative solution. The FEM formulation has been adapted for use with the Navier-Stokes equations. Although in FEM conservation has to be taken care of, it is much more stable than the FVM approach. Subsequently it is the new direction in which CFD is moving. Generally stability/robustness of the solution is better in FEM though for some cases it might take more memory than FVM methods. In this method, a weighted residual equation is formed: R i = W i Q dv e (1.2) where R i is the equation residual at an element vertex i, Q is the conservation equation expressed on an element basis, W i is the weight factor and Ve is the volume of the element. Finite difference method. This method has historical importance and is simple to program. It is currently only used in few specialized codes. Modern finite difference codes make use of an embedded boundary for handling complex geometries making these codes highly efficient and accurate. Other ways to handle geometries are using overlapping-grids, where the solution is interpolated across each grid. Q t + F x + G y + H z = 0 (1.3) Where Q is the vector of conserved variables, and F, G, and H are the fluxes in the x, y, and z directions respectively. Boundary element method. The boundary occupied by the fluid is divided into surface mesh. High-resolution schemes are used where shocks or discontinuities are present. To capture sharp changes in the solution requires the use of second or higher order numerical schemes that do not introduce spurious oscillations. This usually necessitates the application of flux limiters to ensure that the solution is total variation diminishing. 3

5 1.5 CFD with COMSOL COMSOL is a finite element package for solving typical fluid and solid mechanical problems. Formerly it was called FEMLAB and initially it was build on the basis of MATLAB. With COMSOL it is possible to solve predefined systems of equations, but also user defined partial differential equations (PDE s) can be incorporated. By solving a set of PDE s governing multiple physics, also multi-physics problems can be solved, either predefined or user defined. Geometries can be defined in 1D, 2D and 2D axisymmetric mode and also in 3D. However in 3D it is difficult to obtain computational solutions due to grid limitations (computer-capacity). Moreover in many cases fundamental insights can be gained in one or two dimensions. Because COMSOL works in a quite intuitive way it is an easy package to solve CFD problems when there is no experience with CFD at all. 1.6 Problems to be solved In this course we will look at several problems of different nature and difficulty. First we will start with convection-diffusion equations. We will treat these kind of problems in MATLAB as well as in COMSOL. The MATLAB exercise is a good way of getting some understanding of discretization, the programming of discretized problems and the associated accuracy. The convection-diffusion will also be considered for a problem involving conduction in two materials. After treating convection-diffusion we will have a look at a problem with a wave-equation and then with a non-linear convection-diffusion problem: The Burgers-equation. After these 1D problems we will turn over to 2D systems. First we will have a look at stationary laminar flow; the development length in a piper flow, then unsteady laminar flows; the von Kármán vortex street. After this we will look at turbulent mixing with a RANS turbulence model. We end with an assignment in which an unsteady natural convection problem has to be solved and a compressible flow around an airfoil. 1.7 Literature on CFD CFD-Wiki Page J.H. Ferziger and M. Peric, Computational Methods for Fluid Dynamics. Springer, C. Hirsch, Numerical Computation of Internal and External Flows. Vol. I and II. John Wiley & Sons, Chichester, P. Wesseling, Principles of Computational Fluid Dynamics. Springer, C. Cuvelier, A. Segal and A. A. van Steenhoven, Finite Element Methods and Navier-Stokes Equations. Kluwer,

6 Chapter 2 Numerical solution of convection-diffusion equations We study a one-dimensional convection-diffusion equation of the form: c t + v c x = D 2 c x 2, (2.1) where c is the unknown quantity, t the time, x the spatial coordinate and v and D are constants. As domain for the solution we take : t > 0 and 0 < x < 1. In order to find a unique solution we need additional conditions at the boundaries of this domain. As boundary conditions at x = 0 and x = 1 we take Dirichlet conditions. That means that the solution is given there at all times: c(0, t) = A and c(1, t) = B. Moreover we need an initial condition: c(x, 0) = f(x) with f a given function. Depending on the application this equation describes convection and diffusion of matter with c denoting the concentration of a substance, or convection and diffusion of heat with c denoting temperature. We are in search of a numerical solution method for this equation. To this end we define a set of discrete values of x and t where we want to find the solution. Let s say that we divide the spatial domain in N uniform intervals, by x = x for = 1,..., N + 1. What is in this case the distance between two grid points, x? As discrete time steps we use: t n = n t for n = 0, 1,.... The solution in a discrete point c(x, t n ) is denoted by c n. In this problem there is a difference between the two coordinates: the spatial coordinate is bounded on both sides, where a boundary condition is given. On the other hand the time goes to infinity and only one initial solution is given. Sometimes the name evolution equation is given to an equation of this type. It indicates that the solution changes (evolves) in time. The solution method reflects this asymmetry between space and time. We start by making a spatial discretization of the equation. Let s denote by c (t) the solution at grid point x as a function of time. We have to find a set of ordinary differential equations, one for each c (t). Since c 1 (t) and c N+1 (t) are known we need N 1 equations for N 1 unknowns. In order to find an expression for dc /dt we need to find approximations for the spatial derivatives c x and 2 c x in grid 2 point x. These approximations can be found from a Taylor series expansion of c +p around c : and c +1 = c(x + x) = c(x ) + x c 1 = c(x x) = c(x ) x ( ) c + 1 ( 2 ) c x 2 ( x)2 x ( ) c + 1 ( 2 ) c x 2 ( x)2 x If we subtract these two expressions, we find as an approximation for the first derivative in grid 5

7 point x : ( ) c x c +1 c 1. 2 x Since the two points used in the approximation are on both sides of grid points x this method is used central differencing. In a similar way it can be shown that ( 2 ) c x 2 c +1 2c + c 1 ( x) 2. By taking more terms in the Taylor series into account it is easy to show that the errors made in this approximation is second order in x. That means that if twice as many grid points are used the error is reduced by a factor of 4. This discretization method leads to a set of ordinary differential equations for c : dc dt = v c +1 c 1 + D c +1 2c + c 1 2 x ( x) 2 (2.2) for = 2, 3,..., N. Together with the two boundary conditions they form indeed a closed system of differential equations. Next we turn to the numerical solution of this set of ordinary differential equations. The most simple method also considers a Taylor series, but now in time. There holds: c (t n+1 ) = c (t n + t) = c (t n ) + t dc dt (t n) +..., but we know an approximation for dc /dt and substitute the right-hand side of (2.2) at time level t n : c n+1 = c n v t cn +1 cn 1 2 x + D t cn +1 2cn + cn 1 ( x) 2. (2.3) If we start at time level t 0 = 0 the solution is known for all x through the initial condition and (2.3) can be applied in all grid points, since the right-hand side is completely known. So that means that c 1 is known for all and we can start with the new time step. This time-stepping method is known as Euler-forward. Since only known terms appear on the right-hand side of (2.3) it is called an explicit method. A schematic matlab program to solve (2.1) in this way looks like: % first the parameters are defined: N=... dx=1/n; dt=... v=... D=... A=... B=... Nsteps=... x=0:dx:1; % next the initial solution: c(:,1)=f(x); time=0; plot(x,c(:,1)) pause(0.1) 6

8 % then the time stepping starts: for step=1:nsteps end c(2:n,step+1)=c(2:n,step)-v*... c(1,step+1)=a; c(n+1,step+1)=b; time=time+dt; plot(x,c(:,step+1)) pause(0.1) Exercise A Make this program EulerF1.m in matlab for A = 1, B = 0 and f(x) = exp( 10x 2 ). Calculate the solution for v = D = 1. At the end of the program the solution is stored in the two dimensional array c(1 : N + 1, 1 : Nsteps + 1). If a fine grid is used and many time steps this takes a lot of memory. Memory can be saved by storing only two one-dimensional arrays c(1 : N + 1) and c old (1 : N + 1), because in the time integration only time levels N + 1 and N are required, as result and input respectively. Exercise B Make a program EulerF2.m using only the two solutions c(1 : N + 1) and c old (1 : N + 1). Show with this program that a stable solution can only be obtained if the time step t is small enough. For stability it must hold that t < α( x) p for some integer p and a constant α which depends on v and D. Determine p by varying x and finding (by trial and error) the maximum possible time step. Take for example x = 1/10 and 1/20. This stability problem is exactly the main drawback of this Euler-forward method. By changing the Taylor series by expanding around the solution at the new time level, it can be shown that c (t n ) = c (t n+1 t) = c (t n+1 ) t dc dt (t n+1) +..., which leads to: c n+1 = c n v cn+1 +1 cn x t + D cn cn+1 + c n+1 1 ( x) 2 t. (2.4) This method is called Euler-backward and it is stable for all values of the time step, but it is an implicit method, since most of the terms at the right-hand side are at the new time level and thus unknown. If we move all terms at the new time level to the left-hand side, we end up with a system of equations of the form: a + c n a 0c n+1 + a c n+1 1 = cn for = 2, 3,..., N together with the boundary conditions c n+1 1 = A and c n+1 N+1 = B. The coefficients a +, a 0 and a are constants which can easily be found from (2.4). This system of equations can be written as a matrix-vector equation of the form Mc = r, 7

9 where c is a vector containing the unknown solution at the new time level, r is the known righthand side and M is a matrix. To see this we write the equations as: c n+1 1 = A a c n+1 1 +a 0 c n+1 2 +a + c n+1 3 = c n 2 a c n+1 2 +a 0 c n+1 3 +a + c n+1 4 = c n 3... a c n+1 N 1 +a 0 c n+1 N +a + c n+1 N+1 = c n N c n+1 N+1 = B. The matrix has only three non-zero elements on each row. If in a matlab program the matrix is filled and the right-hand side, the solution is easy to obtain using c=m\r. Note that the matrix does not depend on the solution. So we only have to fill it at the start of the program. Exercise C Make a program EulerB.m in matlab which solves the convection-diffusion equation with the Euler backward method and show that this program is stable for all values of the time step t. Although a stable solution is obtained the solution at large values of the time step is not accurate. The accuracy of the method can be improved by a combination of the Euler-forward and Euler backward method. This method is called Crank-Nicolson and it is given by: c (t n+1 ) = c (t n ) + 1 ( 2 t dc dt (t n+1) + dc ) dt (t n). It can be implemented in the same way as the Euler-backward method. The matrix changes only by a factor 1 2 in some places, and the right-hand side becomes more complicated. Exercise D Write a matlab program CN.m that solves (2.1) with the Crank-Nicolson method. Show that the method is stable for all values of the time step. Compare the solutions for v = 1 and v = 1 (take D = 1 in both cases) and explain the differences. Compare the solutions for D = 1 en D = 0.01 for both v = 1 and v = 1 and explain the differences. Investigate the accuracy of the result for D = 0.01 by changing the number of grid points. Change the program in such a way that only the stationary solution (for t ) is calculated and compare this solution with the analytical solution. The analytical solution of the stationary problem can be found in the following way. It satisfies the equation: D d2 c dx 2 = v dc dx = 0 and boundary conditions c(0) = 1 and c(1) = 0. In order to solve this problem we define y = dc dx. Substitution in the differential equation gives: dy dx = v D y 8

10 with solution y(x) = C 1 e vx/d, where C 1 is a constant. Integration with respect to x gives c(x) = DC 1 v evx/d + C 2 with C 2 another constant. The two constants can be found from the boundary conditions. The final solution is then given by: c(x) = ev/d e vx/d. e v/d 1 9

11 Chapter 3 Exercises I; One-dimensional problems in COMSOL Deze week lossen we enkele eendimensionale problemen op met behulp van COMSOL. 1. Eendimensionale convectie-diffusievergeliking Begin met het probleem van vorige week. Omdat Femlab de op te lossen variabele u noemt, zullen we dat hier ook doen: u t + v u x = D 2 u x 2, met v = 1 en D = 1. Het domein is 0 < x < 1 en t > 0. Als beginvoorwaarden nemen we en als randvoorwaarden en u(x, 0) = exp( 10x 2 ) u(0, t) = 1 u(1, t) = 0. Op het standaardrooster kun e al een nauwkeurige oplossing vinden. Neem nu D = 0.01 en pas het rooster zo aan (ook met lokale verfining) dat de oplossing nauwkeurig is. Vergelik de eindoplossing (voor heel grote t hangt de oplossing niet meer van de tid af) met de analytische oplossing. 2. Twee materialen Vervolgens bekiken we een 1D time-dependent heat transfer probleem in een staaf die uit twee verschillende materialen bestaat: koper voor 0 < x < 0.1 en izer voor 0.1 < x < 0.2. Neem als randvoorwaarden T = 0 op x = 0 en T = 10(1 exp( t/2)) op x = 0.2. Verder is de beginvoorwaarde T = 0 en neem geen warmtebron. Kies de tid met stappen van 2 tot t = 100. Bereken de oplossing en verklaar wat e ziet op het grensvlak van de twee materialen. Wat is de uiste randvoorwaarde op het grenspunt? Verklaar deze fysisch. Bereken ook de eindoplossing (voor t ) door de uiste randvoorwaarde op x = 0.2 te nemen en de stationaire oplossing te berekenen en vergelik deze met de analytische oplossing. 3. Eendimensionale golfvergeliking We bekiken de 1D wave equation. Neem als domein 5 < x < 5 met als randvoorwaarden u = 0 op x = 5 en op x = 5. Neem verder d a = c = 1 en f = 0 in de vergeliking en als beginvoorwaarde u = exp( 2x 2 ) en u t = 0. Bereken de oplossing met stapes van 0.5 tot t=20. Vergelik deze oplossing met die waarbi u/ x = 0 op x = 5. 10

12 4. Golven in twee materialen We bekiken de 1D wave equation in twee materialen: Kies in 0 < x < 10: d a = c = 1 en f = 0 en in 10 < x < 20: d a = 1, c = 4 en f = 0. Neem randvoorwaarden u = sin(t) op x = 0 en u = 0 op x = 20 en beginvoorwaarden gelik aan 0. Kies tidstappen van 0.5 en bekik wat er gebeurt met de golven op het grensvlak. Wat is de randvoorwaarde daar? Verklaar de resultaten. 5. Burgersvergeliking Tenslotte bestuderen we de niet-lineaire convectie-diffusievergeliking u t + u u x = ν 2 u x 2 op het domein 0 < x < 1 met u(0, t) = 1, u(1, t) = 1 en u(x, 0) = cos(πx). Onderzoek hoe de oplossing van ν afhangt (ν = 1, ν = 0.1, ν = 0.01, ν = 0.001). Gebruik hierbi zonodig (lokale) roosterverfining. Verklaar de resultaten. 11

13 Chapter 4 Exercises II; Navier-Stokes equations 1. Intreelengte bi pip- en kanaalstroming In deze opdracht bekiken we wat de intreelengte is bi Poiseuillestroming. We doen dit voor stroming in een kanaal en in een pip. Gebruik voor kanaalstroming onder 2D Chemical Engineering, Cartesian coordinates, Momentum balance, Navier-Stokes. Definieer als domein een rechthoek met voldoende lengte. De boven- en onderrand zin no-slip wanden, op de uitstroomrand is de druk voorgeschreven en op de instroomrand de snelheid in de stroomrichting. Gebruik een constante instroomsnelheid die zo groot is dat het Reynoldsgetal gebaseerd op de snelheid, de hoogte van het kanaal en de eigenschappen van water gelik is aan een waarde tussen 10 en 100. Laat eerst zien dat de oplossing van de vergeliking alleen van het Reynoldsgetal afhangt als de oplossing op de uiste manier geschaald is. Neem hiertoe twee verschillende waarden voor de kanaalhoogte en instroomsnelheid die wel hetzelfde Reynoldsgetal opleveren. Bereken vervolgens de oplossing bi een bepaalde waarde van Re en onderzoek hoe deze oplossing afhangt van het rekenrooster. Werk in de rest van de opgave met een rekenrooster dat een voldoende nauwkeurige oplossing geeft. In het begin van het kanaal verandert de uniforme beginsnelheid geleidelik in een Poiseuilleprofiel. Bedenk zelf een definitie voor intreelengte die een kwantitatief resultaat geeft en onderzoek hoe de intreelengte afhangt van Re voor 10 < Re < 100. Controleer dat de snelheid na de intreelengte goed overeen komt met een Poiseuilleprofiel. Vergelik de gevonden afhankelikheid met literatuur. Doe tenslotte hetzelfde voor pipstroming. Dit kan in de 2D axial symmetric versie van FEMLAB. De lin x = 0 is nu een symmetrierand en de stroomrichting moet de y-richting zin. 2. Stroming rond een cilinder De stroming rond een cilinder kent verschillende regimes, afhankelik van het Reynoldsgetal. Zoek dit na in de literatuur. In deze opdracht gaan we een aantal van de laminaire regimes met femlab simuleren. Gebruik hiervoor de module transient incompressible Navier-Stokes onder Fluid Dynamics. Definieer de cilinder als een cirkel met diameter 0.1 meter en zet die in een kanaal met breedte 0.4 meter. Kies de instroomrand niet te ver voor de cirkel en de uitstroomrand voldoende ver om te kunnen bestuderen wat er achter de cirkel gebeurt, bivoorbeeld van 0.2 meter voor tot 2 meter na het middelpunt van de cirkel. Leg op de instroomrand een Poiseuilleprofiel voor de snelheid op en schrif op de uistroomrand de druk voor. Varieer het Reynoldsgetal door de viscositeit te veranderen. Begin bi het kleinste Reynoldsgetal dat e wilt bestuderen en gebruik steeds de oplossing van de laatst berekende als startoplossing om rekentid te besparen. De rekentid van dit probleem is namelik groot. 12

14 Het rekenrooster moet voor dit probleem erg fin zin. Kies bi mesh parameters daartoe 0.05 voor Max. edge size, general, 1.2 voor mesh growth rate en 0.2 voor mesh curvature factor. Bi lage Reynoldsgetallen is de stroming stationair en kan als stationair probleem opgelost worden. Voor grotere Reynoldsgetallen is de stroming nog wel laminar maar tidafhankelik. Om de berekening sneller te laten lopen kun e bi solver parameters in het veld voor absolut tolerance: u 1e-4 v 1e-4 p inf invullen. Onderzoek hoe de frequentie van de oplossing afhangt van het Reynoldsgetal en vergelik dit met literatuur. 13

15 Chapter 5 Exercises III: Turbulent flows 1. Een et We bekiken eerst de stroming in een turbulente et. Als geometrie nemen we een rechthoek waarbi een deel van één zide de instroomopening van de et is. Vanwege de tweede opdracht kiezen we binnen Multiphysics het Chem: k-epsilon model en Chem: convection and diffusion. Gebruik Draw Line om de geometrie te definiëren. Klik dan de punten (0,0), (0.005,0), (0.15,0), (0.15,0.2) en (0,0.2) aan en tenslotte de rechtermuis. De y-as gebruiken we als symmetrielin. De gehele geometrie is eigenlik tweemaal zo groot, maar omdat de oplossing symmetrisch is, hoeven we maar de helft te berekenen. Kies onder de knop Multiphysics het k-epsilon model. De randvoorwaarden zin op de instroomrand: u = 0, v = 1, k = 0.01 u 2 + v 2 + 1e 6 en d = u 2 + v 2 + 1e 6. De rest van de onderkant is een vast wand met Logarithmic wall function met h als layer thickness. De linkerrand is symmetrierand en de bovenrand heeft als uitstroomrand p = 0. Voor de rechterrand bekiken we twee verschillende situaties: een vaste wand, net als de onderrand, en een vrie rand die als Neutral gemodelleerd kan worden. Nu wordt het model ingevoerd. Neem ρ = 1, ν = 1/20000 en F = 0. Om de berekening stabiel te houden moet artifiële diffusie gebruikt worden in de vergelikingen voor de turbulente grootheden. Vul hiervoor in: h 2 en 0.5h 2. Dit zin de waarden die gebruikt worden in de vier vergelikingen (voor u, v, k en d met k de turbulente kinetische energie en d de dissipatie, h is de typische roosterafstand). Kies δ = 0.5h. Vervolgens wordt het rooster aangemaakt. Er komt alleen een zinnige oplossing uit als het rooster geschikt gekozen wordt. Kies bi Mesh parameters 0.01 als Maximum edge size, general en 1.1 als Mesh growth rate. Klik op More en vul in bi Max element size for edges (dit betekent dat edge als maximale mesh grootte heeft, dit is de symmetrierand) en 2 5 als Number of elements per edge (rand 2 is de instroomrand). Druk op Remesh en OK. Als alles goed is gegaan heeft het rooster 995 nodes en 1868 elements. Kies bi solver parameters 0.65 als relaxation parameter en klik op Log u,v,p,k,e values en kies als Logged coordinate bivoorbeeld Dat betekent dat na iedere iteratiestap de waarden in dat punt naar het scherm worden geschreven. Op die manier kan de convergentie enigszins bekeken worden. Het berekenen van de oplossing duurt lang. Bewaar deze oplossingen dan ook goed. Je hebt ze later nog nodig. Save het.mat file. Zo kan het later nog gebruikt worden. Vergelik de oplossingen voor beide randvoorwaarden met elkaar. Beschrif en verklaar de verschillen. Kik bivoorbeeld naar stroomlinen, vectorplaates van de snelheid en v als functie van x op verschillende waarden van y. Bekik ook de turbulente grootheden k en d en de eddy viscosity. In welke gebieden is de eddy viscosity groot ten opzichte van de kinematische viscositeit? 2. Diffusie in een et Nu gaan we met de al berekende oplossingen van de turbulente stroming berekenen hoe 14

16 twee stoffen zich mengen. Laad eerst het gewenste.mat file en klik onder Multiphysics op Convection and diffusion. Nu kunnen de randvoorwaarden en modelconstanten voor het convectie-diffusiemodel ingevoerd worden. Zorg bi Solver parameters ervoor dat alleen het convectio-diffusion model wordt opgelost en gebruik de berekende waarden van de snelheid en dergelike door op de restartknop te drukken. We nemen aan dat de ene helft van de instroomopening (die met x > 0) uit stof 1 bestaat en de andere helft (waarin we niet de stroming berekend hebben) uit stof 2. Dit kan gemodelleerd worden door c = 1 te kiezen op de instroomrand en c = 1/2 op de symmetrierand. Als in de oplossing c = 1 betekent dat nu dus dat in dat punt alleen stof 1 zit, c = 0 betekent alleen stof 2, en een andere waarde duidt op een mengsel. Bedenk zelf de uiste randvoorwaarden op de overige randen. Kies bi subdomain settings u = u en v = v als convectiecoëfficiënten. De stof beweegt dan met de stroming mee. Klik Streamline diffusion aan om de berekening stabiel te houden. Voor de diffusieconstante kunnen verschillende mogelikheden genomen worden. Bivoorbeeld geen diffusie (D i = 0), constante diffusie (D i = ν) of turbulente diffusie. Bi deze laatste mogelikheid wordt aangenomen dat de diffusiviteit evenredig is met de turbulente viscositeit: D i = α0.09k 2 /d. Vergelik de oplossing voor deze verschillende gevallen. Wat is het effect van verschillende waarden voor α, bivoorbeeld 0.1, 1 en 10? Wat is het verschil tussen de verschillende randvoorwaarden voor de stroming? Vergelik bivoorbeeld concentratieprofielen als functie van x bi vaste y. 15

17 Chapter 6 Assignment: Compressible flows and natural convection 6.1 Euler equations We berekenen de stroming rond de doorsnede van een vliegtuigvleugel. Kies onder Chemical Engineering, Cartesian, Momentum Balance, Compressible Euler, Stationary. Maak eerst een vleugel. Bivoorbeeld: draw arc en klik achtereenvolgens op (-1,0), (-1,0.2) en (-0.5,0.2), draw cubic Bezier curve en klik achtereenvolgens op (-0.5,0.2), (0,0.2), (0.7,0.1) en (1,0) en dan op de rechterknop van de muis. Herhaal dit met negatieve y-waarden en voeg de twee stukken samen. Schaal met factor 1/2 in beide richtingen en transleer over (0.5,0). Nu heb e een geschikte vorm van een vleugel, maar e mag ook zelf een vorm bedenken. Neem dan in ieder geval een scherpe achterrand. Kies als buitenrand een rechthoek met 1 < x < 4 en 2 < y < 2. Definieer constanten Machin=0.8, rhoin=1, pin=1, alpha=0, uin=machin*sqrt(1.4*pin/rhoin)*cos(alpha*pi/180) en vin=machin*sqrt(1.4*pin/rhoin)*sin(alpha*pi/180). Dit zin het Machgetal van de inkomende stroming, de dichtheid en druk ver van de vleugel, de invalshoek (in graden) en de snelheidscomponenten ver van de vleugel. Machin en alpha kunnen veranderd worden. Randvoorwaarden: op een subsone instroomrand moeten ρ, u en v voorgeschreven worden, op een supersone instroomrand alle variabelen, op een subsone uitstroomrand alleen de druk, en op een supersone uitstroomrand niets. Op de vleugel geldt de slipvorwaarde. Vergelikingen: Kies η a = 0.01 voor artificiële diffusie. Laat de rest ongewizigd. Kies als beginvoorwaarden de oplossing ver van de vleugel. Bereken de oplossing voor verschillende combinaties van Machin en alpha. Bereken met name de liftkracht en weerstandskracht. Deze vind e door p*nx en p*ny te integreren over de linen die de vleugel definiëren. Bedenk dat de weerstandskracht niet in de x-richting staat en de liftkracht niet in de y-richting, maar evenwidig en loodrecht op de inkomende stroming. Gebruik mesh adaption om de oplossingen te verbeteren. Neem 3000 als maximum number of elements, meshinit als refinement method en L2 norm als Error norm. Teken bi vaste Machin de liftkracht en weerstandkracht als functie van alpha. 6.2 Natural convection Als laatste probleem bekiken we natuurlike convectie in een vierkant. Kies binnen Multiphysics Incompressible Navier-Stokes en heat transfer. Het domein is een vierkant van 0.01 meter lengte gevuld met water (zoek alle benodigde eigenschappen ervan op). Op de wanden is de snelheid gelik aan nul. Zwaartekracht staat in de negatieve y-richting. De linkerwand heeft temperatuur 283 K en de rechterwand 303 K. De andere wanden zin geïsoleerd. Om het warmteprobleem 16

18 aan het snelheidsprobleem te koppelen moeten krachten aan de vergelikingen toegevoegd worden: een convectieve term aan het warmteprobleem: Q = ρc(u T x + v T y), waarbi T x en T y afgeleiden van de temperatuur naar x en y voorstellen, en een term in Navier-Stokes die het effect van de variabele massadichtheid in rekening brengt: F y = αρg(t T 0), met T 0 = 293K een referentietemperatuur en α de kubieke uitzettingscoëfficiënt. Kies een maximum mesh size van en neem een tidstap van 0.5 tot t = 10. Neem als beginoplossing T = 293K en u = v = 0. Gebruik voor de tidintegratie ode23s. Beschrif en verklaar de resultaten. Zoek op wat voor dit probleem de relevante dimensieloze parameter is en onderzoek hoe de oplossing verandert bi verandering van deze parameter. Wat gebeurt er als de temperatuur van de boven- en onderwand verschillend genomen wordt? Het is vri eenvoudig om een systeem van geforceerde convectie dimensieloos te maken. In de vergeliking is dan de enige parameter het Reynoldsgetal en problemen zin dan equivalent als de geometrie gelik is en het Reynoldsgetal. Voor complexere problemen, zoals bi natuurlike convectie is dit iets lastiger. In de bilage staat hoe e dit kunt doen voor het bovenstaande probleem. Er zin dan twee dimensieloze getallen van belang, het Rayleigh getal en het Prandtl getal. Het is aardig om het probleem zowel in dimensieloze als in dimensievolle grootheden op te lossen. Omdat het geschaalde probleem vaak met getallen werkt die in de orde van 1 liggen is het geschaalde probleem vaak nauwkeuriger op te lossen met behulp van een computer. Je zou dit kunnen checken. 17

19 Chapter 7 Appendix I: Dimensieloos maken van een buoyancy probleem De Navier Stokes vergelikingen met dichtheidsverschillen zien er als volgt uit, u i x i = 0 (7.1) u i t + u u i = 1 p g ρ δ i3 + ν 2 u i x ρ 0 x i ρ 0 In deze vergelikingen is aangenomen dat de dichtheidsverschillen er alleen toe doen in combinatie met de zwaartekracht g. Buiten deze term wordt verondersteld dat de dichtheidsverschillen klein zin. We behouden hier dus in essentie de incompressibele vergelikingen. Deze aanname wordt ook wel de Boussinesq approximatie genoemd (naar Joseph Valentin Boussinesq, Frans wiskundige en fysicus, ). Er kan nu echter een achtergrondimpuls van de vergeliking worden afgetrokken. Dit is het gedeelte wat geassocieerd is met de hydrostatische druk. Daardoor veranderd feitelik de druk van betekenis; de nieuwe druk is verdisconteerd met de hydrostatische druk. We hebben dan 1 p + g = 0, (7.3) ρ 0 z met oplossing p h = p 0 + ρ 0 gz, waarbi z dan van beneden naar boven loopt. p = p p h, levert dan en de vergeliking wordt dan x 2 i (7.2) Introductie van 1 ρ 0 p x i = 1 ρ 0 (p + p h ) x i = 1 ρ 0 p x i + gδ i3 (7.4) u i t + u u i = 1 p g ρ ρ 0 δ i3 + ν 2 u i x ρ 0 x i ρ 0 x 2 i Met behulp van de thermische expansie coefficient α, α = 1 ( ) V = 1 ( ) ρ, (7.6) V T p ρ T p en aannemende dat de druk slechts weinig veranderd kunnen we nu schriven (7.5) ρ 0 ρ ρ 0 = ρ ρ 0 ρ 0 = α(t T 0 ). (7.7) Verder wordt er voor α ook vaak β geschreven en is de volumetrische uitzettingcoefficient van lucht (als ideaal gas) bi een bepaalde temperatuur T gelik aan α = β = 1/T. Dit geldt niet voor 18

20 vloeistoffen. We houden het hier algemeen en schriven β voor de volumetrische uitzettingscoefficient. Verder is er natuurlik ook een temperatuurvergeliking, T t + u T = κ 2 T, (7.8) x met κ = λ/(ρc p ). Als we hieruit een snelheidsschaal halen op basis van een balans van convectie en diffusie en de karakteristieke lengte L, x 2 i U = κ L (7.9) Dit geeft ons dan ook een tidschaal τ = L/U = L 2 /κ. Op basis hiervan kunnen we de vergeliking dimensieloos maken. Dit gebeurt door het invullen van u = Uu, x = Lx, t = τt, T T 0 = T T en p = ρ 0 U 2 p. We nemen dus ook aan dat er een typisch temperatuurverschil T aanwezig is. Op deze manier krigen we, u i t + u u i x = U 2 L p x i + L U 2 gβ T T δ i3 + ν 2 u i UL x 2 i, (7.10) wat dan geschreven kan worden als u i t + u u i x = p x i + RaP rt δ i3 + P r 2 u i, (7.11) x 2 i met behulp van het getal van Prandtl, P r, P r = ν κ (7.12) en het getal van Rayleigh, Ra, gβ T L3 Ra =. (7.13) νκ Het getal van Rayleigh is genoemd naar John William Strutt, 3rd Baron Rayleigh, Engels fysicus, en het Prandtl getal is genoemd naar Ludwig Prandtl, Duits fysicus, Ook hier geldt weer het gelikvormigheidsprincipe: Als van een stroming Ra en P r gelik zin en zoals altid, de geometrie gelikvormig is, dan is de oplossing gelik. Merk op dat P r een stofeigenschap is en Ra een eigenschap is die met de aandriving van de stroming te maken heeft. Hoe hoger het Rayleigh getal, hoe harder de convectieve stroming. Bi een hoog Rayleigh getal wordt de stroming turbulent. Verder moet de temperatuurvergeliking dan ook nog dimesieloos gemaakt worden. Dit resulteert in T κ T L 2 t + T κ L 2 u T x = T κ 2 T L 2 x 2, (7.14) i ofwel T t + u T x = 2 T x 2. (7.15) i Dimensieloos maken van de massabehoudsvergeliking is triviaal. Het totale systeem is nu dus gegeven door de dimensieloze variant van massabehoud, vgl. (??), impulsbehoud, vgl. (??) en energiebehoud, vgl. (??), gesupplementeeerd met het Rayleigh getal, Ra en het getal van Prandtl, P r. Vaak wordt ook het Grashof (naar Franz Grashof, Duits ingenieur, ) getal gebruikt, Gr = Ra/P r. 19