You are on page 1of 53

Simple extensions to the non-

linear diffusion problem in


Mattia de' Michieli Vitturi (Istituto

Nazionale di Geofisica e
Ramon Arrowsmith (SESE)
•  Iconic initial forms and physical problem (Ramon)  
•  Useful information about finite differences (Mattia)  
o  Finite difference in general  
o  Space and time order of the approximation (centered vs
forward or backward)  
o  Explicit vs implicit (help explain what is stability)  
o  Linear vs non linear  
o  1 d vs 2 d  
•  Demonstrate code and results (Mattia and Ramon)  
o  base cases (quasi linear and non linear): repeat Pelletier
and Cline  
o  more complex, including spatially varying k  
o  short example of the result from the Etna cones with wind
effect on k  
•  Introduce exercise (Ramon and Mattia)
Iconic initial form #1: volcanic cone  
-SP Crater, northern Arizona, 10 m DEM from USGS National
Elevation dataset
Iconic initial form #2: fault scarp  
-El Mayor Cucapah earthquake rupture (2010), Airborne laser
swath mapping 1 m DEM from UC Davis/Cicese/ASU; acquired by
NCALM and DEM processing by OpenTopography
Iconic initial form #3: impact crater  
-Linne crater on the Moon, 2m photogrammetric DEM data from
LROC courtesy of Mark Robinson and LROC team
Transport - limited slope dependent sediment
Continuity of qs evaluated in two dimensions
(h is a function of x and y) thus accounting
for horizontal convergence or divergence of
t is time, k is rate constant, Sc is the
tangent of the angle of stability
Numerical  methods  
•  When   we   want   to   solve   a   mathema4cal   model  
with   a   computer   (we   search   for   a   “numerical  
solu4on”)   we   have   to   consider   that   computers  
have  a  finite  amount  of  memory.  We  have  then  to  
select   a   set   of   discrete   loca4ons   in   space   and  
4me  where  we  will  have  the  numerical  solu4on.  
•  The   discrete   loca4ons   at   which   the   variables   are  
to  be  calculated  are  defined  by  the  numerical  grid  
which   is   essen4ally   a   discrete   representa4on   of  
the  geometric  domain  on  which  the  problem  has  
to  be  solved.        
Finite  difference  method  
•  In   the   finite   difference   method,   at   each   grid  
point   the   differen4al   equa4on   is   solved  
numerically   by   replacing   the   derica4ves   with  
approxima4ons  in  terms  of  the  nodal  values  of  
the  func4ons:  

 where  hi  are  the  values  of  the  func4on  at  the  
points  of  the  numerical  grid.    
Discre4za4on  grid  
•  For  convenience,  in  the  descrip4on  of  the  
method,  we  will  use  a  uniform  1D  grid  with  
spacing  Δx.  we  will  refer  to  the  points  of  the  
grid  as  xi.  


Approxima4on  scheme  
•  The  idea  behind  finite  difference  approxima4on  is  
borrowed   directly   from   the   defini4on   of  

(*)   Likewise   we   discre4se   the   4me   interval   in  

discrete   4mes,   separated   by   a   4me   step   Δt,   and  
only   compute   the   solu4on   for   4mes   tn=nΔt,   n=0,
Finite  differences  
•  We  want  to  approximate  the  exact  deriva4ve  
(the  slope)  of  a  func4on  at  the  point  xi


Forward  scheme  



Backward  scheme  



Central  scheme  


•  It   is   obvious   that   some   approxima4ons   are  
beTer   than   others.   The   accuracy   of   the  
approxima4on   depends   on   the   trunca4on  
error,   i.e.   the   difference   between   the   exact  
value  of  the  deriva4ve  and  the  approxima4on  
we  are  using.    
Accuracy:  Taylor  expansion  
•  To  evaluate  the  errors,  we  can  write  the  Taylor  
expansion  in  the  vicinity  of  xi:  
Taylor  expansion  
•  By   replacing   x   by   xi+1   and   xi-1   in   the   Taylor  
expansion  we  have:  
Forward  scheme  
•  From  the  first  one:  

       we  obtain  
Backward  scheme  
•  From  the  second  one:  

       we  obtain    
Central  scheme  
•  Subtrac4ng  the  second  Taylor  expansion  from  
the  first:  

•  The   terms   that   are   deleted   from   the   right   hand  
sides   in   the   finite   difference   approxima4on   are  
called   the   trunca'on   errors;     they   measure   the  
accuracy  of  the  approxima4on  and  determine  the  
rate   at   which   the   error   decreases   as   the   spacing  
between  points  is  reduced.  In  par4cular,  the  first  
truncated   term   is   usually   the   principal   source   of  
•  Higher   order   of   approxima4ons   of   the   first  
deriva4ve   can   be   obtained   by   using   more   points  
to   eliminate   more   of   the   trunca4on   error   in   the  
Taylor  expansions.  
Second-­‐order  deriva4ves  
•  Let  consider  again  the  Taylor  expansions:  



Second-­‐order  deriva4ves  
•  An  alterna4ve  deriva4on  (the  second  
deriva0ve  is  the  deriva0ve  of  the  deriva0ve):  
•  Diffusion  equa4on  with  variable  coefficient  f:  

•  Diffusion  equa4on  with  variable  coefficient  f:  
Matlab  Code  

with  the  finite  difference  scheme  the  first  term  on  the  
right  hand  side  can  be  approximated  by:  

In  the  code:
expl_term_x(2:nx-1,:) = ( ( f(2:nx-1,:) + f(3:nx,:) ).* h_temp(3:nx,:) ...
- ( f(1:nx-2,:) + 2.0 * f(2:nx-1,:) + f(3:nx,:) ) .* h_temp(2:nx-1,:) ...
+ ( f(1:nx-2,:) + f(2:nx-1,:) ).* h_temp(1:nx-2,:) ) / ( 2.0 * delta_x^2);
Unsteady  problems  
•  When   considering   unsteady   problems,   we   have  
to   consider   also   a   discre'za'on   in   'me   of   the  
equa4on.  The  main  difference  between  the  space  
and   4me   coordinate   lies   in   the   direc4on   of  
influence:   whereas   the   solu4on   in   one   points   in  
space   loca4on   may   influence   the   solu4on  
anywhere   else,   the   solu4on   at   a   given   instant   will  
affect  only  the  solu4on  in  future.  
•  To   be   faithful   to   this   fact,   essen4ally   all   solu4on  
methods   advance   in   4me   in   a   step-­‐by-­‐step   or  
“marching”  manner.  
•  As  we  have  done  for  the  spa4al  discre4za4on,  
we   introduce   a   nota4on   for   the   solu4on  
corresponding  to  a  par4cular  4me  step:  

is  the  solu4on  in  the  point  xi  at  the  4me  step  tn.    


Finite  differences  in  4me  
•  To   approximate   the   4me   deriva4ve   we   use  
again   a   Taylor   series   expansion   of   h   in   the  
vicinity  of  the  solu4on  at  4me  tn:  
Diffusion  equa4on  
•  When   we   subs4tute   this   approxima4on   for  
the   4me   deriva4ve   in   the   1D   costant  
coefficient   diffusion   equa4on   we   obtain,   at  
the  point  x=xi:  

•  In   the   right   hand   side   we   have   not   specified  

the  4me  step  at  which  we  evaluate  the  terms.  
Excel  implementa4on  

Explicit  scheme  
•  When  the  right  hand  side  is  evaluated  using  the  
values  at  the  ini4al  4me  tn,  we  have  

 which  is  known  as  the  explicit  or  forward  Euler  



Implicit  scheme  
•  When  the  right  hand  side  is  evaluated  using  the  
values  at  the  final  4me  tn+1,  we  have  

 which  is  known  as  the  implicit  or  backward  Euler  



•  When  the  right  hand  side  is  evaluated  using  an  
average  between  the  values  at  the  ini4al  4me  tn  and  
the  values  at  the  final  4me  tn+1    we  have  

 which  is  known  as  the  Cranck-­‐Nicolson  (implicit)  



•  As  we  have  done  for  the  discre4za4on  schemes  in  
space,   it   is   possible   to   study   the   accuracy   of   the  
discre4za4on   in   4me   with   the   implicit,   explicit  
and  Cranck-­‐Nicolson  schemes.  
•  When   we   advance   in   4me   the   solu4on,   we   are  
integra4ng   the   equa4on.   We   integrate   the  
deriva4ve  with  respect  to  the  4me  to  obtain  the  
solu4on   at   the   new   4me   step.   This   analogy   with  
the   integral   help   us   to   give   a   geometric  
interpreta4on   of   the   3   schemes   and   their  
Explicit     Implicit     C-­‐N    


O(Δt)     O(Δt)       O(Δt2)    

•  All   methods   we   have   seen   produce   good  
solu4ons  if  Δt  is  small.  However,  the  behavior  
of   methods   for   large   4me   step   size   is   more  
important   because,   par4cularly   in   the  
diffusion  problem  we  are  studying,  the  goal  is  
oeen   to   compute   the   slow   long   term   behavior  
of   the   solu4on.   This   raises   the   issue   of  
•  A  method  is  called  stable,  if  the  errors  contained  
in  the  numerical  solu4on  are  not  amplified  during  
the   solu4on   process,   but   eventually   reduced.   A  
stable   method   produce   a   bounded   solu4on   when  
the   solu4on   of   the   underlying   differen4al  
equa4on  is  also  bounded.  
•  The  explicit  method  is  condi4onally  stable:  small  
steps  are  always  required!  
•  The  implicit  methods  are  incondi4onally  stables!    
•  Let  consider  the  following  erosion  model:  

•  We   discre4ze   the   equa4on   with   the   finite  

difference  method  

  and   then   we   apply   the   implict   and   explicit  

scheme  trying  to  understand  why  one  method  is  
stable  and  the  other  is  unstable.      

Explicit   Implicit  

Unstable  for  large  Δt Stable  for  any  Δt

Linear  vs  Non-­‐linear  
•  When   dealing   with   non-­‐linear   problem   the  
difficul4es   of   the   implementa4on   of   the  
implicit   scheme   become   more   evident.   While  
there  are  no  difficul4es  in  connec4on  with  an  
explicit   formula4on,   an   implicit   formula4on  
generally   necessitates   the   use   of   itera4ve  
schemes  like  Newton’s  method  to  converge  to  
•  Let  consider  the  following  erosion  model:  

Explicit   Implicit  
2D  vs  1D    
•  To  solve  the  2D  equa4on,  in  the  MATLAB  code  it  
is   applied   an   alterna0ng   direc0on   implicit   (ADI)  
scheme.   The   main   idea   of   the   ADI   method   is   to  
proceed   in   two   stages,   trea4ng   only   one  
deriva4ve  at  each  stage.  First  a  half-­‐step  is  taken  
implicitly   in   the   direc4on   x   and   explicitly   in   the  
direc4on   y   followed   by   a   half-­‐step   is   taken  
implicitly   in   the   direc4on   y   and   explicitly   in   the  
direc4on   x.   In   this   way   we   introduce   an   error   in  
the  solu4on,  but  generally  the  order  of  the  error  
is  smaller  than  the  other  errors  of  the  numerical  
El Mayor Cucupah original forms
n= 100

El Mayor Cucupah at a morphologic age of 10 m2 (probably

equivalent to 10 kyr at k = 1m2/kyr which is a typical k for fault
scarps and lake shorelines in the Basin and Range)
n= 1

El Mayor Cucupah at a morphologic age of 10 m2 (probably

equivalent to 10 kyr at k = 1m2/kyr which is a typical k for fault
scarps and lake shorelines in the Basin and Range)
Etna  2004-­‐2007  
variable  k  in  space  
Introduce exercise (Ramon)
•  Things to do  
o  Explore varying n--could use some help to find accurate
o  Explore varying boundary condition  
o  Explore other initial conditions--explore eroding the El Mayor
Cucupah scarp.  
o  Explore variable k (Mattia explain how to make k matrix)  
•  A few points on running the code:  
o  Change things inside the run_non_linear.m script only. Make sure all the
other functions and data are in the same directory.  
o  When you first run it, it pauses to show you the initial condition. You need
to go to the command line and type something.  
o  You will have to experiment with the delta_t so it runs ok and not too long,
but accurately enough.  
o  If you get a WARNING about angle too small, you need to increase the Sc
to be larger than the steepest angle in the model (35 or so for the cinder
cone and 75 for El Mayor); should be fixed now.  
o  When the script is done, it wants you to click somewhere so it can label
the plot with the enne value.  
o  Download the zipped bundle from: