An overview of Computational Fluid Dynamic applied to Petroleum Reservoir Simulations
Simone Ribeiro
Universidade Federal de Uberl창ndia ver찾o de 2010 1 Wednesday, January 6, 2010
Outline • Historical overview of CFD • Euler equations • Navier-Stokes equations • The Conservation Laws • Applications • Multiphase flow problem • Solutions to conservation laws • The two-phase flow model • Numerical approximation • Numerical results • Final considerations 2 Wednesday, January 6, 2010
History of CFD
• •
Heraclitus postulated that “Everything Flows”
•
Leonardo da Vinci planned and supervised canal and harbor works over a large part of Italy.
•
Isaac Newton made contributions to fluid mechanics with his Second Law: F = ma.
Archimedes initiated the fields of Hydrostatic: the mesure of densities and volume of objects
3 Wednesday, January 6, 2010
History of CFD 18th-19th centuries
•
Bernoulli stated that for an inviscid flow, an increase in the speed of the fluid occurs simultaneously with a decrease in pressure or a decrease in the fluidʼs potential energy.
•
Euler proposed the Euler equations, which describe the conservation of momentum for an inviscid fluid, and conservation of mass.
•
Claude Navier and George Stokes introduced viscous transport into the Euler Equations, which resulted in the now famous Navier-Stokes Equations. 4
Wednesday, January 6, 2010
History of CFD The Navier-Stokes Equations The Navier-Stokes equation are a set of equations that describe the movement of fluids such as gases or liquids. They establish that changes in momentum and acceleration of a particle results from changes in pressure and viscous forces inside the fluid. They are obtained from the basic principles of Conservation of Mass, Momentum and Energy.
Navier
Stokes 5
Wednesday, January 6, 2010
History of CFD The earliest CFD calculations Lewis Fry Richardson developed the first weather prediction system: he divided the physical space into grid cells and used the finite difference approximations. The calculation of weather of a 8-hour period took 6 weeks of real time and ended in failure. For efficiency in calculations, he proposed the “forecast factory�. This is the earliest ideas of CFD calculations and parallel computing.
6 Wednesday, January 6, 2010
The Conservation Laws In one space dimension, the equations take the form: ∂u(x, t) ∂f (u(x, t)) + =0 ∂t ∂x
u : R × R → Rm (x, t) #→ (u1 (x, t), . . . , um (x, t))
f :R
m
→R
m
The main assumption underlying this equation is that knowing the value of u(x,t) at a given point and time allows us to determine the rate of flow, or flux, of each state variable at (x,t) 7 Wednesday, January 6, 2010
The Conservation Laws
Applications
8 Wednesday, January 6, 2010
The Conservation Laws Applications Euler Equations of Gas Dynamics
ρ ρv ∂ ∂ ρv 2 + p = 0 ρv + ∂t ∂x E v(E + p) ρ → density function
v → velocity
ρv → momentum
E → energy p → pressure
Wednesday, January 6, 2010
9
The Conservation Laws Applications Aerodynamics
10 Wednesday, January 6, 2010
The Conservation Laws Applications The Dambreak Problem
11 Wednesday, January 6, 2010
The Conservation Laws Applications The Dambreak Problem
11 Wednesday, January 6, 2010
The Conservation Laws Applications The Dam Break Problem
12 Wednesday, January 6, 2010
The Conservation Laws Applications The Dam Break Problem
12 Wednesday, January 6, 2010
The Conservation Laws Applications
• Meteorology • Astrophysical • The study of explosions • The flow of glaciers 13 Wednesday, January 6, 2010
The Conservation Laws The Multiphase Flow Problem
14 Wednesday, January 6, 2010
The Conservation Laws The Multiphase Flow Problem
14 Wednesday, January 6, 2010
The Conservation Laws
The Mathematical and Numerical difficulties
15 Wednesday, January 6, 2010
The Conservation Laws The Difficulties
• Discontinuous solutions do not satisfy the PDE in the classical sense at all points, since the derivatives are not defined at discontinuities.
• A finite difference discretization of the PDE is inappropriate near discontinuities.
16 Wednesday, January 6, 2010
The Conservation Laws The Difficulties
Initial Condition: u(x, 0) = 0.5 + sin x Grid: 100 points 17 Wednesday, January 6, 2010
The Conservation Laws The Dicfficulties
ut + ux = 0
ut + (u /2)x = 0 2
Initial Condition: u(x, 0) = 0.5 + sin x Grid: 100 points Wednesday, January 6, 2010
18
The Conservation Laws The Dicfficulties
ut + ux = 0
ut + (u /2)x = 0 2
Initial Condition: u(x, 0) = 0.5 + sin x Grid: 100 points Wednesday, January 6, 2010
18
The Conservation Laws The Dicfficulties
ut + ux = 0
ut + (u /2)x = 0 2
Initial Condition: u(x, 0) = 0.5 + sin x Grid: 100 points Wednesday, January 6, 2010
18
The Conservation Laws The Difficulties u(x, 0)
u(x, 0)
1
0
a u(x, 0) =
!
x 1, 0,
a For Discontinuous Galerking Method and Godunovʼs Method
x<a x≥a
19 Wednesday, January 6, 2010
The Conservation Laws The Difficulties Oscillations arising in a shock computed with Godunov始s method
The oscillations
Amplifications 20
Wednesday, January 6, 2010
The Conservation Laws The Difficulties
21 Wednesday, January 6, 2010
The Conservation Laws
Which features a good numerical method should have?
22 Wednesday, January 6, 2010
The Conservation Laws Features of Numerical Methods
•
At least second order accuracy on smooth region of a solution.
• • •
Sharp resolution of discontinuities without excessive smearing.
• •
Convergence to the physically correct solution.
The absence of spurious oscilations in the computed solution. Nonlinear stability bounds that, together with consistency, alow us to prove convergence as the grid is refined.
Computational Efficiency 23
Wednesday, January 6, 2010
The Multiphase Flow Model One phase flows Henry Darcy (1844) described the flow of a fluid through a porous media. This mathematical description is known as Darcy’s Law. Darcyʼs Law
k v = − ∇P µ The Darcy’s Law tell us that the flow of a fluid is proportional to the pressure gradient. 24 Wednesday, January 6, 2010
The Multiphase Flow Model Two phase flows
Two phase flows characterize the displacement of two immiscible fluids, such as water and oil, through a porous media. Muskat generalized the Darcyâ&#x20AC;&#x2122;s Law for two phase flows introducing the concepts of effective permeability and relative permeability. G. Chavent. A new formulation of diphasic incompressible flows in porous media. Volume 503 Lecture Notes in Mathematics, Springer 25 Wednesday, January 6, 2010
The Multiphase Flow Model Two phase flows When two fluids fills a porous media, the ability of a fluid to flow is called effective permeability of that fluid. It is denoted by Kα where α indicates the fluid Relative permeability is a dimensionless measure of the effective permeability of each fluid or phase.
Krα
Kα = K
=⇒ 26
Wednesday, January 6, 2010
Kα vα = − ∇Pα µα
The Multiphase Flow Model Simplified Hypothesis
•
Gravity is not considered
•
Constant porosity
•
Incompressible flow
•
The reservoir is saturated
27 Wednesday, January 6, 2010
The Multiphase Flow Model The Mathematical Model
•
Darcy’s Law
v = −K(x)λ∇P
•
Convective Transport Equation ∂ φ ∂t sw
•
∇·v =0
+ ∇ · (vfw ) = 0
The reservoir is saturated
sw + so = 1.0 Z. Chen. Computational methods for multiphase flows in porous media. SIAM 28 Wednesday, January 6, 2010
The Multiphase Flow Model Numerical Strategy
Numerical Approximation
29 Wednesday, January 6, 2010
Operator Splitting !
v= ∇·v =0 ∂sw φ ∂t + ∇ · (vfw ) = 0 K − µ ∇P,
30 Wednesday, January 6, 2010
Operator Splitting !
v= ∇·v =0 ∂sw φ ∂t + ∇ · (vfw ) = 0 K − µ ∇P,
v = −K(x)λ∇P
∇·v =0
∂ sw + ∇ · (vfw ) = 0 ∂t
Advantages:
• •
Different time steps for each problem Appropriate numerical30method for each equation
Wednesday, January 6, 2010
Numerical Approximation Velocity-pressure equation
v = −K(x)λ∇P
∇·v =0
• Mixed Finite Element Method • Raviart-Thomas Element • Preconditioned Conjugate Gradient Method • G. Chavent and J. Roberts. A unified physical presentation of mixed, mixed-hybrid finite •elementsfor determination of velocities in waterflow problems. IRIA, Chesnay, 1989. 31 Wednesday, January 6, 2010
Numerical Approximation Saturation equation ∂ φ ∂t sw
+ ∇ · (vfw ) = 0
• Second order central schemes • Semi-discrete Godunov type schemes • Second order Runge-Kutta Ribeiro S., Pereira F., Abreu E. Central schemes for porous media flows. Journal of Computational and Applied Mathematics, 2008 32 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
33 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1954
33 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1954
â&#x20AC;˘
Lax-Friedrichs numerical scheme (1954)
33 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1954
â&#x20AC;˘
Lax-Friedrichs numerical scheme (1954)
â&#x20AC;˘
centered finite differencing
33 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1954
•
Lax-Friedrichs numerical scheme (1954)
• •
centered finite differencing simplicity
33 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1954
•
Lax-Friedrichs numerical scheme (1954)
• • •
centered finite differencing simplicity time step restricted to a CFL condition
33 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1954
•
Lax-Friedrichs numerical scheme (1954)
• • • •
centered finite differencing simplicity time step restricted to a CFL condition High numerical diffusion and inversely proportional to the time step. 33
Wednesday, January 6, 2010
Numerical Approximation Saturation equation
34 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Lax-Friedrichs scheme
34 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
35 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1961
35 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1961
•
Rusanovʼs numerical scheme (1954)
35 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1961
•
Rusanovʼs numerical scheme (1954)
•
based on Lax-Friedrichs method
35 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1961
•
Rusanovʼs numerical scheme (1954)
• •
based on Lax-Friedrichs method first order approximation
35 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1961
•
Rusanovʼs numerical scheme (1954)
• • •
based on Lax-Friedrichs method first order approximation simplicity
35 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1961
•
Rusanovʼs numerical scheme (1954)
• • • •
based on Lax-Friedrichs method first order approximation simplicity time step no longer restricted to a CFL condition
35 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1961
•
Rusanovʼs numerical scheme (1954)
• • • •
based on Lax-Friedrichs method
•
Lower numerical diffusion independent of the time step.
first order approximation simplicity time step no longer restricted to a CFL condition
35 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
36 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Rusanov始s scheme
36 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
37 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1990
37 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1990
â&#x20AC;˘
Nessyahu and Tadmor numerical scheme J. Comp. Phys. 1990
37 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1990
•
Nessyahu and Tadmor numerical scheme J. Comp. Phys. 1990
•
second order extension of LxF method
37 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1990
•
Nessyahu and Tadmor numerical scheme J. Comp. Phys. 1990
• •
second order extension of LxF method central scheme based on REA algorithm from Godunov, Mat. Sb., 1959
37 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1990
•
Nessyahu and Tadmor numerical scheme J. Comp. Phys. 1990
• •
second order extension of LxF method
•
simplicity
central scheme based on REA algorithm from Godunov, Mat. Sb., 1959
37 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1990
•
Nessyahu and Tadmor numerical scheme J. Comp. Phys. 1990
• •
second order extension of LxF method
• •
simplicity
central scheme based on REA algorithm from Godunov, Mat. Sb., 1959
time step restricted to a CFL condition
37 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1990
•
Nessyahu and Tadmor numerical scheme J. Comp. Phys. 1990
• •
second order extension of LxF method
• • •
simplicity
central scheme based on REA algorithm from Godunov, Mat. Sb., 1959
time step restricted to a CFL condition Sharp resolution without spurious oscillation
37 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 1990
•
Nessyahu and Tadmor numerical scheme J. Comp. Phys. 1990
• •
second order extension of LxF method
• • • •
simplicity
central scheme based on REA algorithm from Godunov, Mat. Sb., 1959
time step restricted to a CFL condition Sharp resolution without spurious oscillation It captures the entropic solution 37
Wednesday, January 6, 2010
Numerical Approximation Saturation equation
38 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
NT scheme
38 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
39 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 2000
39 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 2000
â&#x20AC;˘
Kurganov and Tadmor numerical scheme J. Comp. Phys. 2000
39 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 2000
•
Kurganov and Tadmor numerical scheme J. Comp. Phys. 2000
•
second order extension of Rusanovʼs method with REA algorithm
39 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 2000
•
Kurganov and Tadmor numerical scheme J. Comp. Phys. 2000
•
second order extension of Rusanovʼs method with REA algorithm
•
simplicity
39 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 2000
•
Kurganov and Tadmor numerical scheme J. Comp. Phys. 2000
•
second order extension of Rusanovʼs method with REA algorithm
• •
simplicity time step is not restricted to a CFL condition
39 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 2000
•
Kurganov and Tadmor numerical scheme J. Comp. Phys. 2000
•
second order extension of Rusanovʼs method with REA algorithm
• • •
simplicity time step is not restricted to a CFL condition Much better resolution with longer time steps
39 Wednesday, January 6, 2010
Numerical Approximation Saturation equation
Historical development... in 2000
•
Kurganov and Tadmor numerical scheme J. Comp. Phys. 2000
•
second order extension of Rusanovʼs method with REA algorithm
• • • •
simplicity time step is not restricted to a CFL condition Much better resolution with longer time steps Numerical diffusion is independent of time step 39
Wednesday, January 6, 2010
Numerical Approximation
40 Wednesday, January 6, 2010
Numerical Approximation KT scheme
40 Wednesday, January 6, 2010
Finite Volume Strategy
•
Construction Step (Leveque, Finite volume method for hyperbolic problem)
•
Divide the domain in a collection of finite control volumes with fixed size
n n ! Sj,k (x, y) = S j,k + (Sx )nj,k · (x − xj ) + (Sy )nj,k · (y − yk )
•
(Evolution Step) Integrate the conservation law over each control volume. !!! " ∂ x ∂ y ∂ s+ ( vf (s)) + ( vf (s)) ∂t ∂x ∂y V 41
Wednesday, January 6, 2010
dt= 0
Finite Volume Strategy
•
Construction Step (Leveque, Finite volume method for hyperbolic problem)
•
Divide the domain in a collection of finite control volumes with fixed size
n n ! Sj,k (x, y) = S j,k + (Sx )nj,k · (x − xj ) + (Sy )nj,k · (y − yk )
•
(Evolution Step) Integrate the conservation law over each control volume.
!!! " ! ∂ x ∂ y ∂ s+ ( vf (s)) + ( vf (s)) dV dt= 0 ∂t ∂x ∂y V 41 Wednesday, January 6, 2010
Finite Volume Strategy Two spatial dimensions
Ly
â&#x201E;Ś
Lx 42 Wednesday, January 6, 2010
Finite Volume Strategy Two spatial dimensions
yk+1/2
∆Y yk−1/2
xj−1/2
∆X 43
Wednesday, January 6, 2010
xj+1/2
Finite Volume Strategy Contruction Step
yk+1/2 n ¯ Sj,k
yk−1/2
xj−1/2
xj+1/2
n n ! Sj,k (x, y) = S j,k + (Sx )nj,k · (x − xj ) + (Sy )nj,k · (y − yk ) 44
Wednesday, January 6, 2010
Finite Volume Strategy Evolution and Average Step
yk+1/2 n+1 S j,k
yk−1/2
xj−1/2
xj+1/2 45
Wednesday, January 6, 2010
Finite Volume Strategy
d S jk (t) = − dt
−
x x Hj+1/2,k (t) − Hj−1/2,k (t)
∆X
y Hj,k+1/2 (t)
−
y Hj,k−1/2 (t)
∆Y
• Second order Runge-Kuttaʼs method • Time step restricted to a stability condition max
! ∆t
Wednesday, January 6, 2010
∆tRK max | v(t) · (f (s))x |, ∆X s ∆Y RK
x
46
" max |yv(t) · (f (s))y | ≤ TRK s
Finite Volume Strategy Conservative Formulation of Semi-discrete central scheme -- SD2D d S jk (t) = − dt
−
x x Hj+1/2,k (t) − Hj−1/2,k (t)
∆X
y Hj,k+1/2 (t)
−
y Hj,k−1/2 (t)
∆Y
• Second order Runge-Kuttaʼs method • Time step restricted to a stability condition max
! ∆t
Wednesday, January 6, 2010
∆tRK max | v(t) · (f (s))x |, ∆X s ∆Y RK
x
46
" max |yv(t) · (f (s))y | ≤ TRK s
SD2D numerical scheme
yk+1/2
yk−1/2
xj−1/2
Wednesday, January 6, 2010
47
xj+1/2
SD2D numerical scheme Numerical Flux in X-direction !x " # 1 +− −− x Hj+1/2,k (t) = vj+1/2,k+1/2 (t) f (Sj+1/2,k+1/2 (t)) + f (Sj+1/2,k+1/2 (t)) 4 ! "# ++ −+ +xvj+1/2,k−1/2 (t) f (Sj+1/2,k−1/2 (t)) + f (Sj+1/2,k−1/2 (t))
" cxj+,k ! + − − Sj+,k (t) − Sj+,k (t) 2
yk+1/2
yk−1/2
xj−1/2
Wednesday, January 6, 2010
47
xj+1/2
SD2D numerical scheme yk+1/2
yk−1/2
xj−1/2
xj+1/2
48 Wednesday, January 6, 2010
SD2D numerical scheme Numerical Flux in Y-direction
yk+1/2
yk−1/2
xj−1/2"
xj+1/2
!y # 1 y −+ −− Hj,k+1/2 (t) = vj+1/2,k+1/2 (t) f (Sj+1/2,k+1/2 (t)) + f (Sj+1/2,k+1/2 (t)) 4 ! "# ++ +− +yvj−1/2,k+1/2 (t) f (Sj−1/2,k+1/2 (t)) + f (Sj−1/2,k+1/2 (t)) y dj,k+1/2 ! + Sj,k+1/2 (t) − 2 Wednesday, January 6, 2010
" − − Sj,k+1/2 (t) 48
SD2D numerical scheme The velocity field
yk+1 x
vj+1/2.k+1/2
yk
xj
xj+1 49
Wednesday, January 6, 2010
SD2D numerical scheme The velocity field
yk+1 x
vj+1/2.k+1/2
yk
xj
xj+1 49
Wednesday, January 6, 2010
Numerical Results in 2D
Slab Geometry
50 Wednesday, January 6, 2010
Geometria Slab
Ly
Lx 51 Wednesday, January 6, 2010
Geometria Slab
Geology model
52 Wednesday, January 6, 2010
The permeability field Scalar Log-Normal Permeability Field K = K (x) = K 0 e ρ ξ(x) where ξ(x) is Gaussian
Only rock heterogeneities drive macroscopic fluid mixing 53 Wednesday, January 6, 2010
CV = 0.5
SD2D Grid: 256 x 64
54 Wednesday, January 6, 2010
CV = 0.5
NT2D Grid: 256 x 64 Wednesday, January 6, 2010
SD2D Grid: 256 x 64
54
CV = 0.5
SD2D Grid: 256 x 64
55 Wednesday, January 6, 2010
CV = 0.5
NT2D Grid: 512 x 128 Wednesday, January 6, 2010
SD2D Grid: 256 x 64
55
CV = 0.5
SD2D Grid: 256 x 64
56 Wednesday, January 6, 2010
CV = 0.5
NT2D malha: 1024 x 256 Wednesday, January 6, 2010
SD2D Grid: 256 x 64
56
CV = 0.5
NT2D malha: 1024 x 256 Wednesday, January 6, 2010
SD2D Grid: 256 x 64 3.4 min
24 h 56
LxF 2D Grid: 256 x 64 cells
NT2D Grid: 256 x 64 cells
SD2D Grid: 256 x 64 cells 57 Wednesday, January 6, 2010
Numerical Results in 2D Permeability Field
SD2D
58 Wednesday, January 6, 2010
Gradient pressure fixed
Advantages and Disadvantages of the numerical approximation
59 Wednesday, January 6, 2010
Advantages and Disadvantages • Very easy formulation and implentation • It is very easy to extend to system of conservation laws.
• It depends on the geometry • It needs an adaptivity strategy to refine the mesh only near discontinuities.
• Ongoing work: develop lagrangian schemes which have self adaptable mesh 60 Wednesday, January 6, 2010
Mesh with adaptivity strategy
Courtesy from Steve Dufour generated using Discontinuous Galerkin method 61 Wednesday, January 6, 2010
Bibliography • Ribeiro S., Pereira F., Abreu E. Central schemes for porous media flows. Journal of Computational and Applied Mathematics, 2008
• Ribeiro S., Francisco A, Pereira F.
Water-Air simulation in porous media with one-phase pressure boundary condition. XI EMC
• Ribeiro S., Pereira, F.
A new two-dimensional second order non-oscillatory central scheme. ArXiv
• E. Abreu, F. Furtado, and F. Pereira. Three-phase immiscible displacement in heterogeneous petroleum reservoirs. Mathematics and computers in simulation 62 Wednesday, January 6, 2010
Bibliography • G. Chavent. A new formulation of diphasic incompressible flows in porous media. Volume 503 Lecture Notes in Mathematics, Springer
• F. Furtado, F. Pereira. Scaling analysis for two-phase immiscible flows in heterogeneous porous media. Comp. Appl. Math, 17, 1998.
• J. Glimm, B. Lindquist, F. Pereira, and R. Peierls. The multifractal hypothesis and anomalous diffusion. Math. Appl. Comput. 11, 1982.
• G. Chavent and J. Roberts. A unified physical presentation of mixed, mixed-hybrid finite elementsfor determination of velocities in waterflow problems. IRIA, 63 Chesnay, 1989. Wednesday, January 6, 2010
Bibliography
64 Wednesday, January 6, 2010
Bibliography
64 Wednesday, January 6, 2010
Bibliography
64 Wednesday, January 6, 2010
Bibliography
64 Wednesday, January 6, 2010
Bibliography
64 Wednesday, January 6, 2010
Bibliography
64 Wednesday, January 6, 2010
Bibliography
64 Wednesday, January 6, 2010
Bibliography
64 Wednesday, January 6, 2010
Bibliography
64 Wednesday, January 6, 2010
Bibliography
65 Wednesday, January 6, 2010
Obrigada!
66 Wednesday, January 6, 2010