93
Pós Graduação em Engenharia Mecânica PROGRAMA FRANCISCO EDUARDO MOURÃO SABOYA DE PÓS-GRADUAÇÃO EM ENGENHARIA MECÂNICA ESCOLA DE ENGENHARIA UNIVERSIDADE FEDERAL FLUMINENSE Doctoral Thesis SOLUTION OF THE INCOMPRESSIBLE NAVIER-STOKES EQUATIONS BY PROJECTION METHODS USING THE INTEGRAL TRANSFORM TECHNIQUE DANIEL JOSÉ NAHID MANSUR CHALHUB MARCH 2015

solution of the incompressible navier-stokes equations by projection

Embed Size (px)

Citation preview

Page 1: solution of the incompressible navier-stokes equations by projection

Pós Graduação em Engenharia Mecânica

PROGRAMA FRANCISCO EDUARDO MOURÃO SABOYA DEPÓS-GRADUAÇÃO EM ENGENHARIA MECÂNICAESCOLA DE ENGENHARIAUNIVERSIDADE FEDERAL FLUMINENSE

Doctoral Thesis

SOLUTION OF THE INCOMPRESSIBLE

NAVIER-STOKES EQUATIONS BY

PROJECTION METHODS USING THE

INTEGRAL TRANSFORM TECHNIQUE

DANIEL JOSÉ NAHID MANSUR CHALHUB

MARCH 2015

Page 2: solution of the incompressible navier-stokes equations by projection

DANIEL JOSÉ NAHID MANSUR CHALHUB

SOLUTION OF THE INCOMPRESSIBLENAVIER-STOKES EQUATIONS BY

PROJECTION METHODS USING THEINTEGRAL TRANSFORM TECHNIQUE

Doctoral Thesis presented to the FranciscoEduardo Mourão Saboya Mechanical Engi-neering Graduate Program of the FederalFluminense University (UFF) as a partial re-quirement to obtain the degree of Doctor inSciences in Mechanical Engineering.

Advisors: Leandro Alcoforado Sphaier, Ph.D.Leonardo Santos de Brito Alves, Ph.D.

Universidade Federal FluminenseNiterói, March 9, 2015

Page 3: solution of the incompressible navier-stokes equations by projection

SOLUTION OF THE INCOMPRESSIBLENAVIER-STOKES EQUATIONS BY

PROJECTION METHODS USING THEINTEGRAL TRANSFORM TECHNIQUE

This Thesis is a partial requirement to obtain the degree of

DOCTOR IN MECHANICAL ENGINEERING

Field of concentration: Thermosciences

Thesis approved by Examining Committee formed by the Professors:

Leandro Alcoforado Sphaier, Ph.D (Advisor)Universidade Federal Fluminense – PGMEC/UFF

Leonardo Santos de Brito Alves, Ph.D (Advisor)Universidade Federal Fluminense – PGMEC/UFF

Luiz Eduardo Bittencourt Sampaio, D.ScUniversidade Federal Fluminense – PGMEC/UFF

Maria Laura Martins-Costa, D.ScUniversidade Federal Fluminense – PGMEC/UFF

Luiz Claudio Gomes Pimentel, D.ScUniversidade Federal do Rio de Janeiro – COPPE/UFRJ

Renato Machado Cotta, Ph.DUniversidade Federal do Rio de Janeiro – COPPE/UFRJ

Page 4: solution of the incompressible navier-stokes equations by projection

SOLUTION OF THE INCOMPRESSIBLENAVIER-STOKES EQUATIONS BY

PROJECTION METHODS USING THEINTEGRAL TRANSFORM TECHNIQUE

Esta Tese é parte dos pré-requisitos para a obtenção do título de

DOUTOR EM ENGENHARIA MECÂNICA

Área de concentração: Termociências

Aprovada em sua forma final pela Banca Examinadora formada pelosprofessores:

Leandro Alcoforado Sphaier, Ph.D (Advisor)Universidade Federal Fluminense – PGMEC/UFF

Leonardo Santos de Brito Alves, Ph.D (Advisor)Universidade Federal Fluminense – PGMEC/UFF

Luiz Eduardo Bittencourt Sampaio, D.ScUniversidade Federal Fluminense – PGMEC/UFF

Maria Laura Martins-Costa, D.ScUniversidade Federal Fluminense – PGMEC/UFF

Luiz Claudio Gomes Pimentel, D.ScUniversidade Federal do Rio de Janeiro – COPPE/UFRJ

Renato Machado Cotta, Ph.DUniversidade Federal do Rio de Janeiro – COPPE/UFRJ

Page 5: solution of the incompressible navier-stokes equations by projection

Abstract

The present work developed a novel numerical method for solving the unsteady

incompressible Navier-Stokes equations with primitive variables in two dimensions that

can be easily extendable to three dimensions. The methodology is based on Projection

Methods using a mixed approach through the Classical Integral Transform Technique

(CITT). Knowing that the main bottleneck of the classical pressure-correction approach

is the solution of the pressure Poisson equation (PPE), this work proposes a different

approach using the classic Projection Method for advancing in time the Navier-Stokes

equations and CITT to find pressure dependence on the discrete velocity field in a semi-

analytical manner, using the previous time-step pressure field as a filter. For comparison

purposes, the Finite Volume Method (FVM) was also used, where the PPE was solved

with a Gauss-Seidel iterative procedure. Two variations of the method were proposed:

Single Transformation (CITT-ST) and Double Transformation (CITT-DT).

Initially the solution of the PPE using the semi-analytical proposed approach was

accomplished. A verification analysis was performed and showed that the spatial dis-

cretization order matched the expected value of 2 in both x and y directions and CITT

had a very high performance, converging with very low truncation orders. Preliminary

computational CPU time results revealed that CITT-DT was not the best choice for

this propose due to poor computational performance compared to CITT-ST.

The solution of the incompressible Navier-Stokes equations were computed in two

classic test cases: Lid-Driven Cavity and Backward-Facing Step flows. The obtained

results were compared with the literature showing a very good agreement. Both sim-

ulated test cases showed very similar behavior in the results: For very coarse meshes

CITT-ST and FVM had similar performances but for more refined meshes the former

had a dramatically better performance than the latter. For all cases CITT-ST without

filter scheme had the worst performance. The results showed that, although more in-

vestigations are needed, CITT-ST using pressure as filter has a great potential of being

a good substitute for the methodologies currently used for solving the PPE.

v

Page 6: solution of the incompressible navier-stokes equations by projection

Resumo

No presente trabalho foi desenvolvido um novo método numérico para resolver as

equações de Navier-Stokes incompressíveis (N-S) transiente com variáveis primitivas em

duas dimensões que pode ser facilmente extensível a três dimensões. A metodologia é

baseada em Métodos de Projeção e utiliza uma abordagem mista através da Técnica da

Transformada Integral Clássica (CITT). Sabendo-se que o principal gargalo da abor-

dagem de pressão de correção clássica é a solução da equação de Poisson para pressão

(PPE), este trabalho propõe uma abordagem diferente, utilizando o Método da Projeção

clássico para o avanço no tempo de N-S e CITT para encontrar dependência da pressão

sobre o campo de velocidades discretas de uma forma semi-analítica, usando o campo

de pressão do passo de tempo anterior como um filtro. Para efeito de comparação, o

método dos volumes finitos (FVM) também foi utilizado, onde a PPE foi resolvida pelo

método de Gauss-Seidel. Foram propostos duas variações do método: Transformação

Simples (CITT-ST) e Transformação Dupla (CITT-DT).

Inicialmente a solução da PPE utilizando a abordagem proposta foi realizada. A

análise de verificação foi realizada e mostrou que a ordem de discretização espacial cor-

respondeu ao valor esperado de 2 em ambos direções x e y e CITT teve um desempenho

muito elevado, convergindo com ordens muito baixas de truncamento. Resultados de

custos computacionais preliminares revelaram que CITT-DT não foi a melhor escolha

para este objetivo devido ao mau desempenho em comparação com CITT-ST.

A solução de N-S foram computadas para dois casos: Problema da Cavidade e es-

coamento em um degrau. Os resultados obtidos foram comparados com a literatura

que mostrou uma boa concordância. Ambos os casos simulados apresentaram compor-

tamento muito semelhante nos resultados: Para malhas muito grossas CITT-ST e FVM

apresentaram desempenhos semelhantes, mas para malhas mais refinadas, o primeiro

obteve um desempenho muito melhor do que o segundo. Para todos os casos, CITT-ST

sem filtro apresentou o pior desempenho. Os resultados mostraram que, embora sejam

necessários mais investigações, CITT-ST com filtro tem um grande potencial de ser um

bom substituto para as metodologias atualmente utilizadas para a resolução da PPE.

vi

Page 7: solution of the incompressible navier-stokes equations by projection

Contents

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi

Nomenclature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1 Pressure-Based Methods Overview . . . . . . . . . . . . . . . . . . . . . 2

1.2 Integral Transform Technique Overview . . . . . . . . . . . . . . . . . . 4

1.3 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.5 Thesis Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2. Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.1 Pressure Poisson Equation . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3. Incompressible Navier-Stokes Numerical Solution . . . . . . . . . . . . . . . . 17

3.1 Staggered Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2 Time Marching Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2.1 Explicit Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.2.2 Implicit Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2.3 Projection Method . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.2.3.1 Helmholtz-Hodge decomposition . . . . . . . . . . . . . 21

3.2.3.2 Classical Projection Method . . . . . . . . . . . . . . . 21

4. Solution of the Pressure Poisson Equation . . . . . . . . . . . . . . . . . . . . 27

4.1 Filtering Scheme for Integral Transformation . . . . . . . . . . . . . . . 28

4.2 Source Term Discretization . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.3 Classical Integral Transform Technique: Double Transformation . . . . . 30

4.3.1 Equation transformation for n > 0 and m > 0 . . . . . . . . . . . 33

4.3.2 Equation transformation for n = 0 and m > 0 . . . . . . . . . . . 33

vii

Page 8: solution of the incompressible navier-stokes equations by projection

4.3.3 Equation transformation for n > 0 and m = 0 . . . . . . . . . . . 34

4.3.4 Recovery of the original pressure field . . . . . . . . . . . . . . . 34

4.3.5 Integration of discrete fields . . . . . . . . . . . . . . . . . . . . . 35

4.4 Classical Integral Transform Technique: Single Transformation . . . . . 36

4.4.1 Equation transformation for m > 0 . . . . . . . . . . . . . . . . . 38

4.4.2 Equation transformation for m = 0 . . . . . . . . . . . . . . . . 38

4.4.3 Recovery of the original pressure field . . . . . . . . . . . . . . . 40

4.4.4 Integration of the discrete fields . . . . . . . . . . . . . . . . . . . 40

4.5 Finite Volume Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5. Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.1 Poisson Equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.1.1 Convergence Analysis . . . . . . . . . . . . . . . . . . . . . . . . 44

5.1.2 Computational Time Analysis . . . . . . . . . . . . . . . . . . . . 48

5.2 Incompressible Navier-Stokes Test Cases . . . . . . . . . . . . . . . . . . 48

5.2.1 Lid-Driven Cavity . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.2.2 Backward-Facing Step . . . . . . . . . . . . . . . . . . . . . . . . 61

5.3 Mass Conservation Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 69

6. Summary and Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

viii

Page 9: solution of the incompressible navier-stokes equations by projection

List of Figures

3.1 Discretized two dimensional cartesian domain using a staggered grid . . 18

5.1 Solution of the pressure Poisson equation using the proposed source term. 44

5.2 Single Transformation: Maximum absolute error vs. ∆x for ∆y =

1/1000, plotted together with the theoretical second order curve. . . . . 45

5.3 Double Transformation: Maximum absolute error vs. ∆x for ∆y =

1/1000, plotted together with the theoretical second order curve. . . . . 46

5.4 Single Transformation: Maximum absolute error vs. ∆y for ∆x =

1/1000, plotted together with the theoretical second order curve. . . . . 46

5.5 Double Transformation: Maximum absolute error vs. ∆y for ∆x =

1/1000, plotted together with the theoretical second order curve. . . . . 47

5.6 Comparison of the computational time of CITT using single transforma-

tion and CITT using double transformation. . . . . . . . . . . . . . . . . 49

5.7 Comparison of the computational time of CITT using single transforma-

tion and CITT using double transformation to achieve an absolute error

of 10−6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.8 Geometry of the lid-driven cavity flow [1]. . . . . . . . . . . . . . . . . . 51

5.9 Streamlines of the flow inside the lid-driven cavity simulated by CITT

using single transformation with filter scheme and with imax = jmax = 80. 54

5.10 Lid-Driven Cavity: Profile of streamwise velocity at the midplane of the

cavity (x = 0.5L and y = 0.5L) for Re = 100: Comparison of the present

results with the work of Ghia et al. [2]. . . . . . . . . . . . . . . . . . . 55

5.11 Lid-Driven Cavity: Profile of streamwise velocity at the midplane of the

cavity (x = 0.5L and y = 0.5L) for Re = 400: Comparison of the present

results with the work of Ghia et al. [2]. . . . . . . . . . . . . . . . . . . 56

5.12 Lid-Driven Cavity: Plots showing the CPU time consumed for each time-

step until the steady state for Re = 1, different meshes and methodolo-

gies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

ix

Page 10: solution of the incompressible navier-stokes equations by projection

5.13 Lid-Driven Cavity: Plots showing the CPU time consumed for each time-

step until the steady state for Re = 100, different meshes and method-

ologies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.14 Lid-Driven Cavity: Plots showing the CPU time consumed for each time-

step until the steady state for Re = 400, different meshes and method-

ologies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.15 Lid-Driven Cavity: Total computational time consumed to achieve steady

state. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.16 Geometry of the backward-facing step flow [1]. . . . . . . . . . . . . . . 61

5.17 Streamlines of the flow inside the backward facing step geometry sim-

ulated by CITT using single transformation with filter scheme, with

jmax = 80 (∆x = ∆y) and for vinlet = 0. . . . . . . . . . . . . . . . . . . 63

5.18 Backward-Facing Step: Reattachment length as function of Reynolds

number: Comparison of the present results with the work of Biswas et al.

[3]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.19 Backward-Facing Step: Plots showing the CPU time consumed for each

time-step until the steady state for Re = 1, different meshes and method-

ologies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.20 Backward-Facing Step: Plots showing the CPU time consumed for each

time-step until the steady state for Re = 10, different meshes and method-

ologies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

5.21 Backward-Facing Step: Plots showing the CPU time consumed for each

time-step until the steady state for Re = 50, different meshes and method-

ologies. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.22 Backward-Facing Step: Total computational time consumed to achieve

steady state. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

x

Page 11: solution of the incompressible navier-stokes equations by projection

List of Tables

3.1 Indices used for each dimension and for the Classical Integral Transform

Technique (CITT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5.1 Absolute error calculated for ∆y = 1000−1 and ∆x = 1000−1, for many

nmax (Single Transformation) and kmax (Double Transformation). . . . . 47

xi

Page 12: solution of the incompressible navier-stokes equations by projection

Nomenclature

n Normal exterior vector

x Position vector x = (x, y, z)

t Time

L Domain dimension in x-direction

H Domain dimension in y-direction

ρ Fluid density

µ Dynamic viscosity

ν Kinematic viscosity

Re Reynolds number

Ma Mach number

v Velocity vector v = (u, v, w)

v Projection method intermediate velocity vector v = (u, v, w)

f Body force vector in acceleration dimensions f = (fx, fy, fz)

p Pressure

Q General source term for the pressure Poisson equation

BW Pressure Poisson equation Neumann boundary conditions for x = 0

BE Pressure Poisson equation Neumann boundary conditions for x = L

BS Pressure Poisson equation Neumann boundary conditions for y = 0

BN Pressure Poisson equation Neumann boundary conditions for y = H

n, m, k Indices for CITT

mmax, Truncation order for CITT Single Transformation

kmax Truncation order for CITT Double Transformation

i, q, p Indices for the position in mesh for x-direction

j, r, s Indices for the position in mesh for y-direction

imax Maximum mesh divisions in x-direction

xii

Page 13: solution of the incompressible navier-stokes equations by projection

jmax Maximum mesh divisions in y-direction

∆x Cell dimensions in x-direction

∆y Cell dimensions in y-direction

l Index for the time step

Xn Eigenfunctions for the CITT solution in x-direction

Ym Eigenfunctions for the CITT solution in y-direction

λn Eigenvalues for the CITT solution in x-direction

βm Eigenvalues for the CITT solution in y-direction

Nxn Norms of the eigenvalue problem in x-directions

Nym Norms of the eigenvalue problem in y-directions

K1, K2 Dummy integration variables

c1, c2 Integration constants

V Domain volume

∂V Domain surface

Λ General function

ε Absolute error

( )∗ Filtered quantity

¯( ) Transformed quantity for CITT Single Transformation

¯( ) Transformed quantity for CITT Double Transformation

xiii

Page 14: solution of the incompressible navier-stokes equations by projection

Chapter 1

Introduction

Incompressible flows are an approximation of flows that the material derivative of the

density is approximately zero,1 in other words, the fluid density is considered constant.

The majority of the fluid and associated flow we find in our daily lives belong to the

incompressible category. For example, most of the flow associated with air, water and

biological flows (such as blood) are all in the incompressible flow domain. For pure

ideal gases this approximation is translated in flows with low velocities compared to the

speed of sound in the gas (Ma� 1) and low temperature differences.

The major difficulty for the numerical simulation of incompressible flows is that the

velocity and pressure are coupled by the incompressibility constraint. To overcome this

difficulty in time dependent viscous incompressible flows, fractional step methods, which

are also referred in the literature as Projection Methods, were developed. Projection

Methods can be classified into three classes [4], namely pressure-correction methods [5],

velocity-correction methods [6], and consistent splitting methods [7]. The most attrac-

tive feature of Projection Methods is that, at each time step, one only needs to solve

a sequence of decoupled elliptic equations for velocity and pressure, making it very ef-

ficient for large scale numerical simulations. Although Projection Methods are widely

used, many authors have already drawn attention to the fact that the decomposition

used in this method is intrinsically second order accurate [4, 8].

Pressure-correction schemes are time-marching techniques composed of two sub-

1 DρDt = dρ

dt + v · ∇ρ ≈ 0

1

Page 15: solution of the incompressible navier-stokes equations by projection

steps for each time step: the pressure is treated explicitly or ignored in the first sub-step

then is corrected in the second one. The linear momentum equations play the major

role in determining the velocity components. Thus, it is left to the continuity equation

to determine pressure, even if this variable does not appear explicitly in this equation.

The most common methodology to determine an equation for the pressure-correction is

to combine both equations by taking the divergence of the momentum equations and

substituting the continuity equation where necessary, effectively generating a Poisson

type equation for the pressure. This makes it possible to obtain an equation for the

pressure-correction, using the continuity equation.

The major computational time associated with this procedure is the solution of the

Poisson equation at each step, which consumes large amounts of computer time. One

reason for this is that the convergence rate of iterative methods that are commonly used

for this purpose, such as the Jacobi and Gauss-Seidel, rapidly decreases as the mesh is

refined [9].

On the other hand, in the realm of analytical methods, the Integral Transform Tech-

nique [10] has been playing a big role. It deals with expansions of the sought solution in

terms of infinite orthogonal basis of eigenfunctions, keeping the solution process always

within a continuous domain. The resulting system is generally composed of a set of un-

coupled differential equations which can be solved analytically. However, a truncation

error is involved since the infinite series must be truncated to obtain numerical results.

This error decreases as the number of summation terms (truncation order) is increased,

and the solution converges to a final value. Due to the series representation nature of

the Integral Transform Technique, the estimated error can be easily obtained, which

results in better global error control of the solution. The disadvantage associated with

this approach is the need for more elaborate analytical manipulation. This effort can

be greatly minimized with the use of symbolical computation [11].

1.1 Pressure-Based Methods Overview

Pressure based methods solve an equation for pressure obtained by combining two

or more conservation equations. In the literature there are particular terminologies

to designate each method, for example, Fractional Steps Methods [1, 12], Projection

2

Page 16: solution of the incompressible navier-stokes equations by projection

Methods [13] and Pressure or Velocity-Correction Methods [14].

All these methods were developed following studies of Harlow andWelch [15], Chorin

[13], and Temam [16]. Since its inception, this class of methods has been thoroughly

studied in the literature over the past decades, several methods have been developed

using spatial discretization based on Finite Differences [13, 17], Finite Elements [18, 19],

and Finite Volumes [20–22].

In the method of Chorin [13], an incomplete form of the linear momentum equation

is solved at each time step, generating an approximate velocity field that does not satisfy

mass conservation. Then, a correction is applied to produce a divergence free velocity

field. The correction for the velocity field is an orthogonal projection in the sense that it

projects the velocity field on the previous time-step divergence free velocity field. This

step is called projection pitch and the method that uses this approach is known as a

Projection Method. Projection Methods eliminates the traditional pressure gradient of

the momentum equations.

The Pressure-Correction Method is similar to a traditional Projection Method, but

the pressure gradient term is kept in the momentum equations. In recent decades, the

Pressure-Correction Method has been widely studied in conjunction with the Finite

Volume Method for spatial discretization. Semi-Implicit Method for Pressure Linked

Equations (SIMPLE) [23] is one of the most widespread pressure-correction methods in

the literature. Almost a decade after SIMPLE, Karkari and Patankar [20] developed the

Semi-Implicit Method for Pressure Linked Equations Revised (SIMPLER), an extension

of SIMPLE applicable to compressible flows at various speeds.

In 2003, Munz et al. [8] drew attention to the first-order temporal accuracy limi-

tation of the SIMPLE class methods and proposed a fix for the method by employing

multiple variables for pressure, making it more efficient to simulate flows with low values

of Mach number. Similar adaptations have already been proposed by other researchers

[24] which proposed an algorithm for the simulation of unsteady viscous stratified com-

pressible flows, having the advantage to deal with a broad range of subsonic Mach

numbers, including nearly incompressible flows, with a single modelling, based on the

fully compressible Navier-Stokes equations. Roller and Munz [25] proposed a semi-

implicit predictor-corrector algorithm. In the predictor step, the asymptotic equations

3

Page 17: solution of the incompressible navier-stokes equations by projection

are used to guess the global and large scale effects. Then the corrector step can be

viewed as an incompressible solver with compressibility effects acting as source terms.

In 1982, a Pressure-Correction Method with fractional steps was derived using the

Finite Element Method [18]. This technique was developed in order to significantly

reduce the computational time in unsteady viscous incompressible flows. Years later,

using the Finite Differences, Kan [26] developed a method with second order accuracy

in time.

A typical derivation of the Fractional Step Method for the numerical solution of

the incompressible Navier-Stokes can follow two distinct paths. On one hand, one can

discretize time first and then discretize the space. When one adopts this approach, there

is a controversy about which boundary conditions are imposed at each step. In many

Projection Methods, only the normal component of the velocity boundary condition is

imposed on the incompressibility step [27]. This fact, along with the need to impose

a boundary condition for the non-physical pressure, can produce numerical error near

the wall [28]. On the other hand, when the space discretization is performed prior

to time discretization in fractional steps, the boundary conditions must be established

beforehand. Procedures of this type, however, result in loss of generality.

An important feature of Fractional Step Methods is the order of the overall system

in relation to time discretization. Many methods are first-order [29], although some

second order methods [1, 30] have also been developed.

Since it was proposed, Fractional Step Methods grew in popularity due to its com-

putational efficiency, the possibility of subdividing a complex problem in simpler ones,

ease of computational implementation and also the use of more appropriate solution

techniques, considering the elliptic, parabolic or hyperbolic features of Navier-Stokes

equations. Some review papers [31, 32] show a summary of the major developments of

the last decade on the pressure-based methods.

1.2 Integral Transform Technique Overview

The initial ideas [33] that led to the creation of the Classical Integral Transform

Technique (CITT), according to Cotta [34], were introduced by Koshlyakov [35] in

1936. Grimnberg [36], in 1948, made progress of the theory by applying it to magnetic

4

Page 18: solution of the incompressible navier-stokes equations by projection

and electrical problems. After a few decades, the authors Ozisik [37] and Tranter [38]

already conceived the idea of the integral transformation.

According to Özişik and Murray [39], in 1974, during the spacial race period, Russia

and other Eastern European Countries provided a major breakthrough in the develop-

ment and application of analytical methods, such as the Integral Transform Technique.

Concurrently, the United States and Western Europe focused on developing methods

called purely numerical like Finite Differences and Finite Elements. Furthermore, cal-

culations developed in the West required an increasing computational effort, while the

methodologies from Eastern Europe focused on extensive analytical manipulations.

This lasted until the mid seventies. Mikhailov [40], in 1972 gave a definitive con-

tribution to the consolidation of the Classical Integral Transform Technique when he

proposed a general processing core that unified the various individual transformations

developed until then, obtaining the general solution to the linear diffusion equation in

finite regions.

Özişik and Murray [39], in 1974, for the first time applied the integral transform

theory in diffusion problems with boundary conditions varying in position and time.

The proposed problem was characterized by the presence of non-transformable terms by

CITT, were handled by the substitution of the inversion formula, resulting in an infinite

system of ordinary differential equations of first order for the transformed potential.

To recover the original potential, approximate solutions of this system of differential

equations were obtained, giving then a rise to a hybrid analytical-numerical procedure

and, hence, taking the first steps towards the Generalized Integral Transform Technique

(GITT).

Another study that also contributed significantly to the development of the theory of

integral transforms was published by Mikhailov [41] in 1975. This work solved diffusion

problems with time dependent coefficients, which generated terms that were also not

transformable by the CITT. Using an auxiliary time-dependent eigenvalue problem and

applying the same procedure used by Özişik and Murray [39], Mikhailov obtained an

infinite system of differential equations with variable coefficients for the transformation

potential.

In 1984, Mikhailov and Özişik [10] presented a systematic way of applying the

5

Page 19: solution of the incompressible navier-stokes equations by projection

Integral Transform Technique for solving various problems of linear diffusion, divided

into seven major classes. This text introduced the formalisms of CITT. According

to Cotta [42], the features of CITT approach, compared to the numerical methodologies,

generate a variety of advantages, as is shown below:

• Systematic methodology of solution;

• Reduction of processing time;

• Prescribed error control;

• Increase of numerical convergence rate;

• Nonexistence of meshes;

• Direct numerical determination of the function at a point (for defined values of

time and space) without the need of numerical calculation of previous temporal

states or other parts of the spatial domain;

• Versatility of the method in associating with others, due to the analytical/numerical

characteristic;

Due to the evolutionary process of the integral transform method, Cotta [42], pre-

sented a review of classic formalisms, which are now extended with emphasis on the

solution of nonlinear problems, which could only be solved by the GITT [34, 42–48]

which is a generalization of the CITT that can be applied to non-transformable sys-

tems, including nonlinear problems, making the method applicable to a virtually infinite

number of problems.

He also suggested techniques to improve the efficiency of the solution. Since then,

the GITT began to be disseminated rapidly and emerged as a powerful hybrid tool

for solving diffusive and diffusive-convective problems. Later, a book was developed

specifically for applications of the GITT [34].

1.3 Literature Review

In the realm of numerical solutions of the incompressible Navier-Stokes equations,

the pioneer work of Harlow and Welch [15] and Chorin [13] were among the first to

6

Page 20: solution of the incompressible navier-stokes equations by projection

attempt a solution of the Navier-Stokes equations using primitive variables. They used

Finite Differences scheme to discretize the pressure Poisson equation and used an explicit

method for the time discretization.

Harlow and Amsteden [49] considerably revised and generalized the ICE2 technique

in such a way as to extend the applicability to fluid flows with arbitrary equations of

state and the full viscous stress tensor. The method is useful for the numerical solution

of time-dependent fluid flow problems in several space dimensions, for all Mach numbers.

In the work of Kim and Moin [1], a numerical method for computing three di-

mensional, time-dependent incompressible flows is presented. The method is based

on a fractional-step, or time-splitting, scheme in conjunction with the approximate-

factorization technique. It was showed that the use of velocity boundary conditions for

the intermediate velocity field can lead to inconsistent numerical solutions. Appropriate

boundary conditions for the intermediate velocity field are derived and tested.

Rosenfeld et al. [50] developed a fractional step method for solving the time-dependent

three-dimensional incompressible Navier-Stokes equations in generalized coordinate sys-

tems. The primitive variable formulation uses the pressure, defined at the center of the

computational cell, and the volume fluxes across the faces of the cells as the dependent

variables, instead of the Cartesian components of the velocity. The governing equations

are discretized by Finite Volumes using a staggered mesh system. The solution of the

continuity equation is decoupled from the momentum equations by a fractional step

method which enforces mass conservation by solving a Poisson equation. This proce-

dure, combined with a consistent approximation of the geometric quantities, is done to

satisfy the discrete mass conservation equation to machine accuracy, as well as to gain

the favorable convergence properties of the Poisson solver.

Langtangen et al. [51] and Guermond et al. [4] made a thorough overview of the

available methods for solving the incompressible Navier-Stokes equations. The main

subject of these works concern Projection Methods. Many variations of these methods

are considered and the issues of each formulation are pointed out. A long discussion is

done for each method explaining in details each one.

More recently, the work of Feng et al. [52] studied an implicit fractional-step method

2 Implicit Continuous-fluid Eulerian

7

Page 21: solution of the incompressible navier-stokes equations by projection

for numerical solutions of the incompressible Navier-Stokes equations. The time ad-

vancement is decomposed into a sequence of two steps, and the first step can be seen

as a linear elliptic problem; on the other hand, the second step has the structure of

the Stokes problem. The two problems satisfy the full homogeneous Dirichlet boundary

conditions on the velocity. The authors did a convergence analysis and error estimates

for the intermediate velocities, the end-of step velocities and the pressure solution are

derived.

Chemetov and Cipriano [53] were concerned with boundary layer turbulence. It was

considered an incompressible viscous fluid in 2D domains with permeable walls. The

main goal of the work was to study the fluid behavior at very low viscosities (large

Reynold’s numbers).

Sen [54] proposed a new family of implicit compact Finite Difference schemes for

computation of unsteady convection-diffusion equations with variable convection coeffi-

cients. The schemes which are fourth order accurate in space and second or lower order

accurate in time depending on the choice of weighted time average parameter are then

applied to unsteady Navier-Stokes system. These schemes which are based on a five

point stencil with constant coefficients, named as “(5,5) Constant Coefficient 4th Order

Compact” [(5,5)CC-4OC], give rise to a diagonally dominant system of equations and

shows higher accuracy and better phase and amplitude error characteristics than some

of the standard methods.

The work of Viswanath and Tobasco [55] began a sequence of investigations whose

eventual aim is to derive and implement numerical solvers that can reach higher Reyn-

olds numbers than is currently possible. Every time step of a Navier-Stokes solver in

effect solves a linear boundary value problem. The use of Green’s functions was used

to derive the numerical solver.

A few studies utilized the GITT to solve the Navier-Stokes equations, one could

highlight the works of Guerrero and Cotta [56] and Pereira et al. [57] that solved the

fluid flow problem using the stream-function formulation. The remarkable work of Lima

et al. [58] managed to solve the unsteady incompressible Navier-Stokes using the GITT

with primitive variables. In the paper of Lima et al. [58], a hybrid numerical-analytical

solution was developed based on eigenfunction expansions in one space co-ordinate and

8

Page 22: solution of the incompressible navier-stokes equations by projection

error-controlled numerical solution of the resulting system of coupled ordinary differ-

ential equations in the remaining space direction. The approach was illustrated for

developing flow between parallel-plates with uniform and irrotational inlet flow condi-

tion. The conventional Poisson-type equation for the pressure field with appropriate

boundary conditions was also transformed and simultaneously solved with the momen-

tum equation along the longitudinal direction, by considering eigenvalue problems for

each of the two potentials, defined in the transversal direction. The transversal velocity

component was then explicitly determined from the continuity equation.

In the work of Guedes and Ozisik [59, 60], the authors analyzed the unsteady forced

convection in laminar flow between parallel plates. This problem is solved using a hy-

brid scheme that combines the Generalized Integral Transform Technique (GITT) with

second-order Finite Differences, each applied in a different direction. Semi-analytical

results are presented for the variations in the amplitude of periodically varying fluid

bulk temperature and wall heat flux along the channel length for different frequen-

cies. An approximate formula for the decay of the peak bulk temperature amplitude is

developed.

Cotta and Gerk [61] employed the integral transform method in conjunction with

second-order-accurate explicit Finite Differences scheme, to handle accurately a class

of parabolic-hyperbolic problems that appear in connection with transient forced con-

vection inside ducts. The integral transformation process eliminates the independent

variables in which the diffusion phenomena dominates. Stability and convergence char-

acteristics of the proposed mixed approach are also examined.

Only a few works implemented a mixed approach using the Integral Transform

Technique and other discrete schemes. Among these works, one could mention the

work of Chalhub et al. [62] where a new methodology was developed for the solution of

unsteady convective heat transfer problems via the implementation of the Generalized

Integral Transform Technique and Finite Diferences in the same direction. The proposed

scheme was based on writing the unknown potential in term of eigenfunction expansions;

however, rather than transforming advection terms, an upwind approximation is used

prior to the integral transformation. The formal application of the methodology was

demonstrated for a general multidimensional problem, and numerical results for a one-

9

Page 23: solution of the incompressible navier-stokes equations by projection

dimensional Burgers test case were calculated. With the approximation, numerical

diffusion is introduced, which was shown to reduce unwanted oscillations that arise at

higher Péclet values and stronger nonlinear effects, reducing mean square errors.

Castellões and Cotta [63] analyzed internal transient forced convection in laminar

regime for incompressible dynamically developed and thermally developing flow within

parallel-plate microchannels, considering arbitrary variations in time for inlet tempera-

ture and/or velocity field. The formulation considers rarefaction effects existent in the

slip-flow regime. The effects of axial conduction and viscous dissipation within the fluid

are included. The solution is obtained using partial integral transformation strategy.

The resulting system of transformed partial differential equations is numerically solved

by the numerical Method of Lines. Particular emphasis is placed on results for periodic

time disturbances of inlet temperature or pressure gradient.

A recent work by Chalhub et al. [64], which is the base of the present work, presented

an alternate method for solving the Poisson equation for calculating the pressure field

that appears in many discrete numerical solvers of the incompressible Navier-Stokes

equations. The methodology is based on a pressure-correction scheme with a mixed

approach that employs CITT for the calculation of the pressure field from a given

discrete velocity field. Two solution schemes were analyzed, these being the single

transformation and the double transformation. The Poisson equation was solved with

the two different schemes using a prescribed source term to simulate the discrete data

that could arise in the solution process of the momentum equation and an numerical

results are presented.

1.4 Objective

The present work has as main goal to develop a numerical method for solving the

unsteady incompressible Navier-Stokes equations with primitive variables in two dimen-

sions, although it could be easily extended to three dimensions. The novel methodology

is based on Projection Methods using a mixed approach through the Classical Integral

Transform Technique. Knowing that the main bottleneck of the classical pressure-

correction approach is the solution of the pressure Poisson equation. A common ap-

proach to acelerate the iterative solution convergence of the Gauss-Seidel scheme used

10

Page 24: solution of the incompressible navier-stokes equations by projection

here as the Poisson solver is to employ multigrid procedures [1], however this work

proposes a new approach using the Integral Transform Technique to find the pressure

dependence on the discrete velocity field in a semi-analytical manner, eliminating the

need for an iterative solver.

1.5 Thesis Organization

In chapter 2, it is presented a review of the classical incompressible Navier-Stokes

formulation and it is shown in detail the steps to obtain the pressure Poisson equation.

It is also presented the characteristics of this Poisson equation and the difficulties of

solving it.

Chapter 3 presents the techniques to solve the incompressible Navier-Stokes equa-

tions together with the staggered grid that will be used in this work. Time marching

schemes are also shown highlighting the Projection Method, that is the method that

the present work is based on.

In chapter 4, a detailed explanation of the mathematical formulation using the Clas-

sic Integral Transform Technique is presented for the solution of the pressure Poisson

equation. Two variations of the method are proposed: Single Transformation and Dou-

ble Transformation.

Finally, the results are discussed in chapter 5, where a verification is presented first

with a thorough discussion of the computational time and the convergence for both

proposed methodologies. A validation is then presented in the second part of chapter 5

two test cases are solved: Lid-Driven Cavity and Backward-Facing Step. They include

a comparison with the literature and the comparison of the computational time of the

methodologies.

11

Page 25: solution of the incompressible navier-stokes equations by projection

Chapter 2

Problem Formulation

We find many types of fluids everyday in our lives, such as water and air as examples

of Newtonian fluid. In order to model the flow of these fluids, the conservation laws of

physics and a constitutive equation are required. The combination of these principles

results in the Navier-Stokes equations [65].

The conservation laws of physics utilized are the mass conservation, also known as

the continuity equation, and the momentum conservation, also know as Newton’s second

law. For the constitutive equation, the Newton’s law of viscosity is used for Newtonian

fluids. In the case of the Navier-Stokes equations, one retains a fluid dissipative force,

a pressure force and possible body forces in the momentum balance. This force balance

defines one equation for each velocity component. Moreover, flows with low Mach

numbers and small temperature differences can be considered incompressible where

density is approximately constant. Consequently, the conservation of mass reduces to a

divergence free condition on the fluid velocity. The result is the incompressible Navier-

Stokes equations1:

ρ∂v

∂t+ ρv · ∇v = −∇p+ µ∇2v + ρf for x ∈ V and t ≥ 0 (2.1a)

∇ · v = 0 for x ∈ V (2.1b)

where µ is the fluid dynamic viscosity and ρ is the fluid density and both properties are

1 Some authors refer to the Navier-Stokes equations as just the momentum equation.

12

Page 26: solution of the incompressible navier-stokes equations by projection

constants.

Equation (2.1a) is the momentum conservation equation and equation (2.1b) is the

mass conservation equation, also called the incompressibility constraint. The initial

conditions consist of prescribing v, whereas the boundary conditions can be of several

types: prescribed velocity components, vanishing normal derivatives of velocity compo-

nents, or prescribed stress vector components. Analyzing the system of equations (2.1),

it is clear that the dependent variables are the velocity vector v and the pressure p.

Recently, the incompressible Navier-Stokes equations drew attention to the scientific

community due to the inclusion of the problem as one of the Millennium Prize Problems

from Clay Mathematics Institute [66]. The prize goes to the researcher that proves the

Navier-Stokes existence and smoothness in three dimensions.

In addition to the theoretical, analytic difficulties of Navier-Stokes equations, the

equations also present practical problems. The system of equations forms a nonlinear,

coupled set of equations which admits analytical solutions in a limited number of cases.

So being, the last resource for solving this system of equation (2.1) is by numerical

techniques. The main issues of implementing numerically the solution of the Navier-

Stokes equations is how exactly to implement the incompressibility constraint (2.1b)

[67] and the non-existence of an equation for the pressure.

2.1 Pressure Poisson Equation

In order to overcome the difficulties of the incompressible Navier-Stokes equations,

it is common in the literature [6, 51, 68] to introduce a pressure Poisson equation by

applying the divergence operator on both sides of the momentum equation (2.1a). After

this procedure, it is possible to solve to problem for the unknown pressure using the

poisson equation. But another question remains: What are the boundary conditions

suitable for this new equation for pressure? It’s not a trivial question since there is

usually no information about the pressure on the domain nor the boundaries. What

most authors do to solve this issue is to use second type boundary condition2 since

there is a gradient of pressure in the momentum equation, arriving in the following

2 Also known as Neumann boundary conditions [69]

13

Page 27: solution of the incompressible navier-stokes equations by projection

formulation:

∇2p = ∇ ·(−ρ∂v

∂t− ρv · ∇v + µ∇2v + ρf

)for x ∈ V and t ≥ 0 (2.2a)

(∇p) · n = ζ(x) for x ∈ ∂V (2.2b)

where n is the exterior normal vector to ∂V surface and ζ(x) is a function yet to be

discovered.

The pressure Poisson equation (2.2) with Neumann boundary conditions suffer from

two weaknesses:

1. Solution Nonuniqueness

The solution can only be determined up to a constant, which for this, it is neces-

sary to introduce one more constraint:

∫V

p(x) dV = 0 (2.3)

This basically implies that the mean value of the pressure is equal to zero. Any

other value for this integral could be chosen, hence, for simplicity the zero value

is chosen. As some authors already realized [68], the pressure is somewhat an

intriguing quantity in incompressible flows. It is not a thermodynamic variable

as there is no equation of state for an incompressible fluid. It is in one sense a

mathematical artefact – a Lagrange multiplier – that constrains the velocity field

to remain divergence-free; i.e., incompressible. But it’s important to note that

even though the absolute value of pressure has no physical meaning, the gradient

of the pressure is a relevant physical quantity: a force per unit volume.

2. Poisson-Neumann Compatibility Condition

If the Poisson equation for pressure (2.2) is integrated in the volume V, the

following equation is obtained.

∫V

∇ · (∇p) dV =

∫V

κ(x) dV (2.4)

14

Page 28: solution of the incompressible navier-stokes equations by projection

where κ is the source term of the Poisson equation, given by

κ(x) = ∇ ·(−ρ∂v

∂t− ρv · ∇v + µ∇2v + ρf

)(2.5)

Applying the divergence theorem [70] in the left hand side of equation (2.4),

∫∂V

(∇p) · nds =

∫V

κ(x) dV (2.6)

According to the pressure Poisson formulation (2.2) on the boundaries of the

domain ∂V, (∇p) · n = ζ(x) is valid, so the above equation gives:

∫∂Vζ(x) ds =

∫V

κ(x) dV (2.7)

Equation (2.7) is known as the Poisson-Neumann Compatibility Condition. Ob-

serving the compatibility condition, it can be seen that the source term of the

Poisson equation κ(x) has a relation with the boundary conditions ζ(x), in other

words, the chosen boundary conditions must comply with this compatibility con-

dition for the problem to be mathematically well-posed. Once the source term of

this problem is given by relation (2.5), equation (2.7) can be rewritten as:

∫∂Vζ(x) ds =

∫V

∇ ·(−ρ∂v

∂t− ρv · ∇v + µ∇2v + ρf

)dV (2.8)

Applying again the divergence theorem on the right hand side,

∫∂Vζ(x) ds =

∫∂V

(−ρ∂v

∂t− ρv · ∇v + µ∇2v + ρf

)· nds (2.9)

For these to integrals to be equal in general, their integrands must be equal, so

an expression for the boundary condition is obtained:

ζ(x) = (∇p) · n =

(−ρ∂v

∂t− ρv · ∇v + µ∇2v + ρf

)· n

for x ∈ ∂V and t ≥ 0 (2.10)

15

Page 29: solution of the incompressible navier-stokes equations by projection

This means that the boundary conditions for the pressure Poisson equation must

be of the above form for the mathematical formulation to be well-posed. It is

also important to note that the boundary condition obtained complies with the

momentum equation (2.1a).

By using the mass conservation to simplify the system of equations (2.2), the re-

placement of the continuity for the pressure Poisson equation (2.2) is achieved, resulting

in the following system to be solved:

ρ∂v

∂t+ ρv · ∇v = −∇p+ µ∇2v + ρf for x ∈ V and t ≥ 0 (2.11a)

∇2p = ∇ · (−ρv · ∇v + ρf) for x ∈ V (2.11b)

with the following conditions for pressure:

(∇p) · n =

(ρ∂v

∂t− ρv · ∇v + µ∇2v + ρf

)· n for x ∈ ∂V (2.12)∫

V

p(x) dV = 0 (2.13)

As it can be observed on the new set of equations (2.11) to be solved, on one hand

there is the momentum equation which has a derivative in time for the velocity and

on the other hand there is a Poisson equation for pressure, which is an elliptic partial

differential equation. This type of equation has the characteristic to propagate the

pressure at infinite speed in order to keep the flow always and everywhere incompressible;

i.e., it is always in equilibrium with a time-varying divergence-free velocity field. This

equation is also often difficult and expensive to compute.

In the next chapters the numerical solution of the incompressible Navier-Stokes

equations will be discussed and a new semi-analytical methodology based on the Clas-

sical Integral Transform Technique will be presented to solve the Poisson equation for

pressure.

16

Page 30: solution of the incompressible navier-stokes equations by projection

Chapter 3

Incompressible Navier-Stokes Numerical Solution

As already seen in the previous chapter, the solution of the incompressible Navier-

Stokes equations (2.1) is remarkably challenging. For the sake of simplicity, it will be

considered from now on, only the two-dimensional case in cartesian coordinates as it

can be easily generalized and implemented in a three-dimensional problem or using

curvilinear coordinates.

3.1 Staggered Grid

Before continuing the mathematical approach of the solution for incompressible

flows, it is important to define the type of mesh to be used. The mathematical formula-

tion so far complies with the Neumann-Poisson compatibility condition (2.7), however

after discretizing the problem, the discrete system may not be compatible with this

condition depending on the type of chosen discretization [71]. Some authors as Abdal-

lah [71, 72] developed a way to achieve this compatibility using Finite Differences on

collocated grids.

Another way to overcome this issue is to use a staggered grid. On a staggered grid

the scalar variables (pressure, density, total enthalpy etc.) are stored in the cell centers,

whereas the velocity or momentum variables are located at the cell faces, as shown

in figure 3.1. This is different from a collocated grid arrangement, where all variables

are stored in the same positions. A staggered storage is mainly used on structured

grids for compressible or incompressible flow simulations. Using a staggered grid is a

17

Page 31: solution of the incompressible navier-stokes equations by projection

simple way to avoid odd-even decoupling between the pressure and velocity. Odd-even

decoupling is a discretization error that can occur on collocated grids and which leads

to checkerboard patterns in the solutions [15]. This instability is due to the relationship

between the pressure and velocity. Notice that in the time-discretized equations, the

velocity depends on the first derivatives of the pressure and the pressure depends on the

first derivatives of the velocity. Hence, if a central difference is used and the nodes are

labelled odd or even (according to a checkerboard) then it is found that the pressure

at even nodes depends on the velocity at odd nodes and the pressure at odd nodes

depends on the velocity at even nodes. It happens similarly for the velocity. Thus, it is

not surprising that this decoupling leads to a checkerboard effect.

Lv1,1

H

u2,1

v1,2

p1,1u1,1

ui,j

vi,j+1

pi,j

vi,j

ui+1,j

uimax,jmax

vimax,jmax+1

vimax,jmax

pimax,jmax

uimax+1,jmax

y

x

Fig. 3.1: Discretized two dimensional cartesian domain using a staggered grid

18

Page 32: solution of the incompressible navier-stokes equations by projection

The discretization parameters are given bellow for the pressure grid:

∆x = L/imax (3.1)

∆y = H/jmax (3.2)

xi = ∆x (i− 1/2) (3.3)

yj = ∆y (j − 1/2) (3.4)

The indices i and j are associated with the x and y coordinates, respectively. To

make it easier for the reader to follow the text, all indices used from now on are presented

in table 3.1. These indices are used by the spatial and time dicretization, and for the

summation indices of the Classical Integral Transform Technique.

Tab. 3.1: Indices used for each dimension and for the Classical Integral TransformTechnique (CITT).

x y t CITT

i j n

q r l m

p s k

3.2 Time Marching Schemes

The next step of the methodology is the time discretization. Although in this work

the Projection Method [13] is used to implement the numerical formulation, a quick

review of a few methods is also presented.

3.2.1 Explicit Methods

Explicit methods are considered the simplest time marching schemes. These meth-

ods calculate the state of a system of the next time-step using only the previous time-step

data. From many variations of this type of formulation, the simplest one is the explicit

19

Page 33: solution of the incompressible navier-stokes equations by projection

forward Euler, which is presented bellow [51]:

vl+1 = ∆t

(−1

ρ∇pl + ν∇2vl + ρf l − vl · ∇vl

)− vl (3.5a)

∇2pl = ∇ ·(−ρvl · ∇vl + ρf l

)(3.5b)

This equation can be easily solved for vl+1 using some discrete differential equation

method like Finite Differences [73], Finite Volumes [23] or Finite Elements [74]. How-

ever, the main problem of this approach is that the mass conservation is not satisfied

in the next time-step l + 1, due to the Poisson equation, that represents the mass con-

servation, only being computed in the current time-step l, in other words, ∇ · vl+1 6= 0.

Furthermore, the Poisson equation must be solved using the boundary condition pre-

sented in equation (2.12).

3.2.2 Implicit Methods

One way to try to solve the problem pointed out for explicit methods is to implement

an implicit method instead:

vl+1 = ∆t

(−1

ρ∇pl+1 + ν∇2vl+1 + ρf l+1 − vl+1 · ∇vl+1

)− vl (3.6a)

∇2pl+1 = ∇ ·(−ρvl+1 · ∇vl+1 + ρf l+1

)(3.6b)

This formulation has now two unknowns vl+1 and pl+1, and hence it requires a

simultaneous solution of momentum and Poisson equation, it becomes impossible to

achieve with this formulation.

3.2.3 Projection Method

A more efficient way to solve incompressible flows was introduced by Chorin [13]

as Projection Methods. The key advantage of the Projection Method is that the com-

putations of the velocity and pressure fields are decoupled. The algorithm of Pro-

jection Method is based on the Helmholtz-Hodge decomposition1 of any smooth tree-

dimensional vector field into a solenoidal part and an irrotational part.

1 Also known as Helmholtz decomposition and theorem of Ladyzhenskaya

20

Page 34: solution of the incompressible navier-stokes equations by projection

3.2.3.1 Helmholtz-Hodge decomposition

Helmholtz-Hodge decomposition theorem [75, 76] states that a smooth vector field

v defined on a simply connected domain can be uniquely decomposed into a divergence-

free (solenoidal) part vsol and an irrotational part virr. In other words:

v = vsol + virr (3.7)

Since virr is irrotational, there must be a scalar function ϕ that satisfies:

virr = ∇ϕ (3.8)

replacing the above relation in (3.7)

v = vsol +∇ϕ (3.9)

Applying the divergence operator on both sides of the equation and knowing that the

solenoidal part vsol is divergence free (∇ · vsol = 0), the following equation is obtained:

∇ · v = ∇2ϕ (3.10)

which is the essence of Projection Methods for solving the incompressible Navier-Stokes

equations.

3.2.3.2 Classical Projection Method

In Chorin’s [13] original Projection Method, one should first compute an intermedi-

ate velocity v, explicitly using the momentum equation by ignoring the pressure gradient

term:

v = ∆t(ν∇2vl + ρf l − vl · ∇vl

)− vl (3.11)

In the second half of the algorithm, the projection step, the intermediate velocity is

21

Page 35: solution of the incompressible navier-stokes equations by projection

corrected to obtain the final solution of the time step vl+1:

vl+1 = v − ∆t

ρ∇pl+1 (3.12)

Applying the divergence operator on both sides of the equations (3.12) and knowing

that ∇ · vl+1 = 0 due to the mass conservation2:

∇2pl+1 =ρ

∆t∇ · v (3.13)

Where it should be noticed that the boundary conditions (2.12) must be applied for

the compatibility condition (2.7) to be satisfied.

In order to make it clear that the algorithm is really just an operator splitting

approach, in which one considers the viscous forces (in the first half step) and the

pressure forces (in the second half step) separately, let’s take the equation (3.12) and

rearrange on the form:

v = vl+1 +∆t

ρ∇pl+1 (3.14)

Equation (3.14) is the standard Helmholtz-Hodge decomposition (3.10) where:

vsol = vl+1 (3.15)

and

virr =∆t

ρ∇pl+1 (3.16)

A distinguishing feature of Chorin’s Projection Method is that the velocity field is

forced to satisfy a discrete continuity constraint at the end of each time step without

the need to compute the momentum equation and the Poisson equation simultaneously

as implicit methods require.

Typically, the Projection Method operates as a two-stage fractional step scheme,

a method that uses multiple calculation steps for each numerical time-step. In many

2 Note that ∇ · v is not necessarily equal to zero.

22

Page 36: solution of the incompressible navier-stokes equations by projection

projection algorithms, the steps are split as follows:

1. The predictor step: First the system is progressed in time to a intermediate-time-

step position, solving the transport equations for mass and momentum.

2. At this point an initial projection may be implemented such that the inter-

mediate-time-step velocity field is enforced as divergence free.

3. The corrector step: These use the time-centred estimates of the velocity to form

final time-step state.

4. A final projection is then applied to enforce the divergence restraint on the velocity

field. The system has now been fully updated to the new time.

For the present work the time-marching scheme that will be used is the Projection

Method. For the two dimensional cartesian cases, equation (3.11) becomes:

u = ∆t F l − ul (3.17)

v = ∆tGl − vl (3.18)

where

F = ν

(∂2u

∂2x+∂2u

∂y2

)+ fx −

(u∂u

∂x+ v

∂u

∂y

)(3.19)

G = ν

(∂2v

∂2x+∂2v

∂y2

)+ fy −

(u∂v

∂x+ v

∂v

∂y

)(3.20)

In the present work, the staggered grid allows us to implement the discretization

of F and G by approximating the derivatives using a second order Finite Difference

approach for the advection and diffusion terms. However, it could be troublesome for

very high Reynolds numbers [9]. Furthermore, for future works, a high order upwind

scheme can be suggested.

The discretization of F is computed in the same mesh of u and using the following

scheme:

23

Page 37: solution of the incompressible navier-stokes equations by projection

• For 1 < i < imax + 1 and 1 < j < jmax:

Fi,j = fx(xi −∆x/2, yj) +ν (ui−1,j − 2ui,j + ui+1,j)

∆x2+

− ui,j (ui+1,j − ui−1,j)

2∆x+ν (ui,j−1 − 2ui,j + ui,j+1)

∆y2+

− (ui,j+1 − ui,j−1) (vi−1,j + vi−1,j+1 + vi,j + vi,j+1)

8∆y(3.21a)

• For 1 < i < imax + 1 and j = jmax:

Fi,j = fx(xi −∆x/2, yj) +ν (ui−1,j − 2ui,j + ui+1,j)

∆x2+

− ui,j (ui+1,j − ui−1,j)

2∆x+

4ν (ui,j−1 − 3ui,j + UNi−1 + UNi)

3∆y2+

+(vi−1,j + vi−1,j+1 + vi,j + vi,j+1) (ui,j−1 + 3ui,j − 2 (UNi−1 + UNi))

12∆y(3.21b)

• For 1 < i < imax + 1 and j = 1:

Fi,j = fx(xi −∆x/2, yj) +ν (ui−1,j − 2ui,j + ui+1,j)

∆x2+

− ui,j (ui+1,j − ui−1,j)

2∆x+

4ν (−3ui,j + ui,j+1 + USi−1 + USi)

3∆y2+

− (vi−1,j + vi−1,j+1 + vi,j + vi,j+1) (3ui,j + ui,j+1 − 2 (USi−1 + USi))

12∆y(3.21c)

• For i = 1 and 1 ≤ j ≤ jmax

Fi,j = fx(xi −∆x/2, yj)+

+ν (ui,j − 2ui+1,j + ui+2,j)

∆x2− ui,j (−3ui,j + 4ui+1,j − ui+2,j)

2∆x+

+4ν(−2UWj + UvWj + UvWj+1

)∆y2

(UvWj+1 − U

vWj

)VWj

∆y(3.21d)

24

Page 38: solution of the incompressible navier-stokes equations by projection

• For i = imax + 1 and 1 ≤ j ≤ jmax

Fi,j = fx(xi −∆x/2, yj)+

+ν (ui−2,j − 2ui−1,j + ui,j)

∆x2− ui,j (ui−2,j − 4ui−1,j + 3ui,j)

2∆x+

+4ν(−2UEj + UvEj + UvEj+1

)∆y2

(UvEj+1 − U

vEj

)VEj

∆y(3.21e)

and G is calculated in the same mesh of v and using using the following scheme:

• For 1 < i < imax and 1 < j < jmax + 1:

Gi,j = ρ fy(xi, yj −∆y/2) +ν (vi−1,j − 2vi,j + vi+1,j)

∆x2+

+(−ui,j−1 − ui,j − ui+1,j−1 − ui+1,j) (vi+1,j − vi−1,j)

8∆x+

+ν (vi,j−1 − 2vi,j + vi,j+1)

∆y2− vi,j (vi,j+1 − vi,j−1)

2∆y(3.22a)

• For i = imax and 1 < j < jmax + 1:

Gi,j = ρ fy(xi, yj −∆y/2) +4ν(vi−1,j − 3vi,j + VEj−1 + VEj

)3∆x2

+

−(−ui,j−1 − ui,j − ui+1,j−1 − ui+1,j)

(vi−1,j + 3vi,j − 2

(VEj−1 + VEj

))12∆x

+

+ν (vi,j−1 − 2vi,j + vi,j+1)

∆y2− vi,j (vi,j+1 − vi,j−1)

2∆y(3.22b)

• For i = 1 and 1 < j < jmax + 1:

Gi,j = ρ fy(xi, yj −∆y/2) +4ν(−3vi,j + vi+1,j + VWj−1 + VWj

)3∆x2

+

+(−ui,j−1 − ui,j − ui+1,j−1 − ui+1,j)

(3vi,j + vi+1,j − 2

(VWj−1 + VWj

))12∆x

+

+ν (vi,j−1 − 2vi,j + vi,j+1)

∆y2− vi,j (vi,j+1 − vi,j−1)

2∆y(3.22c)

25

Page 39: solution of the incompressible navier-stokes equations by projection

• For 1 ≤ i ≤ imax and j = 1:

Gi,j = ρ fy(xi, yj −∆y/2)+

+ν (vi,j − 2vi,j+1 + vi,j+2)

∆y2− vi,j (−3vi,j + 4vi,j+1 − vi,j+2)

2∆y+

+4ν(−2VSi + V u

S i + V uS i+1

)∆x2

−USi

(V u

S i+1 − Vu

S i

)∆x

(3.22d)

• For 1 ≤ i ≤ imax and j = jmax + 1:

Gi,j = ρ fy(xi, yj −∆y/2)+

+ν (vi,j−2 − 2vi,j−1 + vi,j)

∆y2− vi,j (vi,j−2 − 4vi,j−1 + 3vi,j)

2∆y+

+4ν(−2VNi + V u

N i + V uN i+1

)∆x2

−UNi

(V u

N i+1 − Vu

N i

)∆x

(3.22e)

where the discrete boundary conditions are given by:

USi = u(xi, 0) (3.23)

UNi = u(xi, H) (3.24)

UWj = u(0, yj) (3.25)

UEj = u(L, yj) (3.26)

VSi = v(xi, 0) (3.27)

VNi = v(xi, H) (3.28)

VWj = v(0, yj) (3.29)

VEj = v(L, yj) (3.30)

UvWj = u(0, yj −∆y/2) (3.31)

UvEj = u(L, yj −∆y/2) (3.32)

V uS i = v(xi −∆x/2, 0) (3.33)

V uN i = v(xi −∆x/2, H) (3.34)

26

Page 40: solution of the incompressible navier-stokes equations by projection

Chapter 4

Solution of the Pressure Poisson Equation

As seen in the previous sections, the pressure Poisson equation plays an impor-

tant role in incompressible computational fluid dynamics, so it is imperative to have a

method to solve this equation more efficiently. This works develops a new methodol-

ogy for solving the pressure Poisson equation using a semi-analytical scheme by integral

transformation. Two variations of the method are proposed: Single Transformation and

Double Transformation.

The general Poisson equation for pressure in two-dimensions, using cartesian co-

ordinates and compatible boundary conditions can be written in the following form:

∂2p

∂x2+∂2p

∂y2= Q(x, y) (4.1a)

(∂p

∂x

)x=0

= BW(y) = −ρ[(

∂u

∂t

)x=0

+ u(0, y)

(∂u

∂x

)x=0

+ v(0, y)

(∂u

∂y

)x=0

]+

+ µ

[(∂2u

∂x2

)x=0

+

(∂2u

∂y2

)x=0

]+ ρfx(0, y) (4.1b)

(∂p

∂x

)x=L

= BE(y) = −ρ[(

∂u

∂t

)x=L

+ u(L, y)

(∂u

∂x

)x=L

+ v(L, y)

(∂u

∂y

)x=L

]+

+ µ

[(∂2u

∂x2

)x=0

+

(∂2u

∂y2

)x=0

]+ ρfx(L, y) (4.1c)

27

Page 41: solution of the incompressible navier-stokes equations by projection

(∂p

∂y

)y=0

= BS(x) = −ρ

[(∂v

∂t

)y=0

+ u(x, 0)

(∂v

∂x

)y=0

+ v(x, 0)

(∂v

∂y

)y=0

]+

+ µ

[(∂2v

∂x2

)y=0

+

(∂2v

∂y2

)y=0

]+ ρfy(x, 0) (4.1d)

(∂p

∂y

)y=H

= BN(x) = −ρ

[(∂v

∂t

)y=H

+ u(x,H)

(∂v

∂x

)y=H

+ v(x,H)

(∂v

∂y

)y=H

]+

+ µ

[(∂2v

∂x2

)y=H

+

(∂2v

∂y2

)y=H

]+ ρfy(x,H) (4.1e)

where Q(x, y) is the source term of the equation, which must be calculated in the same

nodes as the pressure, and for the Projection Method it is given by:

Q(x, y) =ρ

∆t

(∂u

∂x+∂v

∂y

)(4.2)

The problem can be rewritten in a compact general form:

∂2p

∂x2+∂2p

∂y2= Q(x, y) (4.3a)(

∂p

∂x

)x=0

= BW(y) (4.3b)(∂p

∂x

)x=L

= BE(y) (4.3c)(∂p

∂y

)y=0

= BS(x) (4.3d)(∂p

∂y

)y=H

= BN(x) (4.3e)

where BW(y), BE(y), BS(x) and BN(x) represent the functions for each boundary con-

dition shown previously.

4.1 Filtering Scheme for Integral Transformation

Before continuing to the solution via integral transformation, it is proposed a sepa-

ration of the pressure on the following form:

p(x, y, t) = p∗(x, y, t) + pf (x, y) (4.4)

where p∗ is the filtered pressure and pf is a known filter function.

28

Page 42: solution of the incompressible navier-stokes equations by projection

Replacing equation (4.4) in the Poisson equation, the following form is obtained:

∂2p∗

∂x2+∂2p∗

∂y2= Q(x, y, t)−

(∂2pf∂x2

+∂2pf∂y2

)(4.5a)(

∂p∗

∂x

)x=0

= BW(y)−(∂pf∂x

)x=0

(4.5b)(∂p∗

∂x

)x=L

= BE(y)−(∂pf∂x

)x=L

(4.5c)(∂p∗

∂y

)y=0

= BS(x)−(∂pf∂y

)y=0

(4.5d)(∂p∗

∂y

)y=H

= BN(x)−(∂pf∂y

)y=H

(4.5e)

The filter function pf is chosen to be the pressure in the previous time-step pf = pl−1.

This procedure is based on a local-instantaneous filtering scheme [77, 78] and the for-

mulation yields:

∂2pf∂x2

+∂2pf∂y2

=∂2pl−1

∂x2+∂2pl−1

∂y2= Ql−1 (4.6)

Since the pressure boundary conditions are the same in the previous and current

time-step, the resulting boundary conditions for the filtered problem are homogeneous:

∂2p∗

∂x2+∂2p∗

∂y2= Q∗(x, y) (4.7a)(

∂p∗

∂x

)x=0

= 0 (4.7b)(∂p∗

∂x

)x=L

= 0 (4.7c)(∂p∗

∂y

)y=0

= 0 (4.7d)(∂p∗

∂y

)y=H

= 0 (4.7e)

where

Q∗(x, y) = Ql(x, y)−Ql−1(x, y) (4.8)

Instead of solving the general problem (4.3), the filtered homogeneous problem (4.7)

will be solved. This kind of formulation has much better convergence rate for the integral

29

Page 43: solution of the incompressible navier-stokes equations by projection

transformation since the previous solution in time already contains meaningful amount

of information on the frequencies of the solution, so it requires a lower truncation order.

The filtered pressure can be interpreted as just a correction of the pressure of the

previous time-step.

4.2 Source Term Discretization

The source term of the Poisson equation Q is function of the velocities, which are

given in terms of a discrete field, in other words, we only have the velocities at the nodes

of the velocity mesh. This means that the source term is not a continuos function, so

Q is defined in a discrete form.

The discretization of Q is defined in the pressure mesh and is chosen to be of the

following form for the Projection Method:

Qi,j =ρ

∆t

(ui+1,j − ui,j

∆x+vi,j+1 − vi,j

∆y

)(4.9)

For this work, the second order central difference is chosen to discretize the deriva-

tives. However it is important to point out that this formulation very flexible and any

other type of discretization and source term could be used.

4.3 Classical Integral Transform Technique: Double

Transformation

In this work the Classical Integral Transform Technique [10] is used for the pur-

pose of solving the filtered Poisson equation (4.7). This is an analytical technique that

uses expansions of the sought solution in terms of an infinite orthogonal basis of eigen-

functions, keeping the solution process always within a continuous domain. The first

formulation to be used is the Double Transformation, which two transformations are

done, one in each direction. It is already known [10] that this approach is not the best

one due to the spectral nature of this kind of boundary value problem. However, for

comparison purposes, it will also be developed in this study. The reader should keep

in mind that a better approach (Single transformation) will be formulated in the next

30

Page 44: solution of the incompressible navier-stokes equations by projection

section.

In order to establish the transformation pair, the pressure field is written as function

of an orthogonal eigenfunctions obtained from the following auxiliary eigenvalue problem

known as the Helmholtz classic problem in cartesian coordinates [10], where Xn(x) are

the eigenfunctions and λn are the eigenvalues for the x-direction.

d2Xn(x)

dx2+ λ2

nXn(x) = 0 (4.10a)

X ′(0) = 0 X ′(L) = 0 (4.10b)

which has the following solution:

Xn(x) = cos (λnx) (4.11a)

λn =πn

Lfor n = 1, 2, 3, . . . (4.11b)

It should be noted that for these boundary conditions, one needs also to account for

non-trivial solutions corresponding to λ0 = 0.

X0 = 1 (4.12a)

λ0 = 0 (4.12b)

Since we are transforming in two directions, similarly the eigenvalue problem in

y-direction is given by:

d2Ym(y)

dy2+ β2

mYm(y) = 0 (4.13a)

Y ′(0) = 0 Y ′(H) = 0 (4.13b)

where Ym(y) are the eigenfunctions and βm are the eigenvalues for the y-direction. This

problem has the following solution:

Ym(y) = cos (βmy) (4.14a)

βm =πm

Hfor m = 1, 2, 3, . . . , (4.14b)

31

Page 45: solution of the incompressible navier-stokes equations by projection

Where it should also be noted that for these boundary conditions, one needs also

to account for non-trivial solutions corresponding to β0 = 0.

Y0 = 1 (4.15a)

β0 = 0 (4.15b)

Now, the transformation pair can be defined:

Transformation ⇒ ¯p∗n,m =

∫ H

0

∫ L

0p∗(x, y)Xn(x)Ym(y) dx dy (4.16a)

Inversion ⇒ p(x, y) =∞∑n=0

∞∑m=0

¯p∗n,mXn(x)Ym(y)

Nxn Nym(4.16b)

where the norm Nxn is defined by:

Nxn =

∫ L

0X2n dx =

L

2for n 6= 0 (4.17)

Nx0 =

∫ L

0X2

0 dx = L for n = 0 (4.18)

Similarly Nym is defined by:

Nym =

∫ H

0Y 2m dy =

H

2for m 6= 0 (4.19)

Ny0 =

∫ H

0Y 2

0 dy = H for m = 0 (4.20)

The inversion formula can be expanded in the following way:

p∗(x, y) =¯p∗0,0

Nx0 Ny0

+∞∑n=1

¯p∗n,0Xn(x)

Nxn Ny0

+∞∑m=1

¯p∗0,m Ym(y)

Nx0 Nym+

+

∞∑n=1

∞∑m=1

¯p∗n,mXn(x)Ym(y)

Nxn Nym(4.21)

Knowing that the mean value of pressure must be equal to zero as the extra condition

(2.3) states, p0,0 must be equal to zero. This simplifies the inversion formula to the

32

Page 46: solution of the incompressible navier-stokes equations by projection

following form:

Inversion ⇒ p(x, y) =∞∑n=1

¯p∗n,0Xn(x)

Nxn Ny0

+∞∑m=1

¯p∗0,m Ym(y)

Nx0 Nym+

+

∞∑n=1

∞∑m=1

¯p∗n,mXn(x)Ym(y)

Nxn Nym(4.22)

4.3.1 Equation transformation for n > 0 and m > 0

Applying the transformation operator∫ H

0

∫ L0 (•)Xn Ym dx dy on both sides of the

filtered Poisson equation (4.7) and simplifying using the eigenvalue problems, we arrive

at:

−λ2n

¯p∗n,m − β2m

¯p∗n,m = ¯Q∗n,m (4.23)

where

¯Q∗n,m =

∫ H

0

∫ L

0Q∗(x, y)Xn Ym dx dy (4.24)

Solving for the transformed pressure:

¯p∗n,m = −¯Q∗n,m

λ2n + β2

m

(4.25)

4.3.2 Equation transformation for n = 0 and m > 0

Using the same procedure, but applying the operator∫ H

0

∫ L0 (•)Ym dx dy instead, it

is easy to see that the solution for the transformed pressure is:

¯p∗0,m = −¯Q∗0,mβ2m

(4.26)

where

¯Q∗0,m =

∫ H

0

∫ L

0Q∗(x, y)Ym dx dy (4.27)

33

Page 47: solution of the incompressible navier-stokes equations by projection

4.3.3 Equation transformation for n > 0 and m = 0

Similarly using the operator∫ H

0

∫ L0 (•)Xn dx dy, it is obtained:

¯p∗n,0 = −¯Q∗n,0λ2n

(4.28)

where

¯Q∗n,0 =

∫ H

0

∫ L

0Q∗(x, y)Xn dx dy (4.29)

4.3.4 Recovery of the original pressure field

In order to obtain the filtered pressure, one should replace equations (4.25), (4.26)

and (4.28) in the inversion formula (4.22), obtaining:

p(x, y) = −∞∑n=1

¯Q∗n,0λ2n

Xn(x)

Nxn Ny0

−∞∑m=1

¯Q∗0,mβ2m

Ym(y)

Nx0 Nym+

−∞∑n=1

∞∑m=1

¯Q∗n,mλ2n + β2

m

Xn(x)Ym(y)

Nxn Nym(4.30)

The greatest advantage of this approach is that it requires a lot less analytical effort

and the final solution is simpler and more compact. However, the final solution has

a double summation that can increase computational time. In order to minimize this

time, one can use a reordering scheme, switching from the double summation to a single

one.

∞∑n=1

∞∑m=1

⇒∞∑k=1

(4.31)

By observing the solution (4.30), one can see that for lowers (λ2n + β2

m) the greater

is the term in the summation, hence, the reordering scheme is done by associating

pairs (n,m) with a single index k by organizing pairs that promote lowers (λ2n + β2

m)

in ascending order. By doing that, one can arrive at the following expression for the

34

Page 48: solution of the incompressible navier-stokes equations by projection

pressure distribution:

p(x, y) = −∞∑n=1

¯Q∗n,0λ2n

Xn(x)

Nxn Ny0

−∞∑m=1

¯Q∗0,mβ2m

Ym(y)

Nx0 Nym+

−∞∑k=1

¯Q∗n(k),m(k)

λ2n(k) + β2

m(k)

Xn(k)(x)Ym(k)(y)

Nxn(k) Nym(k)

(4.32)

So far the solution is fully analytical, but the summation is infinite and to obtain a

finite result for pressure, it must be truncated at desired truncation orders (nmax, mmax

and kmax) for each summation which the convergences are treated independently.

p(x, y) = −nmax∑n=1

¯Q∗n,0λ2n

Xn(x)

Nxn Ny0

−mmax∑m=1

¯Q∗0,mβ2m

Ym(y)

Nx0 Nym+

−kmax∑k=1

¯Q∗n(k),m(k)

λ2n(k) + β2

m(k)

Xn(k)(x)Ym(k)(y)

Nxn(k) Nym(k)

(4.33)

4.3.5 Integration of discrete fields

We already know from the previous section that the source term Q is discrete. In

order to compute the term ¯Q∗, the integrals are separated in each cell of the domain,

obtaining the following form:

¯Q∗n,m =

imax∑i=1

jmax∑j=1

∫ yj+∆y/2

yj−∆y/2

∫ xi+∆x/2

xi−∆x/2Q∗Xn Ym dx dy (4.34)

¯Q∗0,m =

imax∑i=1

jmax∑j=1

∫ yj+∆y/2

yj−∆y/2

∫ xi+∆x/2

xi−∆x/2Q∗ Ym dx dy (4.35)

¯Q∗n,0 =

imax∑i=1

jmax∑j=1

∫ yj+∆y/2

yj−∆y/2

∫ xi+∆x/2

xi−∆x/2Q∗Xn dx dy (4.36)

Now to compute the integrals, an approximation of Q∗ inside the cells must be done.

In order to do so, the Taylor series [79] is utilized:

Q∗(x, y) ≈rmax∑r=0

smax∑s=0

(x− xi)r(y − yj)s

r! s!

(∂r+sQ∗

∂xr∂ys

)i,j

(4.37)

where the summation must be truncated and rmax and smax must be chosen according

to the desired approximation order. For the purpose of this work, the approximation

35

Page 49: solution of the incompressible navier-stokes equations by projection

order required is 2, so rmax = 0 and smax = 0 are chosen, resulting in:

Q∗(x, y) ≈ Q∗i,j (4.38)

Hence, equations (4.34) to (4.36) becomes:

¯Q∗n,m ≈imax∑i=1

jmax∑j=1

Q∗i,j

∫ yj+∆y/2

yj−∆y/2

∫ xi+∆x/2

xi−∆x/2Xn Ym dx dy (4.39)

¯Q∗0,m ≈imax∑i=1

jmax∑j=1

Q∗i,j

∫ yj+∆y/2

yj−∆y/2

∫ xi+∆x/2

xi−∆x/2Ym dx dy (4.40)

¯Q∗n,0 ≈imax∑i=1

jmax∑j=1

Q∗i,j

∫ yj+∆y/2

yj−∆y/2

∫ xi+∆x/2

xi−∆x/2Xn dx dy (4.41)

where the integrals are computed analytically.

The approach showed above is equivalent to considering Q∗i,j approximately constant

within the cell (i, j), so it can be taken out of the cell integration.

4.4 Classical Integral Transform Technique: Single

Transformation

The second formulation to be developed in this work is the Single Transformation,

which only one transformation is done. As already mentioned in the previous section,

this is a better approach for this kind of problem.

In a similar manner to solve the problem from previous formulation, one need to

establish the transformation pair. For this approach, only one eigenvalue problem is

required since only one direction is going to be transformed. For this work the trans-

formation is going to be applied at y-direction, however x-direction could have been

chosen as well having in the same solution but swapping y for x. The eigenvalue prob-

lem for y-direction is the same as the previous formulation and it is repeated here for

convenience:

d2Ym(y)

dy2+ β2

mYm(y) = 0 (4.42a)

Y ′(0) = 0 Y ′(H) = 0 (4.42b)

36

Page 50: solution of the incompressible navier-stokes equations by projection

which has the following solution:

Ym(y) = cos (βmy) (4.43a)

βm =πm

Hfor m = 1, 2, 3, . . . (4.43b)

It should also be noted that for these boundary conditions, one needs also to account

for non-trivial solutions corresponding to β0 = 0.

Y0 = 1 (4.44a)

β0 = 0 (4.44b)

The norm Nym is defined by:

Nym =

∫ H

0Y 2m dy =

H

2for m 6= 0 (4.45)

Ny0 =

∫ H

0Y 2

0 dy = H for m = 0 (4.46)

However the transformation pair is different:

Transformation ⇒ p∗n(x) =

∫ L

0p∗(x, y)Ym(y) dx (4.47a)

Inversion ⇒ p∗(x, y) =p∗0(x)

Ny0

+∞∑m=1

Ym(y)p∗m(x)

Nym(4.47b)

The final solution is given by two portions of the pressure: the average pressure in

the x-direction, p∗avg and the modified pressure p∗mod:

p∗(x, y) = p∗avg(x) + p∗mod(x, y) (4.48)

where p∗avg comes from the solution of the eigenproblem when β = 0 and p∗mod comes

from the solution when β > 0, in other words:

p∗avg(x) =p∗0(x)

Ny0

(4.49)

p∗mod(x, y) =

∞∑m=1

Ym(y)p∗m(x)

Nym(4.50)

37

Page 51: solution of the incompressible navier-stokes equations by projection

4.4.1 Equation transformation for m > 0

The integral transformation of the governing differential equation is derived by ap-

plying the operator∫ H

0 (•)Ym dy on the filtered Poisson equation (4.7), leading to the

following transformed filtered Poisson equation:

∂2p∗m(x)

∂x2− β2

mp∗m(x) = Q∗m(x) (4.51a)(

∂p∗m(x)

∂x

)x=0

= 0 (4.51b)(∂p∗m(m)

∂x

)x=L

= 0 (4.51c)

where the transformation of the parameter Q∗ is given by:

Q∗m(x) =

∫ H

0Q∗(x, y)Ym dy (4.52)

Equation (4.51) admits a closed-form analytical solution.

p∗m(x) =1

4e−xβm

((−e2xβm − 1

)(coth(Lβm)− 1)

∫ L

0

eK1βmQ∗m(K1)

βmdK1−

2

∫ x

0

eK1βmQ∗m(K1)

βmdK1 −

(e2xβm + 1

)(coth(Lβm) + 1)

∫ L

0

e−K2βmQ∗m(K2)

βmdK2+

2e2xβm

∫ x

0

e−K2βmQ∗m(K2)

βmdK2

)(4.53)

where K1 and K2 are dummy integration variables.

4.4.2 Equation transformation for m = 0

In order to obtain the transformed differential equation for β = 0, a very similar

process is done by applying the operator1∫ H

0 (•) dy on the filtered Poisson equation

(4.7). The transformed equation is given bellow:

∂2p∗0(x)

∂x2= Q∗0(x) (4.54a)(

∂p∗0(x)

∂x

)x=0

= 0 (4.54b)(∂p∗0(x)

∂x

)x=L

= 0 (4.54c)

1 It is already known that Y0 = 1, so the operator∫H0

(•)Y0(y) dy becomes∫H0

(•) dy.

38

Page 52: solution of the incompressible navier-stokes equations by projection

where

Q∗0(x) =

∫ H

0Q∗(x, y) dy (4.55)

which has the closed-form analytical solution after integrating twice:

∂p∗0(x)

∂x=

∫ x

0Q∗0(K1) dK1 + c1 (4.56)

p∗0(x) =

∫ x

0

∫ K2

0Q∗0(K1) dK1 dK2 + c1 x+ c2 (4.57)

where K1 and K2 are dummy integration variables and c1 and c2 are integration con-

stants.

By applying the boundary conditions, one arrives to the following system of equa-

tions:

c1 = 0, (4.58)

0 =

∫ L

0Q∗0(x) dx+ c1 (4.59)

which means that the integral must be zero:

∫ L

0Q∗0(x) dx = 0 (4.60)

Replacing the definition of Q∗0 (4.55) in the equation (4.60):

∫ L

0

∫ H

0Q(x, y) dy dx = 0 (4.61)

It is easy to see that this integral is in fact equal to zero due to the compatibility

condition (2.7). In order to obtain c2 we need to use the extra condition for the Poisson

equation (2.3). Applying the integral operator∫ L

0 (•) dx in the equation (4.57) and

already knowing that c1 = 0.

∫ L

0p∗0(x) dx =

∫ L

0

∫ x

0

∫ K2

0Q∗0(K1) dK1 dK2 dx+

∫ L

0c2 dx (4.62)

39

Page 53: solution of the incompressible navier-stokes equations by projection

As∫ L

0 p∗0(x) dx = 0 due to the extra condition (2.3), simplification yields:

c2 = − 1

L

∫ L

0

∫ x

0

∫ K2

0Q∗0(K1) dK1 dK2 dx (4.63)

Since we are only interested in the gradient of pressure and not in its absolute value

and c2 is just an additive constant, we can simply consider it to be equal to zero. Finally

we obtain the solution for the transformed pressure:

p∗0(x) =

∫ x

0

∫ K2

0Q∗0(K1) dK1 dK2 (4.64)

4.4.3 Recovery of the original pressure field

In order to recover the original filtered pressure p∗ we only need to used the inversion

formula (4.47b):

p∗(x, y) =p∗0(x)

Ny0

+

mmax∑m=1

Ym(y)p∗m(x)

Nym(4.65)

Again, the summation must be truncated to a finite value (mmax) to be obtained.

The main advantage of this method is that, besides requiring more analytical manipu-

lation, the solution has only one summation compared to the Double Transformation.

4.4.4 Integration of the discrete fields

Using the same procedure showed in the previous section, the Taylor series (4.37) is

used to obtain an approximation of Q inside each cell. Again, the required order is 2,

so rmax = 0 and smax = 0 are chosen, resulting in the following scheme:

∫ H

0

∫ L

0Q∗(x, y) Λ(x, y) dx dy ≈

imax∑i=1

jmax∑j=1

Q∗i,j

∫ yj+∆y/2

yj−∆y/2

∫ xi+∆x/2

xi−∆x/2Λ(x, y) dx dy (4.66)

∫ xi

0

∫ H

0Q∗(K1, y)Λ(K1, y) dy dK1 ≈

≈i−1∑q=1

jmax∑r=1

Q∗q,r

(∫ ∆x2

+xq

xq−∆x2

∫ ∆y2

+yr

yr−∆y2

Λ(K1, y) dy dK1

)+

+

jmax∑r=1

Q∗i,r

(∫ xi

xi−∆x2

∫ ∆y2

+yr

yr−∆y2

Λ(K1, y) dy dK1

)(4.67)

40

Page 54: solution of the incompressible navier-stokes equations by projection

∫ xi

0

∫ K2

0

∫ H

0Q∗(K1, y)Λ(K1, y) dy dK1 dK2 ≈

≈jmax∑r=1

Q∗i,r

∫ xi

xi−∆x2

(∫ K2

xi−∆x2

(∫ ∆y2

+yr

yr−∆y2

Λ(K1, y) dy

)dK1

)dK2+

+

i−1∑s=1

jmax∑r=1

Q∗s,r

∫ ∆x2

+xs

xs−∆x2

(∫ K2

xs−∆x2

(∫ ∆y2

+yr

yr−∆y2

Λ(K1, y) dy

)dK1

)dK2+

+

i−1∑s=1

jmax∑r=1

Q∗s,r1

2∆x

∫ ∆x2

+xs

xs−∆x2

(∫ ∆y2

+yr

yr−∆y2

Λ(K1, y) dy

)dK1+

+i−1∑s=1

s−1∑q=1

jmax∑r=1

Q∗q,r∆x

∫ ∆x2

+x(q)

x(q)−∆x2

(∫ ∆y2

+yr

yr−∆y2

Λ(K1, y) dy

)dK1 (4.68)

where Λ(x, y) is a general function, the integrals are computed analytically and K1 and

K2 are dummy integration variables.

The same procedure could be done transforming in the x-direction resulting in the

exact same result just swapping x by y.

4.5 Finite Volume Methods

A classic second order Finite Volume Method (FVM) [23] is also developed in this

work in order to validate and compare the results. The first step of the formulation is

the integration of the Poisson equation (4.3) in one cell of the discretized domain.

∫ yj+∆y/2

yj−∆y/2

∫ xi+∆x/2

xi−∆x/2

∂2p

∂x2dx dy +

∫ yj+∆y/2

yj−∆y/2

∫ xi+∆x/2

xi−∆x/2

∂2p

∂y2dx dy =

=

∫ yj+∆y/2

yj−∆y/2

∫ xi+∆x/2

xi−∆x/2Qdx dy (4.69)

Using a second order FVM classic approach, one could easily approximate the above

equation and obtain the following discretized equation:

pi−1,j − 2pi,j + pi+1,j

∆x2+pi,j−1 − 2pi,j + pi,j+1

∆y2= Qi,j (4.70)

which is valid for the internal cells (1 < i < imax and 1 < j < jmax).

For the boundary cells, the boundary conditions should be applied, resulting in the

following scheme:

41

Page 55: solution of the incompressible navier-stokes equations by projection

• For 1 < i < imax and j = jmax:

pi−1,j − 2pi,j + pi+1,j

∆x2+pi,j−1 − pi,j

∆y2= Qi,j −

BNi

∆y(4.71)

• For 1 < i < imax and j = 1:

pi−1,j − 2pi,j + pi+1,j

∆x2+−pi,j + pi,j+1

∆y2= Qi,j +

BSi

∆y(4.72)

• For i = imax and 1 < j < jmax

pi−1,j − pi,j∆x2

+pi,j−1 − 2pi,j + pi,j+1

∆y2= Qi,j −

BEj

∆x(4.73)

• For i = 1 and 1 < j < jmax

−pi,j + pi+1,j

∆x2+pi,j−1 − 2pi,j + pi,j+1

∆y2= Qi,j +

BWj

∆x(4.74)

• For i = imax and j = 1

pi−1,j − pi,j∆x2

+−pi,j + pi,j+1

∆y2= Qi,j −

BEj

∆x+

BSi

∆y(4.75)

• For i = imax and j = jmax

pi−1,j − pi,j∆x2

+pi,j−1 − pi,j

∆y2= Qi,j −

BEj

∆x− BNi

∆y(4.76)

• For i = 1 and j = jmax

−pi,j + pi+1,j

∆x2+pi,j−1 − pi,j

∆y2= Qi,j +

BWj

∆x− BNi

∆y(4.77)

• For i = 1 and j = 1

−pi,j + pi+1,j

∆x2+−pi,j + pi,j+1

∆y2= Qi,j +

BWj

∆x+

BSi

∆y(4.78)

This system of equations can now be solved using an iterative solver. For the

present work, the Gauss-Seidel method will be used. In order to implement the Gauss-

Seidel method, the nonuniquiness condition (2.3) of the Poisson Neumann problem is

implemented within the solver subroutine, which automatically applies this condition

at each iteration.

42

Page 56: solution of the incompressible navier-stokes equations by projection

Chapter 5

Results

In this chapter the results obtained from the computational code developed using

the new formulation will be presented. In the first section a comparison between the

two proposed methodologies for the solution of the pressure Poisson equation will be

presented and a comparison of computational time will be done. In the second section,

the solution of the incompressible flow in two test cases simulated by the proposed

method will be presented.

The codes were implemented in FORTRAN 90 using GFortran [80]. They were

compiled in serial computation, using the -O3 optimization flag and executed on an

Intel(R) Core (TM) i7-4820K 3.70GHz CPU.

5.1 Poisson Equation

This section will present some results for the solution of the Poisson equation for

the pressure field only. For all cases presented in this section, L = 1, H = 1, ρ = 1 and

µ = 1 were used and the source term of the Poisson equation (4.3) was assumed to be

of the following form:

Q = − sin

(2π y

H

)− sin

(2π x

L

)(5.1)

43

Page 57: solution of the incompressible navier-stokes equations by projection

with the following boundary conditions:

BW = BE = BS = BN = 0 (5.2)

The formulation proposed above complies with the compatibility condition (2.7)

and the figure 5.1 shows the solution of the pressure Poisson equation for the proposed

problem.

0.0

0.5

1.0

x

0.0

0.5

1.0

y

-0.1

0.0

0.1p

Fig. 5.1: Solution of the pressure Poisson equation using the proposed sourceterm.

5.1.1 Convergence Analysis

With the results obtained, the convergence will be analyzed and discussed in this

subsection. The absolute error for the convergence analysis in x-direction used for

graphics and tables is:

εxi,j(imax) = pi,j(imax, 1000)− pi,j(2imax, 1000) (5.3)

44

Page 58: solution of the incompressible navier-stokes equations by projection

where the absolute error ε is calculated at the mesh point (i, j) and for a mesh size (imax, 1000).

For the y-direction:

εyi,j(jmax) = pi,j(1000, jmax)− pi,j(1000, 2jmax) (5.4)

where the absolute error ε is calculated at the mesh point (i, j) and for a mesh size

(1000, jmax). For the calculation of the error in the x-direction, a refined mesh of 1000

divisions in y-direction was used (imax � jmax) in order minimize the effects of the

y-direction convergence and guarantee that the error in the x-direction is dominat. The

same 1000 mesh divisions in y was used for the error in the x-direction (jmax � imax).

In this particular problem, for the Double Transformation scheme (4.33) the trun-

cation orders will be the same for all three summations of the solution (kmax = nmax =

mmax). Hence, kmax will be used to refer to Double Transformation truncation order as

mmax will be used for Single Transformation.

0.01 0.02 0.05 0.10

5.×10-61.×10-5

5.×10-51.×10-4

5.×10-410-3

Δx

ϵx

mmax=20

● Present Results

2nd order curve

Fig. 5.2: Single Transformation: Maximum absolute error vs. ∆x for ∆y =1/1000, plotted together with the theoretical second order curve.

Since the variation of mmax and kmax is almost unnoticeable in graphical curves,

table 5.1 shows numerical values of the absolute error for many ∆x, ∆y and mmax,

kmax for single and double transformation. It is possible to see that the variation of

mmax and kmax has almost no effect for the majority of the cases. This shows that

the Integral Transform Technique converges very fast. It can also be seen that the

approximation order of the domain discretization remains 2, no matter what mmax is

utilized. This fast convergence was already expected due to the source term being

45

Page 59: solution of the incompressible navier-stokes equations by projection

0.01 0.02 0.05 0.10

5.×10-61.×10-5

5.×10-51.×10-4

5.×10-410-3

Δx

ϵx

kmax=20

● Present Results

2nd order curve

Fig. 5.3: Double Transformation: Maximum absolute error vs. ∆x for ∆y =1/1000, plotted together with the theoretical second order curve.

0.01 0.02 0.05 0.10

5.×10-61.×10-5

5.×10-51.×10-4

5.×10-410-3

Δy

ϵy

mmax=20

● Present Results

2nd order curve

Fig. 5.4: Single Transformation: Maximum absolute error vs. ∆y for ∆x =1/1000, plotted together with the theoretical second order curve.

a function of sines and cosines, which facilitates the CITT convergence. Since this

preliminary study aims to evaluate only the converge, it will be used. Furthermore,

this source term was also chosen to comply with the Neumann Poisson compatibility

conditions (2.7). For simplicity, this section will show the figures for a fixed mmax = 20

and kmax = 20.

In order to illustrate the convergence of the solution with the variation of ∆x, fig-

ures 5.2 and 5.3 show graphics of the maximum absolute error versus ∆x mesh size,

where the former figure corresponds to Single Transformation and the latter to Double

Transformation. As one can observe the convergence order is very close to 2, which

was expected since all approximations made in the mathematical formulation had this

46

Page 60: solution of the incompressible navier-stokes equations by projection

0.01 0.02 0.05 0.10

5.×10-61.×10-5

5.×10-51.×10-4

5.×10-410-3

Δy

ϵy

kmax=20

● Present Results

2nd order curve

Fig. 5.5: Double Transformation: Maximum absolute error vs. ∆y for ∆x =1/1000, plotted together with the theoretical second order curve.

Tab. 5.1: Absolute error calculated for ∆y = 1000−1 and ∆x = 1000−1, for manynmax (Single Transformation) and kmax (Double Transformation).

Single Transformation (∆y = 1/1000)nmax ∆x = 0.1 ∆x = 0.05 ∆x = 0.025 ∆x = 0.0125

10 1.06254× 10−3 2.56432× 10−4 6.27369× 10−5 1.55104× 10−5

20 1.06254× 10−3 2.56432× 10−4 6.27369× 10−5 1.55104× 10−5

30 1.06254× 10−3 2.56432× 10−4 6.27369× 10−5 1.55104× 10−5

Double Transformation (∆y = 1/1000)kmax ∆x = 0.1 ∆x = 0.05 ∆x = 0.025 ∆x = 0.0125

10 1.05115× 10−3 2.57722× 10−4 6.08988× 10−5 1.48577× 10−5

20 1.05870× 10−3 2.58233× 10−4 6.22900× 10−5 1.51263× 10−5

30 1.06621× 10−3 2.53687× 10−4 6.29041× 10−5 1.52816× 10−5

Single Transformation (∆x = 1/1000)nmax ∆y = 0.1 ∆y = 0.05 ∆y = 0.025 ∆y = 0.0125

10 1.05115× 10−3 2.57722× 10−4 6.08988× 10−5 1.48577× 10−5

20 1.05870× 10−3 2.58233× 10−4 6.22900× 10−5 1.51263× 10−5

30 1.06621× 10−3 2.53687× 10−4 6.29041× 10−5 1.52816× 10−5

Double Transformation (∆x = 1/1000)kmax ∆y = 0.1 ∆y = 0.05 ∆y = 0.025 ∆y = 0.0125

10 1.05115× 10−3 2.57722× 10−4 6.08988× 10−5 1.48577× 10−5

20 1.05870× 10−3 2.58233× 10−4 6.22900× 10−5 1.51263× 10−5

30 1.06621× 10−3 2.53687× 10−4 6.29041× 10−5 1.52816× 10−5

47

Page 61: solution of the incompressible navier-stokes equations by projection

theoretical order. In other hand, figures 5.4 and 5.5 show the convergence of the ab-

solute error in respect to ∆y. The same behavior is seen, with the convergence order

approaching to 2.

5.1.2 Computational Time Analysis

For this subsection the same problem considered in the previous section (equations

(5.1) and (5.2)) will be considered and ∆x = ∆y will be utilized for all presented

cases. Figure 5.6 presents a comparison of the CPU time versus the summation trunca-

tion error for single and Double Transformation strategies. As can be seen, the Single

Transformation has better performance using approximately between 5 to 20 times less

computational time to obtain the same error as the Double Transformation. In other

words, the final performance of the CITT Single Transformation makes up for the bigger

effort in the analytical manipulation, showing that this is a better approach as already

expected.

Figure 5.7 shows a graphic comparing the Single Transformation and Double Trans-

formation to achieve a summation truncation error of 10−6 for different meshes. As can

be seen, the single transformation is faster on all the simulated meshes.

Another work by Chalhub et al. [81] did the same analysis for a different source term

Q = (x4 +x3 +x2 +x−77/60)(y4 +y3 +y2 +y). This source term also complies with the

compatibility condition however it does not have the sines and cosines nature, making

it more difficult for the CITT convergence. Results obtained by [81] were very similar

to the ones shown in this work and the conclusion was the same: Single Transformation

is much faster than Double Transformation.

In conclusion, the Single Transformation consumes much less CPU time. Hence,

from now on, in this work, the results will be presented only for CITT Single Transfor-

mation to solve the complete incompressible Navier-Stokes system.

5.2 Incompressible Navier-Stokes Test Cases

In this section the solution of some classic test cases in the literature will be com-

puted to validate the proposed formulation and evaluate its performance for more de-

manding problems. Three methods are computed and evaluated: CITT using Single

48

Page 62: solution of the incompressible navier-stokes equations by projection

■■

10-9 10-8 10-7 10-6 10-5 10-40.1

0.5

1

5

10

Sum Truncation Error

TotalCPUTime(s)

Δx = Δy = 0.025; imax = jmax = 40

● Single Tranf.

■ Double Transf.

■■

10-9 10-8 10-7 10-6 10-5 10-4

1

5

10

50

Sum Truncation Error

TotalCPUTime(s)

Δx = Δy = 0.0125; imax = jmax = 80

● Single Tranf.

■ Double Transf.

10-9 10-8 10-7 10-6 10-5 10-45

10

50

100

Sum Truncation Error

TotalCPUTime(s)

Δx = Δy = 0.00625; imax = jmax = 160

● Single Tranf.

■ Double Transf.

Fig. 5.6: Comparison of the computational time of CITT using single transfor-mation and CITT using double transformation.

49

Page 63: solution of the incompressible navier-stokes equations by projection

0.005 0.010 0.020 0.050

0.1

1

10

100

Δx = Δy

TotalCPUTime(s)

Sum Truncation Error = 10-6

● Single Tranf.

■ Double Transf.

Fig. 5.7: Comparison of the computational time of CITT using single transfor-mation and CITT using double transformation to achieve an absoluteerror of 10−6.

Transformation with filtering scheme (CITT-ST-F), CITT using Single Transforma-

tion without filtering scheme (CITT-ST) and a code developed using Finite Volumes

Methods (FVM) [23] together with Gauss-Seidel linear system solver [73]. As discussed

previously, the CITT using Double Transformation will not be presented in the following

section due to its poor performance.

For the computation of the test cases, all results were calculated with prescribed

relative precision of 10−6 for the Gauss-Seidel iterative solver used in FVM and also

for the CITT summation series convergence. In order to guarantee this precision in

the truncated summations, an automatic truncation procedure was developed and im-

plemented. The Projection Method was used and the time-steps ∆t utilized were the

same for all methods. The results computed in the current work were carried out using

only uniform meshes and also considering ∆x = ∆y. Neumann boundary conditions for

pressure on all impermeable/no slip walls were approximated to zero without violating

the compatibility condition (2.7).

The computational time showed in the next sections stands for: The CPU time for

each time step to calculate the coefficients and the summation for CITT; and the CPU

time to mount the matrix and to solve the system for FVM.

50

Page 64: solution of the incompressible navier-stokes equations by projection

5.2.1 Lid-Driven Cavity

The first test case to be solved using the new methodology is the classic lid-driven

cavity problem. Figure 5.8 shows the geometry of this type of problem with its boundary

conditions together with the appropriate nomenclature. In this type of flow, the flow

is driven by the upper wall and several standing vortices exist inside the cavity whose

characteristics are functions of Reynolds numbers.

1; 0; / 0u v p y= = ∂ ∂ =

L

0

0

u

v

=

=

0

0

u

v

=

=

x

y

0; 0; / 0u v p y= = ∂ ∂ =

0

/ 0

v

p x

=

∂ ∂ =

0

/ 0

v

p x

=

∂ ∂ =

L

Fig. 5.8: Geometry of the lid-driven cavity flow [1].

Impermeable/no slip boundary conditions are used for the entire boundary, resulting

in the following formulation for x-component of the velocities:

u(0, y) = 0 (5.5)

u(L, y) = 0 (5.6)

u(x, 0) = 0 (5.7)

u(x, L) = Ulid (5.8)

51

Page 65: solution of the incompressible navier-stokes equations by projection

and for the y-component:

v(0, y) = 0 (5.9)

v(L, y) = 0 (5.10)

v(x, 0) = 0 (5.11)

v(x, L) = 0 (5.12)

The normal gradient of the pressure is considered to be zero (∇p · n = 0) on the

entire boundary. The proposed boundary condition for pressure complies with the

compatibility condition (2.7).

The Reynolds number is computed using the characteristic length L using the fol-

lowing formula:

ReL =ρUlid L

µ(5.13)

where Ulid is the velocity of the lid and L is the length and height of the square cavity.

In order to illustrate the solution, figure 5.9 shows the streamlines for the lid-driven

cavity flow for the three solved Reynolds numbers with a mesh of 80 × 80. No visual

difference was observed between the three methods, so only the case computed by CITT-

ST-F is displayed. One can see that the corner eddies become more prominent when

the Reynolds is increased as expected from the literature [2].

Figures 5.10 and 5.11 show the streamwise velocity obtained from the novel method-

ologies at the midplane of the cavity (x = 0.5L and y = 0.5L) for Re = 100 and Re = 400

respectively, where the results from Ghia et al. [2] are also presented for comparison

purposes. As can be seen, the results for the present work using a mesh of 80×80 are in

good agreement with the literature data. From the graphics of the figures 5.10 and 5.11,

it is easy to note that all the three methods shown are graphically identical. Higher

Reynolds numbers require more refined meshes to converge as can be noted by a slight

difference between the present results and the data from [2] for Re = 400. Comparing

both velocity curves from figure 5.11 and noting that the difference between lines and

solid points are slightly higher for the v-component, one can realize that the horizontal

velocity component u also converges faster than the vertical component v.

Figures 5.12 to 5.14 display the computational time required by each time-step

52

Page 66: solution of the incompressible navier-stokes equations by projection

until the steady state is reached for various meshes and Reynolds numbers. The first

point that draws attention is that the CITT-ST clearly requires the highest CPU time

overall. However, when the filter scheme is utilized (CITT-ST-F), the computational

time drops dramatically. While CITT-ST behavior remains approximately constant

with time-step, CITT-ST-F requires computational time gradually decreases with time-

steps. This behavior was expected due to the CITT-ST-F algorithm being fed by the

pressure calculated at the previous time-step and so improving the CPU time required

at each time-step. For FVM, a similar behavior is seen, with the computational time

decreasing gradually with time-step. For very poorly refined meshes (imax = jmax = 20)

the performance from CITT-ST-F and FVM are similar. However, when the mesh is

refined (imax = jmax ≥ 40), CITT-ST-F increasingly overcomes FVM performance.

The increase in performance seen for CITT-ST-F with the mesh refinement can be

explained by the semi-discrete integrals of the source term (equations (4.66) to (4.68))

being computed more accurately in more refined meshes. Hence, less terms in the

summation are required to achieve the prescribed precision.

In figure 5.15 the previous observations are summarized. It presents the total com-

putational time required to achieve steady state versus mesh size. The behavior of the

three graphics are very similar, which shows that they have low dependence on Reynold

number. As already mentioned, CITT-ST requires more time for all meshes, FVM and

CITT-ST-F are similar for higher ∆x = ∆y but CITT-ST-F has a better performance

for refined meshes.

53

Page 67: solution of the incompressible navier-stokes equations by projection

0.0 0.2 0.4 0.6 0.8 1.00.0

0.2

0.4

0.6

0.8

1.0

x

y

ReL=1; Δx=Δy=0.0125; imax= jmax=80

0.0 0.2 0.4 0.6 0.8 1.00.0

0.2

0.4

0.6

0.8

1.0

x

y

ReL=100; Δx=Δy=0.0125; imax= jmax=80

0.0 0.2 0.4 0.6 0.8 1.00.0

0.2

0.4

0.6

0.8

1.0

x

y

ReL=400; Δx=Δy=0.0125; imax= jmax=80

Fig. 5.9: Streamlines of the flow inside the lid-driven cavity simulated by CITTusing single transformation with filter scheme and with imax = jmax =80.

54

Page 68: solution of the incompressible navier-stokes equations by projection

●●●●

●●●

●●

●●●●●

0.0 0.2 0.4 0.6 0.8 1.0

-0.2

0.0

0.2

0.4

0.6

0.8

1.0

y

u

ReL=100; Δx=Δy=0.0125; imax= jmax=80

● Ghia et al, 1982

Finite Volumes

Single Tranf.

Single Tranf. (Filter)

●●●●

●●

●●●

●●●●

0.0 0.2 0.4 0.6 0.8 1.0

-0.2

-0.1

0.0

0.1

x

v

ReL=100; Δx=Δy=0.0125; imax= jmax=80

● Ghia et al, 1982

Finite Volumes

Single Tranf.

Single Tranf. (Filter)

Fig. 5.10: Lid-Driven Cavity: Profile of streamwise velocity at the midplane ofthe cavity (x = 0.5L and y = 0.5L) for Re = 100: Comparison of thepresent results with the work of Ghia et al. [2].

55

Page 69: solution of the incompressible navier-stokes equations by projection

●●●●

●●

●●

●●●●

0.0 0.2 0.4 0.6 0.8 1.0-0.4

-0.2

0.0

0.2

0.4

0.6

0.8

1.0

y

u

ReL=400; Δx=Δy=0.0125; imax= jmax=80

● Ghia et al, 1982

Finite Volumes

Single Tranf.

Single Tranf. (Filter)

●●●●

●●●

●●●●

0.0 0.2 0.4 0.6 0.8 1.0

-0.4

-0.2

0.0

0.2

x

v

ReL=400; Δx=Δy=0.0125; imax= jmax=80

● Ghia et al, 1982

Finite Volumes

Single Tranf.

Single Tranf. (Filter)

Fig. 5.11: Lid-Driven Cavity: Profile of streamwise velocity at the midplane ofthe cavity (x = 0.5L and y = 0.5L) for Re = 400: Comparison of thepresent results with the work of Ghia et al. [2].

56

Page 70: solution of the incompressible navier-stokes equations by projection

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■

■■■■■■

■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■

■■

■■■

■■■■

■■

■■■■■

■■■

■■

■■

■■

■■■■

■■■

■■

■■■■

■■■

■■■

■■■■■

■■

■■■■■■■■■■■■■■

■■

■■

■■

■■

■■■

■■■■■

■■■■

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

○○○○○○○○○○○○○○○

○○○○○○○○○○○○○

○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○

○○○○○○○

○○○○○○○

○○○

○○○

○○○○○○○○○○○○○○○○○○○

○○○

○○

○○

○○○○○○

○○○

○○○○

○○○○○

○○○○

○○

○○○

○○○○

○○

○○○○○

○○

○○

○○○

○○○

○○○

○○○

○○○○○○

○○○○○○○

○○○

○○○○○

○○○○

○○

○○○○

○○

○○

○○○○○○○○○

○○○

0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14

0.001

0.005

0.010

0.050

0.100

Time-Step (s)

CPUTime(s)

Δx=Δy=0.05; imax= jmax=20

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

○○○○

○○

○○○○○○○○○○○○○○○○○○○○

○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○

○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○

○○

○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○

○○

○○○○○○○

○○○

○○○○○○

○○○○

○○○○

○○○○○○○○○○○○○○

○○○○○○○

○○○○○○○○

○○

○○○○○

○○○

○○○○

○○○○○○○○○○○○○

○○

○○○○○○

○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○

○○

○○○○

○○○○○○○○○○○○○○○

○○○○○○○○○○

○○○○○

○○

○○○○○

○○○○○

○○○○○

○○○

○○○

○○

○○

○○○○○○○

○○○○○○○○○○○○○○○○○○○○

○○

○○○

○○

○○

○○○○○○○○○○○○○○○○○○○○○○○

○○○○○

○○

○○○○

○○○○○

○○○○○○○○○○○○

○○

○○

○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○

○○○○○○○○

○○○

○○○○○○○○○○○○○○○

○○

○○

○○○○○

○○○

○○

○○○○○○○○

○○

○○○○

○○

○○○

○○

○○

○○○○○

○○○○○○○○○○

○○

○○

○○

○○○

○○○○○

○○○○○○○○

○○○○○○○○○○○○○○○○○○

○○○

○○○○○○○○○○

○○○○○

○○

○○○○○○

○○

○○○

○○○

○○○○○

○○

○○

○○

○○○○○○

○○

○○○○

○○

○○○

○○

○○○

○○

○○○○○○○

○○○○○○

○○

○○○

○○

○○○○○○○○

○○○

○○○○○○

○○○○○

○○

○○

○○

○○

○○○○

○○○○○○

○○○○

○○○○○○

○○○○○○○○

○○

○○○○○○○○○

○○

○○○○

○○○○

○○○○○

○○

○○○○

○○○○

○○○○○○○○

○○○

○○○○○○○○○○○○○

○○○○○

○○

○○

○○○○

○○

○○○○○○○○○○○○○○○○○○

○○○

○○○

○○○○

○○

○○○○○○

○○○○○○○○○○○○○○○○○○○○

○○

○○

○○

○○

○○○

○○○○○○○○○○○○○○

○○○○○○○○○○○○○

○○○

○○○

○○○

○○

○○○○○○

○○○○○

○○○

○○○

0.00 0.02 0.04 0.06 0.08 0.10

0.02

0.05

0.10

0.20

0.50

Time-Step (s)

CPUTime(s)

Δx=Δy=0.025; imax= jmax=40

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■

■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

◇◇

◇◇

◇◇◇◇

◇◇◇◇◇◇

◇◇◇◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○

○○

○○○○○○○

○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○

○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○

○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○

○○○○○○○○○○○○○○

○○○○○○○○○○○○○

○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○

○○○○○○○

○○○○○○○○

○○○○○○○○○○○○○

○○

○○○○○○○○

○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○

○○○○○

○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○

○○○○○

○○○○○○○○○○○○○○○○○○○

○○

○○○○○○○○○

○○

○○○

○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○

○○○○○

○○○○○○○○○○○○○○

○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○

○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

0.00 0.02 0.04 0.06 0.08

0.5

1

5

10

Time-Step (s)

CPUTime(s)

Δx=Δy=0.0125; imax= jmax=80

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

Fig. 5.12: Lid-Driven Cavity: Plots showing the CPU time consumed for eachtime-step until the steady state for Re = 1, different meshes andmethodologies.

57

Page 71: solution of the incompressible navier-stokes equations by projection

■■

■■■■■■■■■■■

■■■■■

■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■■■

■■■■■■■

■■■■■■

■■■■■■■■■■■■■

■■■■■

■■

■■

■■■

■■

■■■■■■

■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■

■■

■■

■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇

○○

○○

○○○

○○

○○

○○○

○○○○○○○

○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○

○○○

○○○○○

○○○○○○○

○○○○○○○○○○○○○

○○○○○

○○○○○○○○○○

○○○

○○○○○○○○○○

○○○○○○○○○

○○

○○

○○

○○

○○○

○○○○○○

○○

○○○○○○○○○○

○○

○○○○

○○○○○

○○

○○○○○○○○○○○○○○○

○○○○○○○○○○○○

○○○○○○○

○○○

○○○○

○○○

○○○

○○

○○

○○

○○○○○

○○○

○○

○○○

○○○

0 2 4 6 8 10 12 14

0.005

0.010

0.050

0.100

Time-Step (s)

CPUTime(s)

Δx=Δy=0.05; imax= jmax=20

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

■■■■■■■■■■■■

■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■

■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■■■

■■■

■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

○○○○○○○○○○○○○○○○

○○○○

○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○

○○

○○○○○

○○

○○○

○○○

○○○○○○○

○○○○○○

○○○○○○○○○

○○

○○○○

○○○○○○○○○○○○

○○○○○○○

○○○○○○○

○○

○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○

○○○

○○○○○○○○○○

○○○○○○○○○

○○○○○○○○○○○○○○○○

○○○○○

○○○○○○○○○○○○○○○○○○

○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○

○○○○○○

○○○○○○○○○○○○○

○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○

○○○○○○

○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○

○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○

○○○○○○○○

○○○○○○○○○○○○○○○○○○○

○○

○○○○

○○○○○

○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○

○○○○

○○○○○○○○○○○○○○○○○○○○○○

○○○○○

○○

○○

○○○

○○○○

○○○

○○○○○○○○○○○○○

○○

○○○○○

○○○○○○○○

○○○○

○○○○○○○○○○○

○○

○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○

○○○○○○○○

○○○○

○○○○○

○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○

○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○

○○

○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○

○○○○○

○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○

○○○○

○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○

○○○

0 2 4 6 8 10

0.05

0.10

0.50

1

Time-Step (s)

CPUTime(s)

Δx=Δy=0.025; imax= jmax=40

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■

■■

■■■■■■■■■■■■■■■■■

■■

■■■■■■■

■■■

■■■

■■■■■■■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■

■■

■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■

■■■

■■

■■■■■■■■■■■■

■■

■■■■

■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■■

■■■■■

■■■■■

■■■

■■■■■■■

■■■■■

■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■■

■■■

■■■■■■■■

■■■■■■■

■■

■■■■■■■■

■■■■■■■■■■■■

■■■■■

■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■■

■■■■■■■■■

■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■

■■

■■■

■■■■■

■■■■■

■■■

■■■

■■■■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■

■■■■■■■

■■■■■■

■■■

■■■■■■■■■■■

■■■

■■

■■■■■■■

■■■■■■

■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■

■■■■■■

■■

■■■■■■■■■■■■■■■

■■■

■■■■■

■■■■■■■■■■■■■■■

■■

■■

■■■

■■■■■■

■■

■■

■■■

■■■■

■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■

■■■■■■

■■■

■■■■■■■■

■■

■■■

■■

■■■■■■■■■■■

■■■■■■■■■

■■

■■

■■■■■■■■

■■■■■■■■■■■■■■

■■■■

■■

■■■■■■■

■■■

■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■■

■■■

■■■■■■■■■■■

■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■

■■■■■■■■

■■■■■■

■■

■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■

■■■■■■

■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■

■■■■

■■■■■■■■■■

■■■

■■■■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■

■■■■■■■■

■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■

■■

■■

■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■

■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

◇◇

◇◇◇◇

◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

0 1 2 3 4 5 6 7

0.5

1

5

10

Time-Step (s)

CPUTime(s)

Δx=Δy=0.0125; imax= jmax=80

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

Fig. 5.13: Lid-Driven Cavity: Plots showing the CPU time consumed for eachtime-step until the steady state for Re = 100, different meshes andmethodologies.

58

Page 72: solution of the incompressible navier-stokes equations by projection

■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■

■■■■■

■■■■■■

■■■■■■■■■■■■

■■

■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■

■■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

◇◇◇◇◇

◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇

◇◇◇◇

◇◇◇◇

◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇

◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

○○

○○

○○○

○○○

○○○○○○○○○○

○○

○○○○

○○○○○○○○○○○

○○○○○○○

○○○○○○○○○○○○○○○

○○○

○○○○○○○○○○

○○○○○○○○○○○○○○○○

○○

○○○

○○○○○○○○○○○○○○○○○○○

○○○○

○○○○○○○○○○○○○○○○○○○○○○

○○

○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○

○○○○

○○○○○○○○○○○○○○

○○○

○○○○○○○○○○○○○○○○

○○

○○

○○

○○○○○

○○

○○○○○○○○○○

○○○○○○○○○

○○○○○○○○○○

○○

○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○

○○○○

○○○○○

○○○○○○○○

○○○○○○○○○○○○○○○○○○○○

○○○

○○○

○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○

○○○○○○○○○○○○○

○○○○○○○○○○○○○

○○

○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○

○○○○○○○○○○○○○○○○○

○○○○

○○○○○○○○○○○○○○○

○○

○○

○○

○○○○○

○○○○○

○○

○○○○○

○○○

○○○○

○○○

○○○

○○○○

○○○

○○○○

○○

○○

○○○○○○○○○○○○○○○○○○○○○○○

○○

○○○○○○○○○○○○○○○○○○○○○○○○

○○

○○

○○○○

○○○○

○○

○○

○○○○

○○○○○

0 5 10 15 20 25 30

0.005

0.010

0.050

0.100

Time-Step (s)

CPUTime(s)

Δx=Δy=0.05; imax= jmax=20

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■

■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

○○

○○○○○

○○○○○

○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○

○○○○○

○○○○○

○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○

○○○○○○○○○○○○○○○○○○○○

○○○○○○

○○○○

○○○○○○○○

○○○○○○○○○○○○○○

○○○

○○○○○○○○○○○○○○

○○○○

○○○

○○○○○

○○○○

○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○

○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○

○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○

○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○

○○○○○○○○○○○○○

○○○○○○○○○○○○

○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○

○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○

○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○

○○

○○○○

○○○○○

○○○○○○○○○○○○○○○○

○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○

○○○○○

○○○

○○○○○○○○○○○○○○○○○○○○

○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○

○○

○○○○○○○○○○○○○○○

○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○

○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○

○○○

○○○○○○○○○○○○○○○○

○○○

○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○

○○○○

○○○○○○○

○○○○○○○○

○○○○○○

○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○

○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○

○○○○○○○○○○○○○○

○○

○○○○○○○○○

○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○

○○○○○○○○

○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○

○○○○○○

○○○○○○○○○○

○○

○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○

○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○

○○

○○○

○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○

○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○

○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○

○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○

○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○

○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○

○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○

0 5 10 15 20 25

0.05

0.10

0.50

1

5

Time-Step (s)

CPUTime(s)

Δx=Δy=0.025; imax= jmax=40

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■

■■■■■■■■■■■■■

■■■■

■■■■■■■■

■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■

■■■■

■■■■■■■■■

■■■■■■■

■■■■

■■■■■

■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■■

■■

■■■■■■■

■■■■■■■

■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■■■■■

■■■■■■■■

■■■■■■■

■■■

■■■■■■■■■■■■■■■

■■■■

■■■

■■■■

■■■■

■■■■

■■■■■■■■■■■

■■■■■■■

■■■■■■

■■■■

■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■

■■

■■■■■■■■■■■■■■■■

■■■■■■■■

■■

■■

■■■■■■■■■■■■

■■■■■■■■

■■■■■■■

■■■■■

■■■■■■■■■■■■■

■■

■■■■■

■■■■■■■■■■

■■■■■■■

■■■

■■■■■■■

■■■■■

■■

■■

■■■

■■

■■■■■■■■■

■■■■■■■■

■■

■■■■■

■■■■■

■■■■■

■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■

■■■■■■

■■■■■

■■■

■■■■■■■■■■■

■■■■■■■■■■■

■■■■■■■■■

■■■

■■■

■■■■■■■■

■■■

■■■■■■

■■

■■

■■■

■■■■■■

■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■

■■■■■■■■■

■■■■■■■■■■■■

■■■■■■

■■■■

■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■

■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■

■■■■■■■■■

■■■

■■

■■■■■■■■■■■

■■■

■■■■■■■

■■■

■■■■■■■■■

■■

■■■■

■■■■■■■■■■■■■

■■■■■■■■■

■■■■

■■

■■■■

■■■■■■

■■■■

■■■■■■■■■■■■■■■■■■

■■■

■■■■■

■■

■■■■■■■■■

■■

■■■■■■■■■■

■■■■■■

■■■■■■■■

■■■

■■■■■■■■■

■■■■■■■

■■

■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■

■■

■■■■■■■■■■■■■

■■■■■■■■

■■■■■■

■■

■■■■

■■■■■■■

■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■

■■■■■■

■■

■■■

■■■■■■■■■

■■■■

■■■■■■

■■■■■■

■■■■

■■■■■■■■■■■■■

■■■■■■

■■■

■■■■■■■

■■■■■■■■■■■

■■

■■■■

■■

■■

■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■

■■■■■■■■

■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■

■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■■■

■■■■■■■■■■■

■■

■■■■■■■■

■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■

■■■■

■■■■■■

■■

■■

■■■■■■■

■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■

■■■■■■■■■■■■

■■■■■■■

■■■■■■

■■■

■■■■■■■■■■

■■■■■■■■■■■■■

■■■

■■■■■■■

■■■■■■■■

■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■

■■

■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■

■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■■

■■■■

■■■■■■

■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■

■■■■

■■■■■■

■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■

■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■■

■■■■

■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■

■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■■■

■■

■■■■■■

■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■

■■

■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■

■■■■■■■■■

■■

■■■■■■■■■

■■

■■■■■■■■■■■■

■■■

■■■■

■■■■■■■

■■■■

■■■

■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■

■■■■

■■■■

■■

■■■■■■■■■■■■

■■■■■■

■■■■■■■■

■■■

■■■■■■■■

■■■■■■■■■■

■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■■■

■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■

■■■

■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■

■■■■■■■■

■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■

■■■■■■■■■■■■■■■

■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■

■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■

■■■

■■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■

■■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■

■■■■■■■■■■

■■■■■

■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■

■■■■■

■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■

■■■■■■■■

■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■

■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■

■■■

■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■

■■■

■■■

■■■

■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■

■■■

■■■■■■

■■■■■■■■■

■■■■■■■

■■■■■

■■

■■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■

■■■■■■

■■■■■■■■■

■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■■■

■■■■■■■■

■■■■■■■■

■■

■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■

■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■

■■■■■■

■■■■

■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■

■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■

■■■■■

■■■■■■■■■

■■■

■■■■■■

■■■■■■■■■■■■■■

■■■

■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■

■■

■■■■■■■

■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■

■■■■■

■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■

■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■■■

■■■■■■

■■■■■■■■■■■■■■■

■■■■■■

■■■■■■■■■■■

■■■■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■

■■■■■■■■■■■■■■■

■■■■

■■■■■■■■

■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■

■■■■■■■■■■■■■■■■

■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■

■■■■■■■

■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■

■■■■■■

■■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■

■■■■■■■■■■■

■■■■■■■

■■

■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■

■■■■■■■■■

■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■

■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■■

■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■

■■■■■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■

■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■

■■■■■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■

■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■

■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■

■■■■■■

■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■

■■■■

■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○

○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

0 5 10 15

0.5

1

5

10

Time-Step (s)

CPUTime(s)

Δx=Δy=0.0125; imax= jmax=80

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

Fig. 5.14: Lid-Driven Cavity: Plots showing the CPU time consumed for eachtime-step until the steady state for Re = 400, different meshes andmethodologies.

59

Page 73: solution of the incompressible navier-stokes equations by projection

0.02 0.03 0.04 0.051

10

100

1000

104

Δx = Δy

TotalCPUTime(s)

ReL = 1

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

0.02 0.03 0.04 0.051

10

100

1000

104

Δx = Δy

TotalCPUTime(s)

ReL = 100

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

0.02 0.03 0.04 0.051

10

100

1000

104

105

Δx = Δy

TotalCPUTime(s)

ReL = 400

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

Fig. 5.15: Lid-Driven Cavity: Total computational time consumed to achievesteady state.

60

Page 74: solution of the incompressible navier-stokes equations by projection

5.2.2 Backward-Facing Step

The flow over a backward-facing step in a channel provides an excellent test case

for the accuracy of numerical method because of the dependence of the reattachment

length x1 on the Reynolds number. Excessive numerical smoothing in favor of stability

will result in failure to predict the correct reattachment length. Figure 5.16 shows

the geometry of this type of problem with its boundary conditions together with the

appropriate nomenclature. In this type of flow, there is an abrupt expansion in the form

of a step, the flow is considered to be fully developed in the inlet channel and also in

the outlet.

0; 0; p 0u v= = ∇ ⋅ =n

yH

( )inu

0u

x

∂=

∂2

6( )( )( )

( )

H y h yu y

H h

− − −=

x

y

h

x1

Fig. 5.16: Geometry of the backward-facing step flow [1].

The following boundary conditions for velocities are used:

u = 0 on walls (5.14)

v = 0 on walls (5.15)

u(0, y) =−6(H − y)(h− y)

(H − h)2uin for inlet (5.16)

v = 0 and∂v

∂x= 0 for inlet (5.17)

∂u

∂x= 0 for outlet (5.18)

∂v

∂x= 0 for outlet (5.19)

where two variations of the boundary conditions for the inlet y-component velocity v

are proposed: Dirichlet and Neumann.

61

Page 75: solution of the incompressible navier-stokes equations by projection

The boundary conditions for pressure are:

∇p · n = 0 on walls (5.20)

∂p

∂x= − 12 uin µ

(H − h)2for inlet (5.21)

∂p

∂x= −12 uin µ(1− h/H)

H2for outlet (5.22)

where h is the step height, H is the channel height and uin is the mean inlet velocity.

The expansion ratio used in this work was H/h = 2 and the Reynolds number is

computed using the inlet channel hydraulic diameter DH as characteristic length and

using the mean inlet velocity uin:

ReDH=ρ uinDH

µ(5.23)

DH = 2(H − h) (5.24)

Figure 5.17 illustrates the test case showing the backward-facing step flow stream-

lines for Reynolds numbers 1, 10 and 50. Once again, No visual difference was observed

between the three methods, so only the case computed by CITT-ST-F is displayed.

As can be observed, the corner vortex strongly increases in size as Reynolds number

increases. As consequence, the corner vortex reaches up to the corner of the step at

Re ≈ 10 and covers the complete face of the step. Hence a change in the entire flow

structure is observed and a recirculation region can be noticed, which for Re ≥ 10

better reflects the flow structure. With increasing Reynolds number the size of the

recirculation region, represented by the reattachment length steadily increases.

Figure 5.18 shows a comparison of the present results with the work of Biswas et al.

[3]. The variation of the reattachment length with respect to the Reynolds number

for ∆x = ∆y = 0.025 is presented. As can be seen, all the methodologies computed

have not shown any visual difference among them. The work of Biswas et al. [3] used

a different inlet condition, simulating an inlet channel and also a different expansion

ratio H/h = 1.9423 whereas the present work used H/h = 2, hence, this can explain

the slight difference between current results and [3]. Furthermore, one can see that the

inlet condition vinlet = 0 shows a better agreement with the literature.

62

Page 76: solution of the incompressible navier-stokes equations by projection

0.0 0.5 1.0 1.5 2.0 2.5 3.00.0

0.5

1.0

1.5

2.0

x

y

ReDH=1; Δx=Δy=0.025; jmax=80

0.0 0.5 1.0 1.5 2.0 2.5 3.00.0

0.5

1.0

1.5

2.0

x

y

ReDH=10; Δx=Δy=0.025; jmax=80

0.0 0.5 1.0 1.5 2.0 2.5 3.00.0

0.5

1.0

1.5

2.0

x

y

ReDH=50; Δx=Δy=0.025; jmax=80

Fig. 5.17: Streamlines of the flow inside the backward facing step geometry sim-ulated by CITT using single transformation with filter scheme, withjmax = 80 (∆x = ∆y) and for vinlet = 0.

63

Page 77: solution of the incompressible navier-stokes equations by projection

□□

◇◇

○○

■■

◆◆

●●

0.5 1 5 10 50 1000.0

0.5

1.0

1.5

2.0

2.5

3.0

3.5

ReDH

x1

Δx=Δy=0.025; jmax=80

Biswas et al, 2004

□ FVM for vinlet=0

◇ CITT-ST for vinlet=0

○ CITT-ST-F for vinlet=0

■ FVM for (∂v/∂x)inlet=0

◆ CITT-ST for (∂v/∂x)inlet=0

● CITT-ST-F for (∂v/∂x)inlet=0

Fig. 5.18: Backward-Facing Step: Reattachment length as function of Reynoldsnumber: Comparison of the present results with the work of Biswaset al. [3].

Similarly to what was observed in the previous test case, figures 5.19 to 5.21 show

the computational time consumed for each time-step for various meshes and Reynolds

numbers. The same conclusions from the Lid-Driven Cavity case can be easily obtained

from the graphics for FVM, CITT-ST and CITT-ST-F with the exception that, for this

case, CITT-ST method had a better performance than FVM for the more refined mesh.

Again, figure 5.22 summarizes the previous graphics, showing the total computa-

tional time require to reach steady state versus the mesh. As already seen, CITT-ST

requires more time for all meshes, FVM and CITT-ST-F are similar for higher ∆x = ∆y

but CITT-ST-F has a better performance for refined meshes.

64

Page 78: solution of the incompressible navier-stokes equations by projection

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■

◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇

◇◇

◇◇◇◇

◇◇◇◇◇◇

◇◇◇◇◇◇◇

◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇

◇◇◇◇

◇◇◇◇◇◇

◇◇◇◇◇

◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇

◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇

◇◇◇

◇◇◇◇

◇◇

◇◇◇◇

◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

○○○○○○○○○

○○○○

○○

○○

○○○○

○○○○○○

○○

○○○

○○○○

○○

○○○

○○○○○○○○○

○○

○○○

○○○○○○○

○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○

○○

○○○○○○○○○○

○○○○

○○○○○○○○

○○○○○○○○○○

○○

○○

○○

○○○○○○

○○○○

○○○

○○

○○○

○○○○

○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○

○○○○○○○○○○○○

○○○○○○○○○○○○○○○

○○

○○○○○○○○○○○○○

○○

○○○○○○○○○○

○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○

○○○○○○○○○○○○○

○○○○○○○○

○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○

○○○○○

○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○

○○○○○○○○○

○○○○

○○○○○○○○○○○○

0.00 0.05 0.10 0.15 0.200.005

0.010

0.050

0.100

Time-Step (s)

CPUTime(s)

Δx=Δy=0.1; jmax=20

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■

■■

■■

■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■

■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

◇◇◇

◇◇◇◇

◇◇

◇◇

◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇

◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

○○

○○○○○○

○○○○

○○○○○

○○○○○○○○○○

○○○○○○

○○

○○

○○○

○○○○○○○○○○○○

○○○○○

○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○

○○

○○○○

○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○

○○

○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○

○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○

○○○

○○○

○○

○○○

○○

○○

○○○○○○

○○○○○○○○○○○○○○○○○○

○○○○

○○○○○○

○○○○○○

○○

○○

○○○○

○○

○○

○○○○○○

○○○○○○○○

○○○○○

○○

○○

○○

○○

○○○

○○

○○○

○○○○○○○○○

○○○○

○○

○○○

○○○○

○○○○

○○○

○○○

○○○○○

○○○○

○○○○○○○○○○

○○○

○○○○○

○○○○○○○○○○○○

○○○○○○○○

○○○

○○○○○○○○○○○○

○○○○○○○○

○○○○○○

○○

○○○○

○○○

○○

○○

○○○

○○○○○

○○○

○○○○○

○○

○○○

○○○○

○○

○○○

○○○○○○○○○○○○○

○○○

○○○○○○○○○○○○

○○

○○

○○

○○○

○○○○○○○

○○

○○

○○

○○○○

○○○○

○○○○○○

○○

○○○○

○○

○○

○○

○○○○○○

○○

○○○○○

○○○○○

○○○○

○○

○○

○○

○○

○○○○○○

○○

○○

○○

○○

○○○

○○○

○○

○○

○○○

○○

○○

○○

○○

○○○○

0.00 0.05 0.10 0.15 0.20

0.05

0.10

0.50

1

Time-Step (s)

CPUTime(s)

Δx=Δy=0.05; jmax=40

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■

■■

■■

■■

■■■■■■■

■■■■■■■■■■■■■

■■■

■■■■■■■

■■■■■■■■■

■■

■■

■■■

■■■■■■■■■

■■■■■■■■■

■■■■■■■■

■■■■■■■■

■■

■■

■■

■■■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■

■■■

■■■■■■■■■■■

■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■

■■

■■

■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■

■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■

■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■■

■■■

■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇

◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

○○

○○○○○○○○○○

○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

0.00 0.05 0.10 0.150.5

1

5

10

Time-Step (s)

CPUTime(s)

Δx=Δy=0.025; jmax=80

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

Fig. 5.19: Backward-Facing Step: Plots showing the CPU time consumed foreach time-step until the steady state for Re = 1, different meshes andmethodologies.

65

Page 79: solution of the incompressible navier-stokes equations by projection

■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■

■■■■■

■■■■■■

■■■■

■■

■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

◇◇◇

◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇

◇◇◇◇◇

◇◇◇◇

◇◇◇

◇◇◇◇

◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇

◇◇◇

◇◇◇

◇◇◇◇◇

◇◇◇

◇◇◇◇◇◇◇

◇◇◇◇◇◇◇

◇◇◇◇

◇◇◇

◇◇

◇◇

◇◇◇◇

◇◇◇

◇◇

◇◇

◇◇◇

◇◇◇◇◇◇

◇◇

◇◇

◇◇

◇◇◇◇◇

◇◇

◇◇◇

◇◇

◇◇◇◇◇

◇◇

◇◇

◇◇◇◇◇

◇◇

◇◇

◇◇◇

◇◇

◇◇◇◇◇

◇◇

◇◇◇

◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇

◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

○○○○○

○○○

○○○○○

○○○○○○○○○○

○○○○○

○○○○○○○

○○○○

○○○

○○

○○

○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○

○○○○○○○○○○○○○○○○○

○○○○○○○○○○

○○○

○○○

○○○○

○○○○

○○○

○○

○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○

○○○○

○○○○○○○○○

○○

○○○○○○○○

○○○○○○○○

○○

○○○

○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○

○○○○○○○

○○○○

○○○

○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.50.005

0.010

0.050

0.100

Time-Step (s)

CPUTime(s)

Δx=Δy=0.1; jmax=20

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■

■■■■

■■■■■■■■■

■■■■■■■

■■■■■■■■■

■■■■■■■

■■■■■■■■■

■■■■■■

■■

■■■■

■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■

■■■■■■■■■■

■■■■■■■

■■■■■

■■■■■■■

■■

■■■■■■■■

■■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■

■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇

◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

○○

○○○○○○○○○

○○○○○○○

○○○○○○○○

○○○○○○○○○○○○○○○○

○○○○○○○○

○○○○○○

○○

○○○○○○○○○

○○○○○○○○○

○○○○○○

○○○○○

○○

○○○○○○○○○○

○○○○○○

○○○

○○

○○

○○

○○○○○○○○○

○○

○○

○○

○○

○○○○○

○○○

○○

○○

○○○○

○○○○

○○

○○

○○○○○○○○○

○○○○○○○○○

○○○○○○○

○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○

○○○○○○○○○○○○

○○○○○○○○○○○○○○

○○○○

○○○○○○○○

○○○○○

○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○

○○○○○○○○○○○

○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○

○○○○○○○

○○○

○○○○

○○○○○○○

○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○

○○○○○○

○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○

○○○○○

○○○

○○○○○

○○○○○○○○○○○○○○○○○○○○○

○○

○○

○○○○○

○○○○○○○○○○

○○○○○○○○○

○○○○○○○○○○

○○○○

○○

○○○

○○

○○

○○○

○○○

○○○

○○○○

○○○○○

○○

○○○○○○

○○

○○

○○

○○○

○○

○○○○○

○○○

○○

○○○

○○

○○○○

○○○

○○

○○

○○○○

○○○○○○

○○○○

○○○

○○

○○○○○○

○○

○○

○○

○○

○○

○○

○○○

○○

○○○○

○○

○○○○

○○

○○

○○

○○

○○

○○○○○○

○○

○○

○○○○○○

○○

○○○○

○○○○○○

○○

○○○○○○○○○○

○○○

○○○○○

○○

○○○○○

○○○

○○

○○○○○○○○○○

○○

○○○○○○○○○○○○○○○○○○○○○○○○

○○○

○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○

○○○○

○○○○○

○○

○○

○○

○○

○○○○○○

○○

○○

○○

○○

○○

○○

○○

○○

○○○

○○

○○○

○○○

○○

○○○

○○

○○

○○

○○○

○○

○○○

○○○

○○○○○○○

○○○○○

○○

○○○○○○

○○○○○

○○

○○○○

○○○○○○○○○○○○○○○○○○○○○

○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

0.0 0.5 1.0 1.5 2.0 2.5

0.05

0.10

0.50

1

Time-Step (s)

CPUTime(s)

Δx=Δy=0.05; jmax=40

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■

■■■■■■

■■

■■

■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■

■■

■■■■■■■■■■■■■

■■■■■■

■■■

■■

■■■■■■

■■■■■■■■■

■■■■

■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■

■■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■

■■

■■■

■■■■

■■■

■■■■■■■

■■

■■■■

■■■■

■■■

■■■■■■

■■

■■■

■■

■■

■■■■

■■■■■■■■

■■

■■■■

■■■■■■■

■■■

■■■■■■■■

■■■■■■■■■■■

■■■■■■■

■■■■■■

■■■■■■■■

■■■■

■■■■■■■

■■■■■

■■

■■■■

■■■■■■■■■■■■

■■

■■■■

■■■■■

■■■■■

■■

■■

■■■■■

■■

■■■■■

■■

■■■■■■■■

■■■■■■■

■■■

■■

■■■

■■■■■■■

■■■■■■■■■■■■

■■■■

■■

■■■■■■■■

■■■

■■■■■

■■

■■■■■■■■

■■■■■■

■■■■

■■■

■■■■■■■■■■■■■■■■

■■■■■

■■■

■■■

■■■

■■

■■■

■■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■

■■

■■■■■■■■■■■■■

■■■■■■

■■■

■■■■■■■■■■

■■

■■■■■■■■■

■■■■■

■■■■■■■■

■■■

■■■■■■■■■■

■■■■■

■■■

■■■■■■■■

■■■■

■■■■■■■■

■■■

■■■■■

■■■■■■■

■■■

■■■■

■■

■■■■■■■■■■

■■■■

■■

■■

■■■■■■■■■■

■■■■

■■■

■■■■

■■■■

■■

■■■■■

■■■■■■■■■■

■■■

■■■

■■■

■■■■■■

■■■■■■■■■■■■

■■■■■■■■■

■■■■■■■

■■■■■■■■■■■■■

■■■■■■■■

■■■■■■■■

■■■■

■■■■■

■■

■■■■■

■■■

■■■■■

■■

■■

■■■

■■■■■■■■■■■■■■■

■■■■■■■

■■■

■■■■■■■■■

■■

■■■

■■

■■■■■■■

■■■■

■■■■■■■■■

■■■■■■■■

■■■■■■

■■

■■■

■■

■■

■■

■■■

■■

■■■■

■■■■

■■■

■■■■■

■■■■■■■■■■■

■■■

■■

■■■

■■■■■■■

■■■■

■■

■■

■■■■■■■

■■■■■■■■

■■■■■

■■■■■■■■■■

■■■■■■■■

■■■

■■■■■■

■■

■■

■■■■

■■■■■■■

■■■■■■■■■■■■■■■■

■■■

■■■■

■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■

■■■■

■■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■

■■■■

■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■

■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■

■■■■■

■■■■

■■

■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■

■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇

◇◇◇◇◇◇

◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○

○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○

○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○

○○○○○○○○○○○○○○

○○○

○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○

○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○

○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

0.0 0.5 1.0 1.5 2.0

1

2

5

10

Time-Step (s)

CPUTime(s)

Δx=Δy=0.025; jmax=80

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

Fig. 5.20: Backward-Facing Step: Plots showing the CPU time consumed foreach time-step until the steady state for Re = 10, different meshes andmethodologies.

66

Page 80: solution of the incompressible navier-stokes equations by projection

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■

■■

■■

■■

■■

■■

■■

■■

■■■

■■

■■

■■

■■■

■■

■■

■■

◇◇

◇◇

◇◇◇◇◇◇

◇◇

◇◇◇

◇◇◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇

○○○○

○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○

○○○○○○

○○○○○○○

○○○○○○○○○○

○○○○○○○

○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○

○○○○○○○○

○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○

○○○○

○○

○○○

○○○○○○○○○○○○○○○○○○○

○○

○○○○

○○○○○○

○○

○○○

0 2 4 6 8 10 120.005

0.010

0.050

0.100

0.500

1

Time-Step (s)

CPUTime(s)

Δx=Δy=0.1; jmax=20

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■

■■■

■■

■■■■■■■■

■■■

■■

■■■■■■■■■■

■■■■■■■

■■

■■■■■■■■■■

■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■

■■■■■■■■■

■■■■■■

■■■■■■■■■

■■■■■■

■■■■■■■

■■■

■■■■■

■■

■■■■

■■■■■■■■

■■

■■■■■■

■■■■■■■■■■■■

■■

■■■■■■■

■■■

■■■■

■■■■■■

■■

■■■■■■■■

■■■

■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■

■■

■■■■

■■■■■■■■■

■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■

■■■

■■■■■■■

■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■■■■■■■■■■■

■■■■

■■■■

■■■■

■■■■■■■

■■

■■■■

■■■■■■■

■■■■

■■

■■■■■■■■■

■■■■■■■■■■■■

■■

■■■■■■

■■■■

■■■■■■■■■■■

■■■■■

■■■■■■■■

■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇

◇◇◇◇

◇◇◇

◇◇◇

◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇

◇◇◇◇◇◇

◇◇◇◇◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇

◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

○○○○

○○○○

○○○○○○○○○○○○○○○○○○○○○○

○○○○

○○

○○

○○

○○○○○

○○

○○○○○○○○○

○○

○○

○○

○○

○○

○○

○○○

○○○○○○○○○○○○○

○○○○○○○○

○○○

○○○○○

○○○○○○○○○○○○

○○○○

○○○○○○○○○○○○○○

○○

○○○

○○○○○

○○○○○○○○○

○○○○○○○○○○○○○○○

○○○○○○

○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○

○○○○○○○○○○○

○○

○○○○

○○

○○○○○○

○○○○○○○

○○○○○○○○○○○○○○○

○○○○○○○○

○○○○○○○○○○○○○○○○○

○○○○○

○○○○○○○○○○○○○○○○

○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○

○○

○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○

○○

○○○○○○○○

○○○○○○○○○○○○○○○

○○○○○○○○○

○○○○○○

○○○○○○

○○○○○○○○○○○○

○○○

○○○○○○○○○

○○

○○

○○

○○○

○○○

○○

○○○○○○○○○

○○○

○○

○○○

○○

○○○○○○

○○○○○○○○○○○

○○

○○

○○

○○○

○○○

○○○

○○

○○○

○○

○○

○○○

○○○

○○○○○○○○○

○○○○○○○○○○

○○○○○○○

○○

○○○

○○

○○○○○○○○○○○○○○○○

○○

○○○

○○

○○

○○○

○○○○○

○○

○○

○○○

○○○○○○○

○○○○○○○○○

○○

○○○○○○○○○○○○○○

○○○

○○

○○○○○

○○

○○○○

○○

○○○

○○○

○○○○

○○

○○

○○○

○○

○○○

○○

0 2 4 6 8

0.05

0.10

0.50

1

Time-Step (s)

CPUTime(s)

Δx=Δy=0.05; jmax=40

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

■■

■■■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■

■■

■■■

■■

■■

■■

■■■■

■■

■■■

■■■

■■■■■

■■■■■■■■■

■■■■■■■

■■■■

■■■■■■■■■■■■■■■■

■■■■

■■■■■■■■

■■■■

■■■

■■■

■■

■■■

■■■

■■■■■■

■■■■■

■■■■■

■■■■

■■■

■■■■

■■■■■

■■■■■■

■■■■

■■■■■■■■■■■■■■■

■■

■■■

■■■■

■■■■

■■■■■

■■■■■■

■■■■■■■■■■■■■■■

■■■■■■■■■■■

■■■■

■■■■

■■

■■■■

■■

■■■

■■

■■■■

■■■■■■

■■■

■■■■■■■■

■■■■■■■■

■■■■■■■■

■■■■■■■■

■■■

■■■

■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■

■■■■■

■■■

■■■■■■■■■■■

■■

■■■■■

■■■

■■

■■■■

■■■■■

■■■■■■■

■■■■■

■■■■■■

■■

■■■■■■■■■■■■■

■■■■■■■■■■■■

■■

■■

■■■■■■■■■■■

■■■■■■■■

■■■■■■

■■■■■■■■■■

■■

■■

■■■■■■■■■

■■■■■■■■■

■■■

■■■■

■■■

■■■■■■■

■■■■

■■■■■■■■■■■■■

■■■

■■■■■■■■■■

■■■

■■■■■■■

■■■■■■

■■■■■■■■■■■■

■■■

■■■■■■■

■■■■■

■■■■

■■

■■

■■■■■■■■

■■■■■■■■■■■■

■■

■■■■■■■■

■■■■■■■■■■■■

■■

■■■■■■■■■

■■■■■■

■■■■■■■

■■■■■■■■■■■■

■■■■■

■■■■■■

■■■■■■■

■■■■■

■■■

■■■■■

■■

■■■■■

■■

■■■■■■■

■■■■■■■■

■■■■

■■

■■■

■■

■■■■■

■■■■■■■

■■■

■■

■■■

■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■

■■■■■■■■

■■■

■■

■■■

■■■■■■■■■■■

■■■

■■

■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■

■■■■■■■■■■■■

■■■

■■■■■■■■■

■■■■■■

■■■■■

■■

■■■■■■■■■■■■■■■■■■■

■■■■■■

■■

■■■■■■■

■■■

■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■

■■

■■

■■■■■■■■■■■■■

■■■

■■

■■■

■■■■■■■■■■■■

■■■■■

■■■■■

■■■■■

■■■■

■■

■■■

■■■■■■■■■■■■■

■■

■■■■■

■■■■

■■■■

■■

■■

■■

■■■■

■■■

■■■

■■■■■■■■■■

■■■

■■

■■

■■

■■■

■■

■■

■■■■■■

■■■■■

■■■■■■■■■■■■

■■■■■■■■

■■■

■■■

■■■■■■■■

■■■■■

■■■■■■■■■■■■■■■■■

■■■

■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■

■■

■■■■■■■■■■■■■

■■■■■■■■■■■■

■■■

■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■■■

■■■■■■

■■■■■■■■■■

■■

■■■

■■■■■■■■

■■■■■■■■

■■

■■■■

■■

■■■■

■■■■■■

■■■■■■■■■■

■■■■■■■■■

■■

■■■

■■■

■■■■■■

■■■

■■■■■■■

■■■■■■■■■■■■■

■■

■■

■■■■■■

■■■

■■■■

■■■■■■■

■■■■■■■■■■■■■■■■

■■

■■■■

■■■■■■■■■■■■

■■

■■

■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■

■■■■■■■■

■■■■■■

■■■■

■■■■■

■■■■■

■■■

■■■■■

■■■■

■■

■■■■■■

■■■■■

■■■■■■■■■■■■■■

■■■

■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■

■■■■■■■

■■

■■■■■■■■

■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■

■■■■■■■■■■■■■■■■■■

■■

■■■

■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■■■

■■■■■

■■■■■■■■■

■■■■■■

■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■

■■■■■■■■■

■■■■■■■■■■

■■■■

■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■

■■■■■

■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇

◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇

◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇

◇◇

◇◇

◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○

○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○○

○○○○○○○○

0 1 2 3 4 5 6 7

0.5

1

5

10

Time-Step (s)

CPUTime(s)

Δx=Δy=0.025; jmax=80

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

Fig. 5.21: Backward-Facing Step: Plots showing the CPU time consumed foreach time-step until the steady state for Re = 50, different meshes andmethodologies.

67

Page 81: solution of the incompressible navier-stokes equations by projection

0.04 0.06 0.08 0.10

10

100

1000

104

Δx = Δy

TotalCPUTime(s)

ReDH = 1

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

0.04 0.06 0.08 0.10

10

100

1000

104

Δx = Δy

TotalCPUTime(s)

ReDH = 10

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

0.04 0.06 0.08 0.10

10

100

1000

104

Δx = Δy

TotalCPUTime(s)

ReDH = 50

■ Finite Volumes

◇ Single Tranf.

○ Single Tranf. (Filter)

Fig. 5.22: Backward-Facing Step: Total computational time consumed to achievesteady state.

68

Page 82: solution of the incompressible navier-stokes equations by projection

5.3 Mass Conservation Analysis

During the test cases simulations, the velocity divergence was also calculated for

each case. In order to compute the mass conservation inside the domain, an integration

of the continuity equation was done:

∫V

∇ · v dV = 0 (5.25)

The discrete form of this equation is shown bellow:

imax∑i=1

jmax∑j=1

(ui+1,j − ui,j

∆x+vi,j+1 − vi,j

∆y

)∆x∆y = δ (5.26)

where δ is the deviation from the divergence free velocity due to the discretization. One

should note that the mass conservation is achieved when δ is as close to zero as possible.

No computed δ was larger that 10−17 and 10−4 for the lid-driven cavity and backward-

facing step test cases respectively. With these values, it can be concluded that the

formulation was efficient in conserving the velocity field as divergence free as possible.

69

Page 83: solution of the incompressible navier-stokes equations by projection

Chapter 6

Summary and Conclusions

The present work developed a numerical method for solving the unsteady incom-

pressible Navier-Stokes equations with primitive variables in two dimensions, although it

can be easily extended to tree dimensions. The novel methodology is based on Projection

Methods schemes using a mixed approach through the Integral Transform Technique.

Knowing that the main bottleneck of the classical pressure-correction approach is the

solution of the Poisson equation for the pressure, this work proposed a new approach

to overcome this constraint.

In this work the classic Projection Method [13] was used to advance in time the

Navier-Stokes equations and the Classical Integral Transform Technique [10] was used

for the purpose of solving the filtered Poisson equation (4.7) to find the pressure depen-

dence on the discrete velocity field in a semi-analytical fashion, eliminating the need for

an iterative solver. In order to establish the transformation pair, the pressure field is

written as function of orthogonal eigenfunctions obtained from an auxiliary eigenvalue

problem known as the Helmholtz classic problem [10]. Two variations of the method

were proposed for the two dimensional formulation: Single Transformation (CITT-ST)

and Double Transformation (CITT-DT).

Initially the solution of the Poisson equation using the semi-analytical proposed

approach was accomplished. The error convergence rate was shown and it was possible

to see that the spatial approximation order matched the expected value of 2 in both

x and y directions. It was also observed that the Integral Transform Technique had a

70

Page 84: solution of the incompressible navier-stokes equations by projection

very high performance, converging with very low truncation orders nmax.

The following analysis was the computational time for both approaches CITT-ST

and CITT-DT. It was seen that for every simulated case, CITT-ST was the fastest

method revealing that the CITT-DT had the poorest performance. As a conclusion of

this analysis, one could see that CITT-DT was not the best choice for this propose due

to poor computational performance.

Two classic test cases: Lid-Driven Cavity and Backward-Facing Step flows, were ana-

lyzed next. In these sections, three methods were computed and compared: CITT using

single transformation with filtering scheme (CITT-ST-F), CITT using single transfor-

mation without filtering scheme (CITT-ST) and Finite Volumes Methods with Gauss-

Seidel solver (FVM). The obtained results were compared with the literature showing

a very good agreement for both test cases. Results from both test cases showed a

very similar qualitative behavior. One could see that for very poorly refined meshes

CITT-ST-F and FVM had similar performances. However for more refined meshes,

CITT-ST-F had a dramatically better performance and CITT-ST (without filter) had

the worst performance overall.

The results showed that, although more investigations are needed, CITT-ST-F has

a great potential of being a good substitute for the methodologies currently used to

solve the pressure Poisson equation.

For future investigations, one could suggest the following:

• Solve an unsteady test-case, which will provide a more thorough investigation of

the formulation behavior varying with time.

• Compare the proposed methodology with a FVM using multigrid.

• Implement the formulation for the solution of Navier-Stokes together with the

energy equation. The next step is the solution of a convective heat transfer

problem using GITT for the solution of the energy equation.

• Use different time marching schemes, as implicit or even variations of the Projec-

tion Method to better evaluate performance.

• Implementation of an upwind approximation scheme for the convective terms.

This approach it will provide more stability for higher Reynolds numbers.

71

Page 85: solution of the incompressible navier-stokes equations by projection

• Implementation of the formulation for curvilinear coordinates. This approach is

very similar to the presented in this work varying only the coordinate system.

• Implementation the three dimensional formulation. For this approach, it will not

be possible to implement the single transformation formulation, making reorder-

ing scheme necessary. However, the double transformation tends to be better

then a triple transformation through observations of the current results.

• Implementation for irregular geometries. For this formulation the work of Sphaier

and Cotta [82] can be used as reference to implement GITT in irregular geome-

tries.

72

Page 86: solution of the incompressible navier-stokes equations by projection

References

[1] J. Kim and P. Moin. Application of a Fractional-Step Method to Incompressible

Method to Equations. Journal of Computational Physics, 59:308–323, 1985.

[2] U. Ghia, K. N. Ghia, and C. T. Shin. High-Re solutions for incompressible flow us-

ing the Navier-Stokes equations and a multigrid method. Journal of Computational

Physics, 48(3):387–411, December 1982.

[3] G. Biswas, M. Breuer, and F. Durst. Backward-Facing Step Flows for Various

Expansion Ratios at Low and Moderate Reynolds Numbers. Journal of Fluids

Engineering, 126(3):362–374, July 2004.

[4] J. L. Guermond, P. Minev, and J. Shen. An overview of projection methods for

incompressible flows. Comput. Methods Appl. Mech. Engrg., 195:6011–6045, 2006.

[5] M. Thomadakis and M. Leschziner. A pressure-correction method for the solution

of incompressible viscous flows on unstructured grids. International Journal for

Numerical Methods in Fluids, 22(7):581–601, April 1996.

[6] J. L. Guermond and J. Shen. Velocity-correction projection methods for incom-

pressible flows. SIAM Journal on Numerical Analysis, 41(1):112–134, 2003.

[7] G. E. Karniadakis, M. Israeli, and S. A. Orszag. High-order splitting methods for

the incompressible navier-stokes equations. Journal of Computational Physics, 97

(2):414–443, December 1991.

[8] C. D. Munz, S. Roller, R. Klein, and K. J. Geratz. The extension of incompressible

flow solvers to the weakly compressible regime. Computers & Fluids, 32(2):173–196,

February 2003.

[9] H. K. Versteeg and W. Malalasekera. An Introduction to Computational Fluid

Dynamics, The Finite Volume Method. Pearson Prentice Hall, Harlow, England;

New York, 2nd edition, 2007.

[10] M. D. Mikhailov and M. N. Özişik. Unified Analysis and Solutions of Heat and

Mass Diffusion. John Wiley $&$ Sons, New York, 1984.

73

Page 87: solution of the incompressible navier-stokes equations by projection

[11] S. Wolfram. The Mathematica Book. Wolfram Media/Cambridge University Press,

New York/Champaign, IL, 5th edition, 2003.

[12] N. N. Janenko. The method of fractional steps. Springer Verlag, 1971.

[13] A. J. Chorin. Numerical solution of the Navier-Stokes equations. Mathematics of

Computation, 22:745–762, 1968.

[14] C. W. Hirt and J. L. Cook. Calculating three-dimensional flows around structures

and over rough terrain. Journal of Computational Physics, 10(2):324–340, 1972.

[15] F. H. Harlow and J. E. Welch. Numerical Calculation of Time-Dependent Viscous

Incompressible Flow of Fluid with Free Surface. Physics of Fluids, 8(12):2182–2189,

1965.

[16] R. Temam. Sur l’approximation de la solution des équations de Navier-Stokes

par la méthode des pas fractionnaires (II). Archive for Rational Mechanics and

Analysis, 33(5):377–385, 1969.

[17] W. Soh and J. W. Goodrich. Unsteady solution of incompressible Navier-Stokes

equations. Journal of Computational Physics, 79:113–134, 1988.

[18] J. Donea, S. Giuliani, H. Laval, and L. Quartapelle. Finite element solution of the

unsteady Navier-Stokes equations by a fractional step method. Computer Methods

in Applied Mechanics and Engineering, 30(1):53–73, 1982.

[19] B. Ramaswamy, T. C. Jue, and J. E. Akin. Semi-implicit and explicit finite element

schemes for coupled fluid/thermal problems. International Journal for Numerical

Methods in Engineering, 34(2):675–696, 1992.

[20] S. V. K. C. Karkari and S. V. Patankar. Pressure based calculation procedure for

viscous flows at all speeds in arbitrary configurations. AIAA Journal, 27:1167–

1174, 1989.

[21] S. V. Patankar and D. B. Spalding. A calculation procedure for heat, mass and

momentum transfer in three-dimensional parabolic flows. International Journal of

Heat and Mass Transfer, 15:1787–1806, 1972.

74

Page 88: solution of the incompressible navier-stokes equations by projection

[22] L. S. Caretto, A. D. Gosman, S. V. Patankar, and D. B. Spalding. Two calculation

procedures for steady, three-dimensional flows with recirculation. In H. Cabannes

and R. Temam, editors, Proceedings of the Third International Conference on Nu-

merical Methods in Fluid Mechanics, number 19 in Lecture Notes in Physics, pages

60–68. Springer Berlin Heidelberg, 1973.

[23] S. V. Patankar. Numerical Heat Transfer and Fluid Flow. Hemisphere, 1980.

[24] I. Mary, P. Sagaut, and M. Deville. An algorithm for low Mach number unsteady

flows. Computers & Fluids, 29(2):119–147, February 2000.

[25] S. Roller and C.-D. Munz. A low Mach number scheme based on multi-scale

asymptotics. Computing and Visualization in Science, 3(1-2):85–91, May 2000.

[26] J. V. Kan. A second-order accurate pressure-correction scheme for viscous incom-

pressible flow. SIAM Journal on Scientific and Statistical Computing, 7(3):870–891,

1986.

[27] L. Quartapelle. Numerical Solution of the Incompressible Navier-Stokes Equations.

Springer, 1993.

[28] A. Chekhlov, S. A. Orszag, S. Sukoriansky, B. Galperin, and I. Staroselsky. The

effect of small-scale forcing on large-scale structures in two-dimensional flows. Phys-

ica D: Nonlinear Phenomena, 98(2-4):321–334, November 1996.

[29] M. Fortin, R. Peyret, and R. Temam. Résolution numérique des équations de

Navier-Stokes pour un fluide incompressible. J. Mécanique, 10:357–390, 1971.

[30] J. B. Perot. An Analysis of the Fractional Step Method. Journal of Computational

Physics, 108(1):51–58, 1993.

[31] L. S. d. B. Alves. Review of numerical methods for the compressible flow equations

at low Mach numbers. In XII Computational Modelling Meeting, 2009.

[32] I. J. Keshtiban, F. Belblidia, and M. F. Webster. Compressible flow solvers for low

Mach number flows - A review. Technical report, 2004.

75

Page 89: solution of the incompressible navier-stokes equations by projection

[33] M. F. Pelegrini. Aplicação técnica da transformada integral para a solução de

problemas difusivos transientes com propriedades termofísicas variáveis. Tese de

Doutorado, Universidade Estadual Paulista, Ilha Solteira, SP, 2005.

[34] R. M. Cotta. The integral transform method in thermal and fluids sciences and

engineering. Begel House, Inc., New York, 1998.

[35] N. S. Koshlyakov. Note on some infinite integrals. Comp. Rend. (Doklady) Acad.

Sci. URSS, 1936.

[36] G. A. Grimnberg. Selected problems of mathematical theory of electrical and mag-

netic effects. Nauk, 1948.

[37] M. N. Ozisik. Boundary value problems of heat conduction. Scranton, 1968.

[38] C. J. Tranter. Integral transform in mathematical physics. John Wiley & Sons,

New York, 1962.

[39] M. N. Özişik and R. L. Murray. On the Solution of Linear Diffusion Problems with

Variable Boundary Condition Parameters. Journal of Heat Transfer, 96c:48–51,

1974.

[40] M. D. Mikhailov. General Solutions of the Heat Equation in Finite Regions. In-

ternational Journal of Engineering Science, 7:577–591, 1972.

[41] M. D. Mikhailov. On the solution of the heat equation with time dependent coef-

ficient. International Journal Heat and Mass Transfer, 18:344–345, 1975.

[42] R. M. Cotta. Integral Transforms in Computational Heat and Fluid Flow. CRC

Press, Boca Raton, FL, 1993.

[43] R. M. Cotta and M. N. Özişik. Laminar forced convection inside ducts with periodic

variation of inlet temperature. International Journal of Heat and Mass Transfer,

29(10):1495–1501, October 1986.

[44] R. M. Cotta. Hybrid numerical/analytical approach to nonlinear diffusion prob-

lems. Numerical Heat Transfer, Part B: Fundamentals, 17(2):217–226, 1990.

76

Page 90: solution of the incompressible navier-stokes equations by projection

[45] R. Serfaty and R. M. Cotta. Hybrid analysis of transient non-linear convection-

diffusion problems. International Journal of Numerical Methods for Heat & Fluid

Flow, 2:55–62, 1992.

[46] R. M. Cotta. Benchmark results in computational heat and fluid flow: The integral

transform method. International Journal of Heat and Mass Transfer, 37:381–393,

March 1994.

[47] R. M. Cotta and M. D. Mikhailov. Heat conduction: Lumped analysis, integral

transforms, symbolic computation. John Wiley & Sons, England, 1997.

[48] R. M. Cotta and M. D. Mikhailov. Hybrid Methods and Symbolic Computations.

In W. J. Minkowycz, E. M. Sparrow, and J. Y. Murthy, editors, Handbook of

Numerical Heat Transfer. John Wiley & Sons, 2nd edition, 2006.

[49] F. H. Harlow and A. A. Amsteden. A numerical fluid dynamics calculation method

for all flow speeds. Journal of Computational Physics, 8:197–213, 1971.

[50] M. Rosenfeld, D. Kwak, and M. Vinokur. A fractional step solution method for

the unsteady incompressible Navier-Stokes equations in generalized coordinate sys-

tems. Journal of Computational Physics, 94:102–137, 1991.

[51] H. Langtangen, K. A. Mardal, and R. Winther. Numerical methods for incom-

pressible viscous flow. Advances in Water Resources, 25:1125–1146, 2002.

[52] X. Feng, Y. He, and D. Liu. Convergence analysis of an implicit fractional-step

method for the incompressible Navier–Stokes equations. Applied Mathematical

Modelling, 35(12):5856–5871, December 2011.

[53] N. V. Chemetov and F. Cipriano. Boundary layer problem: Navier–Stokes equa-

tions and Euler equations. Nonlinear Analysis: Real World Applications, 14(6):

2091–2104, December 2013.

[54] S. Sen. A new family of (5, 5) CC-4OC schemes applicable for unsteady

Navier–Stokes equations. Journal of Computational Physics, 251:251–271, Oc-

tober 2013.

77

Page 91: solution of the incompressible navier-stokes equations by projection

[55] D. Viswanath and I. Tobasco. Navier–Stokes solver using Green’s functions I:

Channel flow and plane Couette flow. Journal of Computational Physics, 251:

414–431, October 2013.

[56] J. S. P. Guerrero and R. M. Cotta. Benchmark integral transform results for flow

over a backward-facing step. Computers & Fluids, 25(5):527–540, 1996.

[57] L. M. Pereira, J. S. Pérez-Guerrero, and R. M. Cotta. Integral transformation of

the navier-stokes equations in cylindrical geometry. Computational Mechanics, 21

(1):60–70, 1998.

[58] G. G. C. d. Lima, C. A. C. Santos, A. Haag, and R. M. Cotta. Integral transform

solution of internal flow problems based on navier-stokes equations and primitive

variables formulation. International Journal for Numerical Methods in Engineering,

69(3):544–561, 2007.

[59] R. O. C. Guedes and M. N. Ozisik. Hybrid approach for solving unsteady laminar

forced convection inside ducts with periodically varying inlet temperature. Int. J.

Heat and Fluid Flow, 15:116–121, 1994.

[60] R. O. C. Guedes and M. N. Ozisik. Transient heat transfer in simultaneously de-

veloping channel flow with step change in inlet temperature. International Journal

Heat and Mass Transfer, 37:2699–2706, 1994.

[61] R. M. Cotta and J. E. V. Gerk. Mixed finite-difference/integral transform approach

for parabolic-hyperbolic problems in transient forced convection. Numerical Heat

Transfer, Part B: Fundamentals, 25:433 – 448, 1994.

[62] D. J. M. N. Chalhub, L. A. Sphaier, and L. S. d. B. Alves. Integral Transform

Solution of Convective Heat Transfer Problems using Upwind Approximations.

Numerical Heat Transfer - Part B, 63:167–187, 2013.

[63] F. V. Castellões and R. M. Cotta. Analysis of transient and periodic convection in

microchannels via integral transforms. Progress in Computational Fluid Dynamics,

6:321–326, 2006.

78

Page 92: solution of the incompressible navier-stokes equations by projection

[64] D. J. N. M. Chalhub, L. A. Sphaier, and L. S. d. B. Alves. Integral Transform

Analysis of Poisson Problems that Occur in Discrete Solutions of the Incompressible

Navier-Stokes Equations. Journal of Physics: Conference Series, 547(1):012040,

November 2014.

[65] P. K. Kundu. Fluid Mechanics. Academic Press, San Diego, CA, 1990.

[66] J. A. Carlson, A. Jaffe, A. Wiles, C. M. Institute, and A. M. Society. The Millen-

nium Prize Problems. American Mathematical Soc., January 2006.

[67] D. D. G. Shirokoff. I. A pressure Poisson method for the incompressible Navier-

Stokes equations : II. Long time behavior of the Klein-Gordon equations. Thesis,

Massachusetts Institute of Technology, 2011.

[68] P. M. Gresho and R. L. Sani. On pressure boundary conditions for the incom-

pressible Navier-Stokes equations. Journal for Numerical Methods in Fluids, 7:

1111–1145, 1987.

[69] Y. Pinchover and J. Rubinstein. An Introduction to Partial Differential Equations.

Cambridge University Press, May 2005.

[70] M. D. Greenberg. Advanced Engineering Mathematics. Prentice Hall, Upper Saddle

River, NJ, 2nd edition, 1998.

[71] S. Abdallah. Numerical solutions for the pressure Poisson equation with Neu-

mann boundary conditions using a non-staggered grid, I. Journal of computational

physics, 70(1):182–192, 1987.

[72] S. Abdallah. Numerical Solutions for the incompressibel Navier-Stokes equations in

primitive variables using non-staggered grid, II. Journal of computational physics,

70:193–202, 1987.

[73] P. Moin. Fundamentals of Engineering Numerical Analysis. Cambridge University

Press, New York, NY, 2001.

[74] P. M. Gresho and R. L. Sani. Incompressible Flow and the Finite Element Method.

John Wiley $&$ Sons, Baffins Lane, Chichester, West Sussex PO19 IUD, England,

1998.

79

Page 93: solution of the incompressible navier-stokes equations by projection

[75] G. B. Arfken and H. J. Weber. Mathematical Methods for Phisicists. Elsevier

Academic Press, 6th edition edition, 2005.

[76] J. Z. Wu, H. Y. Ma, and M. D. Zhou. Vorticity and Vortex Dynamics. Springer

Science & Business Media, April 2007.

[77] E. N. Macêdo, R. M. Cotta, and H. R. B. Orlande. Local-instantaneous filtering

in the integral transform solution of nonlinear diffusion problems. Computational

Mechanics, 23(5):524–532, 1999.

[78] R. Gondim, E. Macedo, and R. Cotta. Hybrid solution for transient internal con-

vection with axial diffusion: Integral transforms and local instantaneous filtering.

International Journal of Numerical Methods for Heat & Fluid Flow, 17(4):405–417,

2007.

[79] I. I. Hirschman. Infinite Series. Dover Publications, New York, 2014.

[80] GFortran, Gnu compiler collection (gcc), Version 4.8.2, http://gcc.gnu.org .

[81] D. J. N. M. Chalhub, L. A. Sphaier, and L. S. de B. Alves. Semi-analytical method

for the solution of the poisson equation derived from the navier-stokes using inte-

gral transforms. In ASME 2014 12th International Conference on Nanochannels,

Microchannels, and Minichannels collocated with the ASME 2014 4th Joint US-

European Fluids Engineering Division Summer Meeting, Chicago, Illinois, USA,

2014.

[82] L. A. Sphaier and R. M. Cotta. Analytical and hybrid solutions of diffusion prob-

lems within arbitrarily shaped regions via integral transforms. Computational Me-

chanics, 29(3):265–276, 2002.

80