• No results found

Solving partial differential equations (PDEs)

N/A
N/A
Protected

Academic year: 2021

Share "Solving partial differential equations (PDEs)"

Copied!
47
0
0

Loading.... (view fulltext now)

Full text

(1)

Solving partial differential equations (PDEs)

Hans Fangohr

Engineering and the Environment University of Southampton

United Kingdom

[email protected]

May 3, 2012

(2)

Outline I

1 Introduction: what are PDEs?

2 Computing derivatives using finite differences 3 Diffusion equation

4 Recipe to solve 1d diffusion equation

5 Boundary conditions, numerics, performance 6 Finite elements

7 Summary

(3)

This lecture

tries to compress several years of material into 45 minutes has lecture notes and code available for download at

http://www.soton.ac.uk/∼fangohr/teaching/comp6024

(4)

What are partial differential equations (PDEs)

Ordinary Differential Equations (ODEs)

one independent variable, for exampletin

d2x

dt2 =−

k mx

often the indepent variable tis the time

solution is functionx(t)

important for dynamical systems, population growth, control, moving particles

Partial Differential Equations (ODEs)

multiple independent variables, for examplet,x andy in

∂u ∂t =D ∂2u ∂x2 + ∂2u ∂y2 solution is functionu(t, x, y)

important for fluid dynamics, chemistry,

electromagnetism, . . . , generally problems with spatial resolution

(5)

2d Diffusion equation

∂u ∂t =D ∂2u ∂x2 + ∂2u ∂y2

u(t, x, y)is the concentration [mol/m3]

t is the time [s]

xis the x-coordinate [m]

y is the y-coordinate [m]

D is the diffusion coefficient [m2/s]

Also known as Fick’s second law. The heat equation has the

same structure (andu represents the temperature).

Example:

http://www.youtube.com/watch?v=WC6Kj5ySWkQ

(6)

Examples of PDEs

Cahn Hilliard Equation (phase separation)

Fluid dynamics (including ocean and atmospheric models, plasma physics, gas turbine and aircraft modelling) Structural mechanics and vibrations, superconductivity, micromagnetics, . . .

(7)

Computing derivatives

using finite differences

(8)

Overview

Motivation:

We need derivatives of functions for example for optimisation and root finding algorithms

Not always is the function analytically known (but we are usually able to compute the function numerically) The material presented here forms the basis of the finite-difference technique that is commonly used to solve ordinary and partial differential equations.

The following slides show

the forward difference technique

the backward difference technique and the central difference technique to approximate the derivative of a function.

We also derive the accuracy of each of these methods.

(9)

The 1st derivative

(Possible) Definition of the derivative (or “differential

operator” ddx)

f0(x)≡ df

dx(x) = limh→0

f(x+h)−f(x)

h

Use differenceoperator to approximate differential operator f0(x) = df dx(x) = limh→0 f(x+h)−f(x) h ≈ f(x+h)−f(x) h

⇒can now compute an approximation of f0(x)simply by

evaluating f (twice).

This is called theforward difference because we use f(x)

and f(x+h).

Important questions: How accurate is this approximation?

(10)

Accuracy of the forward difference

Formal derivation using the Taylor series of f aroundx

f(x+h) = ∞ X n=0 hnf (n)(x) n! = f(x) +hf0(x) +h2f 00(x) 2! +h 3f000(x) 3! +. . . Rearranging forf0(x) hf0(x) =f(x+h)−f(x)−h2f 00(x) 2! −h 3f000(x) 3! −. . . f0(x) = 1 h f(x+h)−f(x)−h2f 00(x) 2! −h 3f000(x) 3! −. . . = f(x+h)−f(x) h − h2f002!(x)−h3f0003!(x) h −. . . = f(x+h)−f(x) h −h f00(x) 2! −h 2f000(x) 3! −. . . 10 / 47

(11)

Accuracy of the forward difference (2)

f0(x) = f(x+h)−f(x) h −h f00(x) 2! −h 2f 000(x) 3! −. . . | {z } Eforw(h) f0(x) = f(x+h)−f(x) h +Eforw(h)

Therefore, the error termEforw(h) is

Eforw(h) = −h

f00(x) 2! −h

2f000(x) 3! −. . . Can also be expressed as

f0(x) = f(x+h)−f(x)

h +O(h)

(12)

The 1st derivative using the backward difference

Another definition of the derivative (or “differential operator” ddx)

df

dx(x) = limh→0

f(x)−f(x−h)

h

Use difference operator to approximate differential operator df dx(x) = limh→0 f(x)−f(x−h) h ≈ f(x)−f(x−h) h

This is called thebackward difference because we use

f(x) and f(x−h).

How accurate is the backward difference?

(13)

Accuracy of the backward difference

Formal derivation using the Taylor Series off aroundx

f(x−h) = f(x)−hf0(x) +h2f 00(x) 2! −h 3f 000(x) 3! +. . . Rearranging forf0(x) hf0(x) =f(x)−f(x−h) +h2f 00(x) 2! −h 3f000(x) 3! −. . . f0(x) = 1 h f(x)−f(x−h) +h2f 00(x) 2! −h 3f000(x) 3! −. . . = f(x)−f(x−h) h + h2f002!(x)−h3f0003!(x) h −. . . = f(x)−f(x−h) h +h f00(x) 2! −h 2f000(x) 3! −. . . 13 / 47

(14)

Accuracy of the backward difference (2)

f0(x) = f(x)−f(x−h) h +h f00(x) 2! −h 2f 000(x) 3! −. . . | {z } Eback(h) f0(x) = f(x)−f(x−h) h +Eback(h) (1)

Therefore, the error termEback(h) is

Eback(h) = h f00(x) 2! −h 2f 000(x) 3! −. . . Can also be expressed as

f0(x) = f(x)−f(x−h)

h +O(h)

(15)

Combining backward and forward differences (1)

The approximations are forward: f0(x) = f(x+h)−f(x) h +Eforw(h) (2) backward f0(x) = f(x)−f(x−h) h +Eback(h) (3) Eforw(h) = −h f00(x) 2! −h 2f000(x) 3! −h 3f0000(x) 4! −h 4f00000(x) 5! −. . . Eback(h) = h f00(x) 2! −h 2f000(x) 3! +h 3f0000(x) 4! −h 4f00000(x) 5! +. . .

⇒Add equations (2) and (3) together, then the error cancels

partly!

(16)

Combining backward and forward differences (2)

Add these lines together

f0(x) = f(x+h)−f(x) h +Eforw(h) f0(x) = f(x)−f(x−h) h +Eback(h) 2f0(x) = f(x+h)−f(x−h) h +Eforw(h) +Eback(h)

Adding the error terms:

Eforw(h) +Eback(h) =−2h2

f000(x) 3! −2h

4f00000(x) 5! −. . .

The combined (central) difference operator is

f0(x) = f(x+h)−f(x−h) 2h +Ecent(h) with Ecent(h) =−h2f 000(x) 3! −h 4f00000(x) 5! −. . . 16 / 47

(17)

Central difference

Can be derived (as on previous slides) by adding forward and backward difference

Can also be interpreted geometrically by defining the differential operator as

df

dx(x) = limh→0

f(x+h)−f(x−h) 2h

and taking the finite difference form df

dx(x)≈

f(x+h)−f(x−h) 2h

Error of the central difference is onlyO(h2), i.e. better than forward or backward difference

It is generally the case that symmetric differences are more accurate than asymmetric expressions.

(18)

Example (1)

Using forward difference to estimate the derivative of

f(x) = exp(x) f0(x)≈fforw0 = f(x+h)−f(x) h = exp(x+h)−exp(x) h Numerical example: h= 0.1, x= 1

f0(1) ≈fforw0 (1.0) = exp(1.1)0.1exp(1) = 2.8588

Exact answers isf0(1.0) = exp(1) = 2.71828

(Central diff: fcent0 (1.0) = exp(1+0.1)0.2exp(1−0.1)= 2.72281)

(19)

Example (2)

Comparison: forward difference, central difference and exact derivative off(x) = exp(x) 0 1 2 3 4 5 x 0 20 40 60 80 100 120 140 df/dx(x)

Approximations of df/dx for f(x)=exp(x)

forward h=1

central h=1

forward h=0.0001

exact

(20)

Summary

Can approximate derivatives off numerically using only

function evaluations of f

size of step hvery important

central differences has smallest error term

name formula error

forward f0(x) = f(x+hh)−f(x) O(h) backward f0(x) = f(x)−hf(x−h) O(h) central f0(x) = f(x+h)2hf(x−h) O(h2)

(21)

Appendix: source to compute figure on page

19

I

EPS =1 # v e r y l a r g e E P S to p r o v o k e i n a c c u r a c y def f o r w a r d d i f f ( f , x , h = EPS ): # df / dx = ( f ( x + h ) - f ( x ) )/ h + O ( h ) r e t u r n ( f ( x + h ) - f ( x ) )/ h def b a c k w a r d d i f f ( f , x , h = EPS ): # df / dx = ( f ( x ) - f ( x - h ) )/ h + O ( h ) r e t u r n ( f ( x ) - f ( x - h ) )/ h def c e n t r a l d i f f ( f , x , h = EPS ): # df / dx = ( f ( x + h ) - f ( x - h ) ) / h + O ( h ^ 2 ) r e t u r n ( f ( x + h ) - f ( x - h ) ) / ( 2 * h ) if _ _ n a m e _ _ == " _ _ m a i n _ _ " : # c r e a t e e x a m p l e p l o t i m p o r t p y l a b i m p o r t n u m p y as np a =0 # l e f t a n d b =5 # r i g h t l i m i t s f o r x N =11 # s t e p s 21 / 47
(22)

Appendix: source to compute figure on page

19

II

def f ( x ): " " " O u r t e s t f u n t i o n w i t h c o n v e n i e n t p r o p e r t y t h a t df / dx = f " " " r e t u r n np . exp ( x ) xs = np . l i n s p a c e ( a , b , N ) f o r w a r d = [] f o r w a r d _ s m a l l _ h = [] c e n t r a l = [] for x in xs : f o r w a r d . a p p e n d ( f o r w a r d d i f f ( f , x ) ) c e n t r a l . a p p e n d ( c e n t r a l d i f f ( f , x ) ) f o r w a r d _ s m a l l _ h . a p p e n d ( f o r w a r d d i f f ( f , x , h =1 e - 4 ) ) p y l a b . f i g u r e ( f i g s i z e =(6 ,4)) p y l a b . a x i s ([ a , b ,0 , np . exp ( b )]) p y l a b . p l o t ( xs , forward , ’ ^ ’ , l a b e l = ’ f o r w a r d h =% g ’ % EPS ) p y l a b . p l o t ( xs , central , ’ x ’ , l a b e l = ’ c e n t r a l h =% g ’ % EPS ) p y l a b . p l o t ( xs , f o r w a r d _ s m a l l _ h , ’ o ’ , l a b e l = ’ f o r w a r d h =% g ’ % 1 e -4) x s f i n e = np . l i n s p a c e ( a , b , N * 1 0 0 ) 22 / 47
(23)

Appendix: source to compute figure on page

19

III

p y l a b . p l o t ( xsfine , f ( x s f i n e ) , ’ - ’ , l a b e l = ’ e x a c t ’ ) p y l a b . g r i d () p y l a b . l e g e n d ( loc = ’ u p p e r l e f t ’ ) p y l a b . x l a b e l ( " x " ) p y l a b . y l a b e l ( " df / dx ( x ) " ) p y l a b . t i t l e ( " A p p r o x i m a t i o n s of df / dx for f ( x )= exp ( x ) " ) p y l a b . p l o t ()

p y l a b . s a v e f i g ( ’ central - and - forward - d i f f e r e n c e . pdf ’ ) p y l a b . s h o w ()

(24)

Note: Euler’s (integration) method — derivation

using finite difference operator

Use forward difference operator to approximate differential operator dy dx(x) = limh→0 y(x+h)−y(x) h ≈ y(x+h)−y(x) h

Change differential to difference operator in ddyx =f(x, y)

f(x, y) = dy dx ≈ y(x+h)−y(x) h hf(x, y) ≈ y(x+h)−y(x) =⇒yi+1 = yi+hf(xi, yi)

⇒Euler’s method (for ODEs) can be derived from the

forward difference operator.

(25)

Note: Newton’s (root finding) method —

derivation from Taylor series

We are looking for a root,i.e. we are looking for axso that f(x) = 0.

We have an initial guessx0which we refine in subsequent iterations: xi+1=xi−hi where hi= f(xi) f0(x i) . (4) .

This equation can be derived from the Taylor series off aroundx. Suppose we guess the root to be atxandx+his the actual location of the root (sohis unknown and f(x+h) = 0):

f(x+h) = f(x) +hf0(x) +. . . 0 = f(x) +hf0(x) +. . . =⇒0 ≈ f(x) +hf0(x) ⇐⇒h ≈ −f(x) f0(x). (5) 25 / 47

(26)

The diffusion equation

(27)

Diffusion equation

The 2d operator ∂x∂22 +

∂2

∂y2 is called the Laplace

operator ∆, so that we can also write

∂u ∂t =D ∂2 ∂x2 + ∂2 ∂y2 =D∆u

The diffusion equation (with constant diffusion

coefficient D) reads ∂u∂t =D∆u where the Laplace

operator depends on the number d of spatial dimensions

d= 1: ∆ = ∂x∂22 d= 2: ∆ = ∂x∂22 + ∂2 ∂y2 d= 3: ∆ = ∂x∂22 + ∂ 2 ∂y2 + ∂ 2 ∂z2 27 / 47

(28)

1d Diffusion equation

∂u∂t

=

D

∂x2u2

In one spatial dimension, the diffusion equation reads

∂u ∂t =D

∂2u

∂x2

This is the equation we will use as an example. Let’s assume an initial concentration

u(x, t0) = σ√12πexp

−(x−xmean)2

σ2

with xmean = 0 and

width σ = 0.5. 6 4 2 0 2 4 6 x 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 u(x,t_0) (x,t0) 28 / 47

(29)

1d Diffusion eqn

∂u∂t

=

D

∂x2u2

, time integration I

Let us assume that we have some way of computing

D∂∂x2u2 at time t0 and let’s call thisg(x, t0), i.e.

g(x, t0)≡D ∂2u(x, t0) ∂x2 We like to solve ∂u(x, t) ∂t =g(x, t0)

to computeu(x, t1) at some later time t1. Use finite difference time integration scheme:

Introduce a time step size h so that t1 =t0+h.

(30)

1d Diffusion eqn

∂u∂t

=

D

∂x2u2

, time integration II

Change differential operator to forward difference operator

g(x, t0) = ∂u(x, t) ∂t = hlim→0 u(x, t0+h)−u(x, t0) h (6) ≈ u(x, t0+h)−u(x, t0) h (7)

Rearrange to find u(x, t1)≡u(x, t0+h) gives

u(x, t1)≈u(x, t0) +hg(x, t0)

We can generalise this usingti =t0+ih to read

u(x, ti+1)≈u(x, ti) +hg(x, ti) (8)

→If we can find g(x, ti), we can computeu(x, ti+1)

(31)

1d Diffusion eqn

∂u∂t

=

D

∂x2u2

, spatial part I

∂u ∂t =D

∂2u

∂x2 =g(x, t)

Need to compute g(x, t) =D∂2∂xu(x,t2 ) for a given u(x, t).

Can ignore the time dependence here, and obtain

g(x) = D∂ 2u(x) ∂x2 . Recall that ∂2u ∂x2 = ∂ ∂x ∂u ∂x

and we that know how to compute ∂u∂x using central

differences.

(32)

Second order derivatives from finite differences I

Recall central difference equation for first order derivative

df

dx(x)≈

f(x+h)−f(x−h) 2h

will be more convenient to replaceh by 12h:

df dx(x)≈ f(x+12h)−f(x−1 2h) h 32 / 47

(33)

Second order derivatives from finite differences II

Apply the central difference equation twice to obtain dd2xf2:

d2f dx2(x) = d dx df dx(x) ≈ d dx f(x+1 2h)−f(x− 1 2h) h = 1 h d dxf x+1 2h − d dxf x− 1 2h ≈ 1 h f(x+h)−f(x) h − f(x)−f(x−h) h = f(x+h)−2f(x) +f(x−h) h2 (9) 33 / 47

(34)

Recipe to solve

∂u∂t

=

D

∂x2u2

1 Discretise solutionu(x, t) into discrete values 2 uij ≡u(xj, ti)where

xj ≡x0+j∆x and

ti≡t0+i∆t.

3 Start with time iteration i= 0

4 Need to know configurationu(x, ti).

5 Then compute g(x, ti) =D∂

2u

∂x2 using finite differences

(9).

6 Then compute u(x, ti+1) based ong(x, ti) using (8)

7 increasei to i+ 1, then go back to 5.

(35)

A sample solution

∂u∂t

=

D

∂x2u2

,

I

i m p o r t n u m p y as np i m p o r t m a t p l o t l i b . p y p l o t as plt i m p o r t m a t p l o t l i b . a n i m a t i o n as a n i m a t i o n a , b = -5 ,5 # s i z e of b o x N = 51 # n u m b e r of s u b d i v i s i o n s x = np . l i n s p a c e ( a , b , N ) # p o s i t i o n s of s u b d i v i s i o n s h = x [1] - x [0] # d i s c r e t i s a t i o n s t e p s i z e in x - d i r e c t i o n def t o t a l ( u ): " " " C o m p u t e s t o t a l n u m b e r of m o l e s in u . " " " r e t u r n (( b - a )/ f l o a t ( N )* np . sum ( u ))

def g a u s s d i s t r ( mean , sigma , x ):

" " " R e t u r n g a u s s d i s t r i b u t i o n f o r g i v e n n u m p y a r r a y x " " " r e t u r n 1 . / ( s i g m a * np . s q r t (2* np . pi ))* np . exp ( -0.5*( x - m e a n ) * * 2 / s i g m a * * 2 ) # s t a r t i n g c o n f i g u r a t i o n f o r u ( x , t0 ) u = g a u s s d i s t r ( m e a n =0. , s i g m a =0.5 , x = x ) 35 / 47

(36)

A sample solution

∂u∂t

=

D

∂x2u2

,

II

def c o m p u t e _ g ( u , D , h ): " " " g i v e n a u ( x , t ) in array , c o m p u t e g ( x , t )= D * d ^2 u / dx ^2 u s i n g c e n t r a l d i f f e r e n c e s w i t h s p a c i n g h , a n d r e t u r n g ( x , t ). " " " d 2 u _ d x 2 = np . z e r o s ( u . shape , np . f l o a t ) for i in r a n g e (1 , len ( u ) -1): d 2 u _ d x 2 [ i ] = ( u [ i +1] - 2* u [ i ]+ u [ i - 1 ] ) / h **2 # s p e c i a l c a s e s at b o u n d a r y : a s s u m e N e u m a n b o u n d a r y # c o n d i t i o n s , i . e . no c h a n g e of u o v e r b o u n d a r y # so t h a t u [0] - u [ - 1 ] = 0 a n d t h u s u [ -1]= u [ 0 ] i =0 d 2 u _ d x 2 [ i ] = ( u [ i +1] - 2* u [ i ]+ u [ i ])/ h **2 # s a m e at o t h e r e n d so t h a t u [ N -1] - u [ N ] = 0 # a n d t h u s u [ N ]= u [ N - 1 ] i = len ( u ) -1 d 2 u _ d x 2 [ i ] = ( u [ i ] - 2* u [ i ]+ u [ i - 1 ] ) / h **2 r e t u r n D * d 2 u _ d x 2 def a d v a n c e _ t i m e ( u , g , dt ): " " " G i v e n t h e a r r a y u , t h e r a t e of c h a n g e a r r a y g , a n d a t i m e s t e p dt , c o m p u t e t h e s o l u t i o n f o r u a f t e r t , u s i n g s i m p l e E u l e r m e t h o d . " " " u = u + dt * g 36 / 47
(37)

A sample solution

∂u∂t

=

D

∂x2u2

,

III

r e t u r n u # s h o w e x a m p l e , q u i c k a n d d i r t l y , l o t s of g l o b a l v a r i a b l e s dt = 0 . 0 1 # s t e p s i z e or t i m e s t e p s b e f o r e u p d a t i n g g r a p h = 20 # p l o t t i n g is s l o w D = 1. # D i f f u s i o n c o e f f i c i e n t s t e p s d o n e = 0 # k e e p t r a c k of i t e r a t i o n s def d o _ s t e p s ( j , n s t e p s = s t e p s b e f o r e u p d a t i n g g r a p h ): " " " F u n c t i o n c a l l e d by F u n c A n i m a t i o n c l a s s . C o m p u t e s n s t e p s i t e r a t i o n s , i . e . c a r r i e s f o r w a r d s o l u t i o n f r o m u ( x , t _ i ) to u ( x , t_ { i + n s t e p s } ) . " " " g l o b a l u , s t e p s d o n e for i in r a n g e ( n s t e p s ): g = c o m p u t e _ g ( u , D , h ) u = a d v a n c e _ t i m e ( u , g , dt ) s t e p s d o n e += 1 t i m e _ p a s s e d = s t e p s d o n e * dt p r i n t( " s t e p s d o n e =%5 d , t i m e =%8 gs , t o t a l ( u ) = % 8 g " % ( s t e p s d o n e , t i m e _ p a s s e d , t o t a l ( u ))) l . s e t _ y d a t a ( u ) # u p d a t e d a t a in p l o t f i g 1 . c a n v a s . d r a w ()# r e d r a w t h e c a n v a s 37 / 47
(38)

A sample solution

∂u∂t

=

D

∂x2u2

,

IV

r e t u r n l , f i g 1 = plt . f i g u r e () # s e t u p a n i m a t i o n l ,= plt . p l o t ( x , u , ’b - o ’ ) # p l o t i n i t i a l u ( x , t ) # t h e n c o m p u t e s o l u t i o n a n d a n i m a t e l i n e _ a n i = a n i m a t i o n . F u n c A n i m a t i o n ( fig1 , d o _ s t e p s , r a n g e ( 1 0 0 0 0 ) ) plt . s h o w () 38 / 47
(39)

Boundary conditions I

For ordinary differential equations (ODEs), we need to

know the initial value(s)to be able to compute a solution.

For partial differential equations (PDEs), we need to know the initial values and extra information about the

behaviour of the solution u(x, t) at the boundary of the

spatial domain (i.e. at x=a and x=b in this example).

Commonly used boundary conditions are

Dirichlet boundary conditions: fixu(a) =cto some

constant.

Would correspond here to some mechanism that keeps

the concentrationu at positionx=a constant.

(40)

Boundary conditions II

Neuman boundary conditions: fix the change of uacross

the boundary, i.e.

∂u

∂x(a) =c.

For positive/negativec this corresponds to an imposed concentration gradient.

Forc= 0, this corresponds to conservation of the atoms in the solution: as the gradient across the boundary cannot change, no atoms can move out of the box. (Used in our program on slide 35)

(41)

Numerical issues

The time integration scheme we use isexplicit because we

have an explicit equation that tells us how to compute

u(x, ti+1) based onu(x, ti) (equation (8) on slide 30)

An implicit scheme would computeu(x, ti+1) based on

u(x, ti)and on u(x, ti+1).

The implicit scheme is more complicated as it requires solving an additional equation system just to find

u(x, ti+1) but allows larger step sizes∆t for the time. The explicit integration scheme becomes quickly unstable

if ∆t is too large. ∆t depends on the chose spatial

discretisation ∆x.

(42)

Performance issues

Our sample code is (nearly) as slow as possible

interpreted language explicit for loops

enforced small step size from explicit scheme

Solutions:

Refactor for-loops into matrix operations and use

(compiled) matrix library (numpy for small systems, use

scipy.sparsefor larger systems)

Use library function to carry out time integration (will use implicit method if required), for example

scipy.integrate.odeint.

(43)

Finite Elements

Another widely spread way of solving PDEs is using so-called finite elements.

Mathematically, the solution u(x)for a problem like

∂2u ∂x2 =f(x) is written as u(x) = N X i=1 uiφi(x) (10)

where each ui is a number (a coefficient), and each φi(x)

a known function of space.

Theφi are calledbasis or shape functions.

Eachφi is normally chosen to be zero for nearly all x, and

to be non-zero close to a particular node in the finite element mesh.

By substitution (10) into the PDE, a matrix system can

be obtained, which – if solved – provides the coefficients

ui, and thus the solution.

(44)

Finite Elements vs Finite differences

Finite differences

are mathematically much simpler and

for simple geometries (such as cuboids) easier to program

Finite elements

have greater flexibility in the shape of the domain, the specification and implementation of boundary conditions is easier

but the basic mathematics and code is more complicated.

(45)

Practical observation on time integration

Usually, we solve the spatial part of a PDE using some

discretisation scheme such as finite differences and finite elements).

This results in a set of coupled ordinary differential equations (where time is the independent variable). Can think of this as one ODE for every cube from our discretisation.

Thistemporal part is then solved using time integration schemes for (systems of) ordinary differential equations.

(46)

Summary

Partial differential equations important in many contexts If no analytical solution known, use numerics.

Discretise the problem through

finite differences (replace differential with difference operator, corresponds to chopping space and time in little cuboids)

finite elements (project solution on localised basis functions, often used with tetrahedral meshes) related methods (finite volumes, meshless methods).

Finite elements and finite difference calculations are standard tools in many areas of engineering, physics, chemistry, but increasingly in other fields.

(47)

changeset: 53:a22b7f13329e tag: tip

user: Hans Fangohr [MBP13] <[email protected]> date: Fri Dec 16 10:57:15 2011 +0000

http://www.soton.ac.uk/∼ http://www.youtube.com/watch?v=WC6Kj5ySWkQ Cahn Hilliard Equation

References

Related documents

These test data, and those from many other researchers, highlight the benefits to be obtained in terms of reducing sulphate attack and chloride ion penetration from incorporating

A consequence of this perspective of woman directors being appointed as part of the symbolic management of the independence of the board is that, when these directors lose

Further, by showing that v τ is a modular unit over Z we give a new proof of the fact that the singular values of v τ are units at all imaginary quadratic arguments and obtain

CREATE TABLE star (name varchar(20), ra float, dec float, vmag float) Data types:.. • boolean, bit, tinyint, smallint, int, bigint; • real/float,

The extract of the cultured apple stem cells was shown to en- hance the viability of umbilical cord blood stem cells, to reverse senescence signs in human fibrob- last cells and

Age— Looking at full-time, full-year wage and salary workers ages 21 ‒ 64, workers ages 35 ‒ 64 had lower percentages participating in an employment-based retirement plan at

menunjukkan berat kering akar stek tanaman lada terberat dijumpai pada perlakuan jenis ZPT alami ekstrak umbi bawang merah (J1) yang berbeda nyata dengan perlakuan

Liquid organic fertilizer from seaweed waste and cow urine had the real effect on the parameters of plant height, number of branches, flowering age, harvesting age,