Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Space discretization
Wavenumber: k_m = \frac{2 \pi k}{\Delta} is a measure of the spatial frequency of a wave.
Wavelength: \lambda_m = \frac{2 \pi}{k_m}
In Fourier space a convolution integral becomes a simple multiplication:
(f*g)_\Delta=\int f(t)g(x-t)dt=\frac{1}{\Delta}(f^* g)_k = \frac{2 \pi}{\Delta} \hat f_k \hat g_k
Parseval's theorem:
\int | f(x) |^2 dx = \frac{2 \pi}{\Delta} \sum_{k=-\infty}^{+\infty} | \hat{f}_k |^2
Derivative property:
- The Fourier coefficients of g = df/dx is:
\frac{df}{dx} = \frac{d}{dx} \sum_{k=-\infty}^{\infty} f_ke^{ikx} = \sum_{k=-\infty}^{\infty} ik f_ke^{ikx}
\hat{g}_k = \left( \frac{df}{dx} \right)_k = jk \hat{f}_k
- The Fourier coefficients of g = d^2 f/dx^2 is:
\frac{d^2f}{dx^2}=\frac{d}{dx}\sum_{k=-\infty}^{\infty}ikf_ke^{ikx}=\sum_{k=-\infty}^{\infty}(ik)^2f_ke^{ikx}
\hat{g}_k=\left(\frac{d^2f}{dx^2}\right)_k=-k^2\hat{f}_k
We now consider a finite number of harmonics: the truncated Fourier series is defined as:
S_N(f(x))=\frac{1}{\Delta}\sum_{k=-N}^{N}\hat{f}_ke^{ikx}
where the number of harmonics is truncated to N+1. This truncation will introduce truncation error as a function of N: err_1=\left| f(x)-S_N(f(x))\right|
There is a second source of error: the aliasing, where the integral in the definition of Fourier coefficient:
f_{m}=\frac{1}{\Delta}\int f(x)e^{-ijx_k}dx
is computed by using a finite number of points thus introducing the discrete Fourier transform. When using N discretization points it is impossible to distinguish an harmonic with wavenumber k with another harmonic with a higher wavenumber (s). In fraction flows the largest waves number of the scale \left(k_m\right)_{max}=\frac{2\pi}{\Delta}
It's important to find how many sampling points M let us avoid aliasing error when analyzing a potential with harmonics up to e^{-i2\pi}
We need Fourier coefficients for all harmonics below N/2 or M=2N. We discovered that we need at least: M=N.
Finite difference method
We now consider 1D space N+1 points where the velocity u(x) in the discrete 1D-space assumes:
u(x_i) where x_i=(i-1)\Delta x, i=0, ... , N+1 and \Delta x=\frac{L}{N}
We want algebraic version of differential operators: the continuum derivative is defined as:
\frac{d\varphi}{dx}=\lim_{h \to 0}\frac{U(x+h)-U(x)}{h}
dx = limh→0 ᵤ(x+h)−ᵤ(x) / h
by neglecting the limit we achieve,
(dᵤ)x ≃ ᵤ(x+Δx) − ᵤ(x) / Δx = ᵤi+1 − ᵤi / Δx
It is important now to characterize the quality of the approximation by introducing the Taylor Series in the expression that reproduces the exact differential operator while x→0. That is why we consider the Taylor series:
ᵤi+1 = ᵤi+(dᵤ)xΔx + (d2ᵤ / dx2)x (Δx2 / 2) + o(Δx3) (1)
and truncate it at the first order to obtain:
(dᵤ)x = ᵤi+1−ᵤi / Δx + o(Δx) . . . . first order accurate
We can do the same thing with backward Taylor:
(dᵤ)x = ᵤi−ᵤi−1 / Δx + o(Δx) . . . . first order accurate
These are FFD and BFD, we can subtract them (2)-(1) to achieve CFD:
ᵤi+1 − ᵤi−1 = 2(dᵤ)dxΔx + (d3ᵤ / 3) (Δx3) + o(Δx4)
(doᵤ / dx1)x = ᵤi+1−ᵤi−1 / 2Δx + o(Δx2) . . . . second order accurate
We use the same approach to find the second order derivative:
ᵤi+1 + ᵤi-1 − 2ᵤ = d2ᵤ / dx2 (Δx2) + o(Δx4)
(d2ᵤ / dx2)x = ᵤi+1 − 2ᵤi + ᵤi-1 / Δx2 + o(Δx2) . . . . second order accurate
Modified WNB
An important property of numerical techniques in CFD is the spectral accuracy. A way to address it is given by the analysis of the modified wnb.
The spectral accuracy of a method represented as a function of the length scale.
We can use the exact expression of the roundoff coeffcient definitions as terms of reference to evaluate the spectral accuracy of numerical methods.
We know:
dᵤ / dx = -jkᵤk
d2ᵤ / dx2 = -k2ᵤk
1o order derivative CFD
(doᵤ / dx)x = ᵤi+1 - ᵤi-1 / 2Δx
Now substitute with Fourier series:
(do / dx)c = 1 / 2Δx ( ∑k=−n/2n/2 ᵤk ejkxi+1 − ∑ ᵤk ejk(xi-Δx) )
= 1 / 2Δx ( ∑ ᵤkejᴋxi )
This is an additional amplitude error that could be:
- ARTIFICAL DISSIPATION
- ARTIFICAL AMPLIFICATION
It's important to avoid both of them because:
- Im ω < 0: as t → ∞, û k → 0
- Im ω > 0: as t → ∞, û k → ∞
Art. dis. causes unphysical damping of high wn interonicsArt. amp. causes numerical instabilities because increases amplitude
We also know that Im part of FFD and BFD have opposite sign.To avoid artificial amplification we use FFD or BFD depending on convective velocity sign:
- c : > 0 ⇝ BFD
- c : < 0 ⇝ FFD
This is the UPWIND SCHEME
DIFFUSION EQUATION
∂x∂t = v ∂²xu(x,t) = u(λn,t)u(x,0) = u(x)
by applying Fourier :û(x,t) = Σk ejxwk-νk²te-iwt
because:
dûktdt=-vk²iûk ûk(t) - ûke-v²k²t
The diffusion process will smooth all irregularities of the initial condition: the duamping increases by increasing the wvn kn like a quadratic function:
In physical space becomes:u(x,t) = Σk ejxwk-v²k²te-ixwk
Let's now solve it by applying 1° order CFD with M=N:dtûk = -ν(k²n²)ukn̂
for k=-n/2..n/2
The solution of the system is:ûk(t) = ûe-v²kn²dtt
for k=n+/2...n/2
The damping effect is underestimated at high wvn wavenumbers:If we use two times height, the solution is drastically worse.ux=1, on which we only to dec top, while it should be im, the harmonic is in the first body.As a consequence as t→∞, all other harmonics will be damped with except for k=0 (with um)
The linearized equation is:
ξi+1m+1 = ξi+1m - ÑmΔt + σm+1 -
ξi+1m = Ûm - Ûm-1 - Ûm - ÑmΔt + σm - ÑmΔt =
= Ũm Ûm+1 + { Ñ' - Ñm }Δt + σm**
We do the same trick as before but with Ñm:
Ñm = Ñ̆m + ( dÑm / dṪ ) ( Û̆m - Û̆m-1 ) + O( ( Û̆m - Û̆m-1 ) )2
Ñm - Ñ̆m = ( dÑm / dṪ ) ξm Δt + O( ( ξm-1 ξ ) )2
by substituting:
ξm+1 = ξm + ( dÑm / dṪ ) ξm Δt + O ( ( ξm-1 ξ ) )2 Δt + σm
= [1 + ( dÑm / dṪ ) Δt ] ξm + O( ( ξm-1 ξ ) )2 Δt + σm
amplification factor = α
Contrary to linear problems this α cannot be known a priori, so it needs to be computed at each iteration to continously adapt Δt to verify | α | ≤ 1.
CN FOR NONLINEAR PROBLEMS
The algorithm is:
Ûm+1 = Û̆m + ( Ñm - Ñ̂m / 2 ) Δt / 2
Ñ˘m is unknown and it’s our problem, meaning that explicit schemes are no use for nonlinear problems. A method to solve it then is the:
PREDICTOR CORRECTOR METHOD
The idea is to approximate Ñ˘m using an explicit method like Euler so we can write the updated solution as:
Ûm+1 = Û̆m + Ñm Δt
that can be used to estimate Ñ˘m:
Ñ˘m = N[ Û̆m - Ñ˘[ Û̆m-1 + Ñ˘ Δt / 2
where as means that is the Euler approximated solution not the CN one. This allows us to compute Ñ˘m with only available information like so:
Ûm+1 = Û̆m + ( Ñ˘m Û̆m ) Δt / 2 *
However CN is second order accurate while Euler is just first. We need to verify the accuracy.
by using Taylor on Ñ˘m as:
Ñ ˘m = Ñ˘m + ( dÑ˘m / dṪ ) ( Û̆m - Û̆˘m ) + O ( ( Û̆˘m - Û̆m+1 ) )
Now taking into account the truncation error of Euler and CN:
Ûm+1 = Û̆m + O(Δt2) Êerror approx solution = exact + trunc error
Û̆m = Û˘m + O(Δt3) CNtheir difference is: Ûm+1 - Û̆m+1 = O(Δt2)