Professional Documents
Culture Documents
Numerical Solution of Differential Equations Main idea: look for an approximate solution that lies in Vj. Approximate solution should converge to true solution as j . Consider the Poisson equation leave boundary 2 = f(x) -------------- conditions till later x2 Approximate solution: uapprox(x) = c[k]2j/2 (2j x k) ----------k
Method of weighted residuals: Choose a set of test functions, gn(x), and form a system of equations (one for each n).
2uapprox x2
gn(x)dx = f(x)gn(x) dx
One possibility: choose test functions to be Dirac delta functions. This is the collocation method. gn(x) = (x n/2j) n integer
----------------------------
Second possibility: choose test functions to be scaling functions. Galerkin method if synthesis functions are used (test functions = trial functions) Petrov-Galerkin method if analysis functions are used e.g. Petrov-Galerkin ~ gn(x) = j,n(x) c[k]
k 2 2 - x
~ Vj
Note: Petrov-Galerkin
Two types of integrals are needed: (a) Connection Coefficients ~ 2 ~ x2 j,k(x) . j,n(x)dx = 22j 2j/2(2jx - k)2j/2(2jx - n)dx - ~ = 22j ()( + k n) d
-
connection coefficients
(b) Expansion coefficients ~ The integrals f(x)j,n(x)dx are the coefficents for
-
--------------------------
with
rj[k] = f(x) ~ j,k(x) dx -
--------------------------
So we can write the system of Galerkin equations as a convolution: 22j c[k]h2/x2[n k] = rj[n] ---------------k 6
Solve a deconvolution problem to find c[k] and then find uapprox using equation . Note: we must allow for the fact that the solution may be non-unique, i.e. H2/x2() may have zeros. Familiar example: 3-point finite difference operator h2/x2[n] = {1, -2, 1} H2/x2(z) = 1 2z1 + z2 = (1 z1)2 H2/x2() has a 2nd order zero at = 0. Suppose u0(x) is a solution. Then u0(x) + Ax + B is also a solution. Need boundary conditions to fix uapprox(x).
7
Determination of Connection Coefficients ~ h2/x2[n] = (t) (t n)dt - Simple numerical quadrature will not converge if (t) behaves badly. Instead, use the refinement equation to formulate an eigenvalue problem. (t) = 2 f0[k](2t k) (t) = 8 f0[k](2t k) k ~ ~ (t n) = 2 h0[](2t 2n - )
k
m = 2n +
eigenvalue problem
Need a normalization condition use the moments of the scaling function: If h0[n] has at least 3 zeros at , we can write ~ 2[k](t k) = t2 ; 2[k] = t2(t k)dt
~ Differentiate twice, multiply by (t) and integrate:
k -
2[k]h2/x2[- k] = 2!
k
Normalizing condition
10
11
How to enforce boundary conditions? One idea extrapolate a polyp n omial: -1 u(x) = c[k]j,k(x) = a[]x k =0 Relate c[k] to a[] through moments. Extend c[k] by extending underlying polynomial.
Extrapolated polynomial should satisfy boundary constraints: Dirichlet: p-1 u(x0) = a[]x0 = =0 Neumann: p-1 u'(x0) = a[]x0-1 =
=0
Constraint on a[]
12
We used the shifted and scaled versions, j,k(x), to synthesize the solution. If F0() has p zeros at , then we can exactly represent solutions which are degree p 1 polynomials. In general, we hope to achieve an approximate solution that behaves like u(x) = c[k]j,k(x) + O(hp)
k
where h =
1 2j
13
14
Multiscale Representation
e.g. 2u/x2 = f Expand as u = ck(x k) + dj,kw(2j x-k)
k j=0 k J
Galerkin gives a system Ku = f with typical entries Km,n = 22j x2 w(x n)w(x-m)dx
- 2
15
Effect of Preconditioner
Multiscale equations: (WKWT)(Wu) = Wf Preconditioned matrix: Kprec = DWKWTD
Simple diagonal preconditioner
1 1 D=
2 1 2 1 4 1 4
1 4
16
Matlab Example
Numerical solution of Partial Differential Equations
17
The Problem
1. Helmholtz equation: uxx + a u = f p=6; % Order of wavelet scheme (pmin=3) a=0 L = 3; % Period. nmin = 2; % Minimum resolution nmax = 7; % Maximum resolution
18
Solution at Resolution 2
19
Solution at Resolution 3
20
10
Solution at Resolution 4
21
Solution at Resolution 5
22
11
Solution at Resolution 6
23
Solution at Resolution 7
24
12
Convergence Results
5.9936
25
13