Mercurial > repos > public > sbplib
comparison +sbp/+implementations/d2_variable_periodic_2.m @ 943:21394c78c72e feature/utux2D
Merge with default
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Tue, 04 Dec 2018 15:24:36 -0800 |
parents | bbf303c1f0cf |
children |
comparison
equal
deleted
inserted
replaced
942:35701c85e356 | 943:21394c78c72e |
---|---|
25 D1 = stripeMatrixPeriodic(stencil, diags, m); | 25 D1 = stripeMatrixPeriodic(stencil, diags, m); |
26 D1 = D1/h; | 26 D1 = D1/h; |
27 | 27 |
28 scheme_width = 3; | 28 scheme_width = 3; |
29 scheme_radius = (scheme_width-1)/2; | 29 scheme_radius = (scheme_width-1)/2; |
30 | 30 |
31 r = 1:m; | 31 r = 1:m; |
32 offset = scheme_width; | 32 offset = scheme_width; |
33 r = r + offset; | 33 r = r + offset; |
34 | 34 |
35 function D2 = D2_fun(c) | 35 function D2 = D2_fun(c) |
39 M0 = c(r-1)/2 + c(r) + c(r+1)/2; | 39 M0 = c(r-1)/2 + c(r) + c(r+1)/2; |
40 Mp1 = -c(r)/2 - c(r+1)/2; | 40 Mp1 = -c(r)/2 - c(r+1)/2; |
41 | 41 |
42 vals = [Mm1,M0,Mp1]; | 42 vals = [Mm1,M0,Mp1]; |
43 diags = -scheme_radius : scheme_radius; | 43 diags = -scheme_radius : scheme_radius; |
44 M = spdiagsVariablePeriodic(vals,diags); | 44 M = spdiagsPeriodic(vals,diags); |
45 | 45 |
46 M=M/h; | 46 M=M/h; |
47 D2=HI*(-M ); | 47 D2=HI*(-M ); |
48 end | 48 end |
49 D2 = @D2_fun; | 49 D2 = @D2_fun; |