-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSBP_I12.m
98 lines (66 loc) · 23.9 KB
/
SBP_I12.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
function [S,MM,BD,QQ,H,x,h] = SBP_I12(m,L)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% 12:e ordn. Pade . SBP Finita differens %%%
%%% operatorer framtagna av Ken Mattsson %%%
%%% %%%
%%% Datum: 2018 06 18 %%%
%%% %%%
%%% 9 randpunkter, bandad norm %%%
%%% %%%
%%% %%%
%%% H (Normen) %%%
%%% D1 (approx första derivatan) %%%
%%% D2 (approx andra derivatan) %%%
%%% HI*S Artificiell Dissipation %%%
%%% %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% We optimised D1 for
% first 2 leading errors.
% For D2 we optimised
% for first 2 leading errors.
% D1 har noggrannhet 7-12-7
% D2 har noggrannhet 5-12-5
h=L/(m-1);
x=linspace(0,L,m);
H_U=[0.255693395441434457337043934885796133163e39 / 0.1569803509371292002225735235907788800000e40 0.462595992248322307387833872063543838107e39 / 0.1569803509371292002225735235907788800000e40 -0.699369941346911367681192229680043741831e39 / 0.1569803509371292002225735235907788800000e40 0.958114158751340347722689299772897058791e39 / 0.1569803509371292002225735235907788800000e40 -0.39098434054317235173214633209248420941e38 / 0.62792140374851680089029409436311552000e38 0.716671151266698476313704829318499417937e39 / 0.1569803509371292002225735235907788800000e40 -0.369120250114093333747607885566339025917e39 / 0.1569803509371292002225735235907788800000e40 0.131195433684149959079163409065606798701e39 / 0.1569803509371292002225735235907788800000e40 -0.13427734663842648490123365160935964913e38 / 0.784901754685646001112867617953894400000e39; 0.462595992248322307387833872063543838107e39 / 0.1569803509371292002225735235907788800000e40 0.188804433855931192608515896776912160799e39 / 0.98112719335705750139108452244236800000e38 -0.25512613929489519773709941137420090081e38 / 0.15698035093712920022257352359077888000e38 0.461299800804071322059004371421377813e36 / 0.219001605660057477989081366616600000e36 -0.43579069902382262188489404137018775433e38 / 0.22425764419589885746081931941539840000e38 0.117382978966671820138755109838491239623e39 / 0.98112719335705750139108452244236800000e38 -0.163929652760140430191592024074957457461e39 / 0.392450877342823000556433808976947200000e39 0.8221610976613185048793961784514283e34 / 0.1401610276224367859130120746346240000e37 0.66815509348888597942256009630696780051e38 / 0.1569803509371292002225735235907788800000e40; -0.699369941346911367681192229680043741831e39 / 0.1569803509371292002225735235907788800000e40 -0.25512613929489519773709941137420090081e38 / 0.15698035093712920022257352359077888000e38 0.69686638504559446459842052242379758383e38 / 0.17838676242855590934383354953497600000e38 -0.1544763665969302926616643080423305424777e40 / 0.392450877342823000556433808976947200000e39 0.618647990957159884330753183955700382661e39 / 0.156980350937129200222573523590778880000e39 -0.1087005199537402645127472193477586477251e40 / 0.392450877342823000556433808976947200000e39 0.1489081998302589055625772818661912253e37 / 0.1226408991696321876738855653052960000e37 -0.52774835058803716441406692744223339611e38 / 0.392450877342823000556433808976947200000e39 -0.152513689082913669681009203434144198867e39 / 0.1569803509371292002225735235907788800000e40; 0.958114158751340347722689299772897058791e39 / 0.1569803509371292002225735235907788800000e40 0.461299800804071322059004371421377813e36 / 0.219001605660057477989081366616600000e36 -0.1544763665969302926616643080423305424777e40 / 0.392450877342823000556433808976947200000e39 0.626374029032426467711533737622753889193e39 / 0.98112719335705750139108452244236800000e38 -0.34428680412572814796632022874660018923e38 / 0.6279214037485168008902940943631155200e37 0.199114301471396725916561638825197599017e39 / 0.49056359667852875069554226122118400000e38 -0.784581318867219601009003903657827857101e39 / 0.392450877342823000556433808976947200000e39 0.2880538280873855087483007220520636743e37 / 0.8919338121427795467191677476748800000e37 0.222740485494931076742072482239346091887e39 / 0.1569803509371292002225735235907788800000e40; -0.39098434054317235173214633209248420941e38 / 0.62792140374851680089029409436311552000e38 -0.43579069902382262188489404137018775433e38 / 0.22425764419589885746081931941539840000e38 0.618647990957159884330753183955700382661e39 / 0.156980350937129200222573523590778880000e39 -0.34428680412572814796632022874660018923e38 / 0.6279214037485168008902940943631155200e37 0.51297421035704909527240929271864559851e38 / 0.7849017546856460011128676179538944000e37 -0.25778338564605622538189920056092409973e38 / 0.6279214037485168008902940943631155200e37 0.334370550327424940439225589591322661611e39 / 0.156980350937129200222573523590778880000e39 -0.1312098887987895000670916456864200369e37 / 0.3203680631369983678011704563077120000e37 -0.801514498137355156998692124412754081e36 / 0.5708376397713789099002673585119232000e37; 0.716671151266698476313704829318499417937e39 / 0.1569803509371292002225735235907788800000e40 0.117382978966671820138755109838491239623e39 / 0.98112719335705750139108452244236800000e38 -0.1087005199537402645127472193477586477251e40 / 0.392450877342823000556433808976947200000e39 0.199114301471396725916561638825197599017e39 / 0.49056359667852875069554226122118400000e38 -0.25778338564605622538189920056092409973e38 / 0.6279214037485168008902940943631155200e37 0.390271099215431935289348337566097394643e39 / 0.98112719335705750139108452244236800000e38 -0.604292265395661444466691411467242364327e39 / 0.392450877342823000556433808976947200000e39 0.1094405464900594192535930885911685333e37 / 0.3504025690560919647825301865865600000e37 0.161088089647031858935531583739364182041e39 / 0.1569803509371292002225735235907788800000e40; -0.369120250114093333747607885566339025917e39 / 0.1569803509371292002225735235907788800000e40 -0.163929652760140430191592024074957457461e39 / 0.392450877342823000556433808976947200000e39 0.1489081998302589055625772818661912253e37 / 0.1226408991696321876738855653052960000e37 -0.784581318867219601009003903657827857101e39 / 0.392450877342823000556433808976947200000e39 0.334370550327424940439225589591322661611e39 / 0.156980350937129200222573523590778880000e39 -0.604292265395661444466691411467242364327e39 / 0.392450877342823000556433808976947200000e39 0.345093054259355319607612701462012774763e39 / 0.196225438671411500278216904488473600000e39 -0.2031055361614576071923777235644466511e37 / 0.15698035093712920022257352359077888000e38 -0.118073427313230359705535419771497660681e39 / 0.1569803509371292002225735235907788800000e40; 0.131195433684149959079163409065606798701e39 / 0.1569803509371292002225735235907788800000e40 0.8221610976613185048793961784514283e34 / 0.1401610276224367859130120746346240000e37 -0.52774835058803716441406692744223339611e38 / 0.392450877342823000556433808976947200000e39 0.2880538280873855087483007220520636743e37 / 0.8919338121427795467191677476748800000e37 -0.1312098887987895000670916456864200369e37 / 0.3203680631369983678011704563077120000e37 0.1094405464900594192535930885911685333e37 / 0.3504025690560919647825301865865600000e37 -0.2031055361614576071923777235644466511e37 / 0.15698035093712920022257352359077888000e38 0.94498996451614698353263994535899553149e38 / 0.98112719335705750139108452244236800000e38 0.130908222452389458650594345431256907557e39 / 0.1569803509371292002225735235907788800000e40; -0.13427734663842648490123365160935964913e38 / 0.784901754685646001112867617953894400000e39 0.66815509348888597942256009630696780051e38 / 0.1569803509371292002225735235907788800000e40 -0.152513689082913669681009203434144198867e39 / 0.1569803509371292002225735235907788800000e40 0.222740485494931076742072482239346091887e39 / 0.1569803509371292002225735235907788800000e40 -0.801514498137355156998692124412754081e36 / 0.5708376397713789099002673585119232000e37 0.161088089647031858935531583739364182041e39 / 0.1569803509371292002225735235907788800000e40 -0.118073427313230359705535419771497660681e39 / 0.1569803509371292002225735235907788800000e40 0.130908222452389458650594345431256907557e39 / 0.1569803509371292002225735235907788800000e40 0.1423334367520107957921055329063019833713e40 / 0.1569803509371292002225735235907788800000e40;];
h5=1/2772;h4=-5/1386;h3=5/308;h2=-10/231;h1=5/66;h0=10/11;
H=h5*(diag(ones(m-5,1),5)+diag(ones(m-5,1),-5))+h4*(diag(ones(m-4,1),4)+diag(ones(m-4,1),-4))+h3*(diag(ones(m-3,1),3)+diag(ones(m-3,1),-3))+h2*(diag(ones(m-2,1),2)+diag(ones(m-2,1),-2))+h1*(diag(ones(m-1,1),1)+diag(ones(m-1,1),-1))+h0*diag(ones(m,1),0);
H(1:9,1:9)=H_U;
H(m-8:m,m-8:m)=rot90(H_U,2);
H=H*h;
% First derivative SBP operator, 4th order accurate at first 5 boundary points
q5=1/1260;q4=-5/504;q3=5/84;q2=-5/21;q1=5/6;
Q=q5*(diag(ones(m-5,1),5) - diag(ones(m-5,1),-5))+q4*(diag(ones(m-4,1),4) - diag(ones(m-4,1),-4))+q3*(diag(ones(m-3,1),3) - diag(ones(m-3,1),-3))+q2*(diag(ones(m-2,1),2) - diag(ones(m-2,1),-2))+q1*(diag(ones(m-1,1),1)-diag(ones(m-1,1),-1));
Q_U = [0 0.24516898470270350195463230676794311e35 / 0.22461703144621279793751935037600000e35 -0.427289342983093716888158886165963901e36 / 0.279523416910842592988912969356800000e36 0.5193467697839983687954043700982032397e37 / 0.2515710752197583336900216724211200000e37 -0.522981457946143397912513905851508567e36 / 0.251571075219758333690021672421120000e36 0.376310782819294467528495379724706967e36 / 0.251571075219758333690021672421120000e36 -0.1870012103434545224463359687701017997e37 / 0.2515710752197583336900216724211200000e37 0.66037810033920885918474068480779901e35 / 0.279523416910842592988912969356800000e36 -0.835020528266796735402757736979511e33 / 0.22461703144621279793751935037600000e35; -0.24516898470270350195463230676794311e35 / 0.22461703144621279793751935037600000e35 0 0.595193225572049195077020933688784951e36 / 0.228700977472507576081837884019200000e36 -0.181757358136392055825791563293949153e36 / 0.52410640670782986185421181754400000e35 0.1927202878184709337255265536801316789e37 / 0.503142150439516667380043344842240000e36 -0.496636199874045082033518327670076023e36 / 0.157231922012348958556263545263200000e36 0.953259535692223207047824906476794851e36 / 0.503142150439516667380043344842240000e36 -0.8558294664523165632739597030926899e34 / 0.11230851572310639896875967518800000e35 0.14223906347326090682857680170080417e35 / 0.93174472303614197662970989785600000e35; 0.427289342983093716888158886165963901e36 / 0.279523416910842592988912969356800000e36 -0.595193225572049195077020933688784951e36 / 0.228700977472507576081837884019200000e36 0 0.884794899136044176257831978529665621e36 / 0.359387250313940476700030960601600000e36 -0.36838214358251970565270366264445873e35 / 0.11979575010464682556667698686720000e35 0.1167164234662961268954742481454807583e37 / 0.359387250313940476700030960601600000e36 -0.14602047921612338864105302416341173e35 / 0.5615425786155319948437983759400000e34 0.696064224876251275360580592360118301e36 / 0.503142150439516667380043344842240000e36 -0.864771182414355169611171488554465747e36 / 0.2515710752197583336900216724211200000e37; -0.5193467697839983687954043700982032397e37 / 0.2515710752197583336900216724211200000e37 0.181757358136392055825791563293949153e36 / 0.52410640670782986185421181754400000e35 -0.884794899136044176257831978529665621e36 / 0.359387250313940476700030960601600000e36 0 0.167598252134208800292334483902003893e36 / 0.71877450062788095340006192120320000e35 -0.3427133045193412882916148716500193e34 / 0.1247872396923404432986218613200000e34 0.990916193097600967918184863492273633e36 / 0.359387250313940476700030960601600000e36 -0.282571039088851124141224644894046273e36 / 0.157231922012348958556263545263200000e36 0.11732395176331798315276560566665547e35 / 0.22870097747250757608183788401920000e35; 0.522981457946143397912513905851508567e36 / 0.251571075219758333690021672421120000e36 -0.1927202878184709337255265536801316789e37 / 0.503142150439516667380043344842240000e36 0.36838214358251970565270366264445873e35 / 0.11979575010464682556667698686720000e35 -0.167598252134208800292334483902003893e36 / 0.71877450062788095340006192120320000e35 0 0.150001974329162084103691990703346443e36 / 0.71877450062788095340006192120320000e35 -0.26512710957916084238522919945703823e35 / 0.11979575010464682556667698686720000e35 0.831844635981787771145508303590972939e36 / 0.503142150439516667380043344842240000e36 -0.130750595517580465768360730722730617e36 / 0.251571075219758333690021672421120000e36; -0.376310782819294467528495379724706967e36 / 0.251571075219758333690021672421120000e36 0.496636199874045082033518327670076023e36 / 0.157231922012348958556263545263200000e36 -0.1167164234662961268954742481454807583e37 / 0.359387250313940476700030960601600000e36 0.3427133045193412882916148716500193e34 / 0.1247872396923404432986218613200000e34 -0.150001974329162084103691990703346443e36 / 0.71877450062788095340006192120320000e35 0 0.620023664714172107839417767635027371e36 / 0.359387250313940476700030960601600000e36 -0.62218528150242213263131351278320603e35 / 0.52410640670782986185421181754400000e35 0.997331705575516940423448697259320147e36 / 0.2515710752197583336900216724211200000e37; 0.1870012103434545224463359687701017997e37 / 0.2515710752197583336900216724211200000e37 -0.953259535692223207047824906476794851e36 / 0.503142150439516667380043344842240000e36 0.14602047921612338864105302416341173e35 / 0.5615425786155319948437983759400000e34 -0.990916193097600967918184863492273633e36 / 0.359387250313940476700030960601600000e36 0.26512710957916084238522919945703823e35 / 0.11979575010464682556667698686720000e35 -0.620023664714172107839417767635027371e36 / 0.359387250313940476700030960601600000e36 0 0.2881532764489055338439684971686498211e37 / 0.2515710752197583336900216724211200000e37 -0.104982087816910709884565576814689251e36 / 0.279523416910842592988912969356800000e36; -0.66037810033920885918474068480779901e35 / 0.279523416910842592988912969356800000e36 0.8558294664523165632739597030926899e34 / 0.11230851572310639896875967518800000e35 -0.696064224876251275360580592360118301e36 / 0.503142150439516667380043344842240000e36 0.282571039088851124141224644894046273e36 / 0.157231922012348958556263545263200000e36 -0.831844635981787771145508303590972939e36 / 0.503142150439516667380043344842240000e36 0.62218528150242213263131351278320603e35 / 0.52410640670782986185421181754400000e35 -0.2881532764489055338439684971686498211e37 / 0.2515710752197583336900216724211200000e37 0 0.1755623614118442741115919055529301e34 / 0.2041973013147389072159266821600000e34; 0.835020528266796735402757736979511e33 / 0.22461703144621279793751935037600000e35 -0.14223906347326090682857680170080417e35 / 0.93174472303614197662970989785600000e35 0.864771182414355169611171488554465747e36 / 0.2515710752197583336900216724211200000e37 -0.11732395176331798315276560566665547e35 / 0.22870097747250757608183788401920000e35 0.130750595517580465768360730722730617e36 / 0.251571075219758333690021672421120000e36 -0.997331705575516940423448697259320147e36 / 0.2515710752197583336900216724211200000e37 0.104982087816910709884565576814689251e36 / 0.279523416910842592988912969356800000e36 -0.1755623614118442741115919055529301e34 / 0.2041973013147389072159266821600000e34 0;];
Q(1:9,1:9)=Q_U;
Q(m-8:m,m-8:m)=rot90(-Q_U,2);
e_l=zeros(m,1);e_l(1)=1;
e_r=zeros(m,1);e_r(m)=1;
QQ=Q-1/2*e_l*e_l'+1/2*e_r*e_r';
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Second derivative, 2nd order accurate at first 6 boundary points
m6=-5/16632;m5=19/5775;m4=-5/336;m3=5/189;m2=5/56;m1=-10/7;m0=4769/1800;
M=m6*(diag(ones(m-6,1),6)+diag(ones(m-6,1),-6))+m5*(diag(ones(m-5,1),5)+diag(ones(m-5,1),-5))+m4*(diag(ones(m-4,1),4)+diag(ones(m-4,1),-4))+m3*(diag(ones(m-3,1),3)+diag(ones(m-3,1),-3))+m2*(diag(ones(m-2,1),2)+diag(ones(m-2,1),-2))+m1*(diag(ones(m-1,1),1)+diag(ones(m-1,1),-1))+m0*diag(ones(m,1),0);
%
% Below with 9 boundary points There was five free parameter left,
% optimised for leading order arror
M_U=[0.91916640070957902751978433361399816402857e41 / 0.58882725865936635583486472646887347200000e41 -0.16608145579981713383674270450310611405091e41 / 0.5352975078721512325771497513353395200000e40 0.232567330663187114587309467906003794197721e42 / 0.58882725865936635583486472646887347200000e41 -0.309929327744032487064649175867779398224497e42 / 0.58882725865936635583486472646887347200000e41 0.61404840754866953035607438640437628520783e41 / 0.11776545173187327116697294529377469440000e41 -0.215302306683786025283260852267354224564067e42 / 0.58882725865936635583486472646887347200000e41 0.7849764551023718891271734393376948929807e40 / 0.4529440451225895044883574818991334400000e40 -0.2281869513437891086574185223231572984087e40 / 0.4529440451225895044883574818991334400000e40 0.251901613157613474370860587941794234107e39 / 0.3680170366621039723967904540430459200000e40; -0.16608145579981713383674270450310611405091e41 / 0.5352975078721512325771497513353395200000e40 0.38244167381595555433474726577163908520863e41 / 0.3680170366621039723967904540430459200000e40 -0.16151860043173455137659835051803736353297e41 / 0.920042591655259930991976135107614800000e39 0.5189366223826176491924953824857134660031e40 / 0.230010647913814982747994033776903700000e39 -0.10294175673238757690766567336400416422329e41 / 0.452944045122589504488357481899133440000e39 0.60435793136141661531339454746322202485691e41 / 0.3680170366621039723967904540430459200000e40 -0.1272498706374167226751572366016668149653e40 / 0.156602994324299562722038491082147200000e39 0.656552951444274252781722292007873718637e39 / 0.262869311901502837426278895745032800000e39 -0.21313987446188732904029492125790750808181e41 / 0.58882725865936635583486472646887347200000e41; 0.232567330663187114587309467906003794197721e42 / 0.58882725865936635583486472646887347200000e41 -0.16151860043173455137659835051803736353297e41 / 0.920042591655259930991976135107614800000e39 0.5425694703369665975907431373371995495369e40 / 0.150211035372287335672159368997161600000e39 -0.51130297291598251113665452416742979706791e41 / 0.1051477247606011349705115582980131200000e40 0.75894820083816787790258216955975021409e38 / 0.1560634133738050240749707729840640000e37 -0.18879762013971198082114029522437115390823e41 / 0.525738623803005674852557791490065600000e39 0.4845940995496727973280779622663302527197e40 / 0.262869311901502837426278895745032800000e39 -0.43835477872446783535008375991611818303141e41 / 0.7360340733242079447935809080860918400000e40 0.53790860499180998167973365605554108152541e41 / 0.58882725865936635583486472646887347200000e41; -0.309929327744032487064649175867779398224497e42 / 0.58882725865936635583486472646887347200000e41 0.5189366223826176491924953824857134660031e40 / 0.230010647913814982747994033776903700000e39 -0.51130297291598251113665452416742979706791e41 / 0.1051477247606011349705115582980131200000e40 0.36554508157624703016642702751987864311071e41 / 0.525738623803005674852557791490065600000e39 -0.59194697777117025548516494678847525152207e41 / 0.841181798084809079764092466384104960000e39 0.13548102646584046791565033893407771935093e41 / 0.262869311901502837426278895745032800000e39 -0.14143397396916025827880313291374209014473e41 / 0.525738623803005674852557791490065600000e39 0.32977461557702669911956492681768932236241e41 / 0.3680170366621039723967904540430459200000e40 -0.84064014148050804783821483281595424968317e41 / 0.58882725865936635583486472646887347200000e41; 0.61404840754866953035607438640437628520783e41 / 0.11776545173187327116697294529377469440000e41 -0.10294175673238757690766567336400416422329e41 / 0.452944045122589504488357481899133440000e39 0.75894820083816787790258216955975021409e38 / 0.1560634133738050240749707729840640000e37 -0.59194697777117025548516494678847525152207e41 / 0.841181798084809079764092466384104960000e39 0.769650262884843371085518578021756646953e39 / 0.10514772476060113497051155829801312000e38 -0.45130979978898621611687272487166609986257e41 / 0.841181798084809079764092466384104960000e39 0.253200461826090473353744752445502562911e39 / 0.9243756022909989887517499630594560000e37 -0.53969456940426319062169526443029946381627e41 / 0.5888272586593663558348647264688734720000e40 0.17418929048473206170362629111431167850833e41 / 0.11776545173187327116697294529377469440000e41; -0.215302306683786025283260852267354224564067e42 / 0.58882725865936635583486472646887347200000e41 0.60435793136141661531339454746322202485691e41 / 0.3680170366621039723967904540430459200000e40 -0.18879762013971198082114029522437115390823e41 / 0.525738623803005674852557791490065600000e39 0.13548102646584046791565033893407771935093e41 / 0.262869311901502837426278895745032800000e39 -0.45130979978898621611687272487166609986257e41 / 0.841181798084809079764092466384104960000e39 0.21374199841071110136631713846607509021821e41 / 0.525738623803005674852557791490065600000e39 -0.22023737868553401957170447818470071137241e41 / 0.1051477247606011349705115582980131200000e40 0.6062417776402176833349077193974964716549e40 / 0.920042591655259930991976135107614800000e39 -0.60619025532640408361712930872193268587247e41 / 0.58882725865936635583486472646887347200000e41; 0.7849764551023718891271734393376948929807e40 / 0.4529440451225895044883574818991334400000e40 -0.1272498706374167226751572366016668149653e40 / 0.156602994324299562722038491082147200000e39 0.4845940995496727973280779622663302527197e40 / 0.262869311901502837426278895745032800000e39 -0.14143397396916025827880313291374209014473e41 / 0.525738623803005674852557791490065600000e39 0.253200461826090473353744752445502562911e39 / 0.9243756022909989887517499630594560000e37 -0.22023737868553401957170447818470071137241e41 / 0.1051477247606011349705115582980131200000e40 0.1859615480461828144505087248381718484319e40 / 0.150211035372287335672159368997161600000e39 -0.4202871254753840148155911348261412133547e40 / 0.920042591655259930991976135107614800000e39 0.34581632555884342519841406636481902235271e41 / 0.58882725865936635583486472646887347200000e41; -0.2281869513437891086574185223231572984087e40 / 0.4529440451225895044883574818991334400000e40 0.656552951444274252781722292007873718637e39 / 0.262869311901502837426278895745032800000e39 -0.43835477872446783535008375991611818303141e41 / 0.7360340733242079447935809080860918400000e40 0.32977461557702669911956492681768932236241e41 / 0.3680170366621039723967904540430459200000e40 -0.53969456940426319062169526443029946381627e41 / 0.5888272586593663558348647264688734720000e40 0.6062417776402176833349077193974964716549e40 / 0.920042591655259930991976135107614800000e39 -0.4202871254753840148155911348261412133547e40 / 0.920042591655259930991976135107614800000e39 0.283161675389973668900925615131604109579e39 / 0.78301497162149781361019245541073600000e38 -0.92728031615839258835660089381182499547551e41 / 0.58882725865936635583486472646887347200000e41; 0.251901613157613474370860587941794234107e39 / 0.3680170366621039723967904540430459200000e40 -0.21313987446188732904029492125790750808181e41 / 0.58882725865936635583486472646887347200000e41 0.53790860499180998167973365605554108152541e41 / 0.58882725865936635583486472646887347200000e41 -0.84064014148050804783821483281595424968317e41 / 0.58882725865936635583486472646887347200000e41 0.17418929048473206170362629111431167850833e41 / 0.11776545173187327116697294529377469440000e41 -0.60619025532640408361712930872193268587247e41 / 0.58882725865936635583486472646887347200000e41 0.34581632555884342519841406636481902235271e41 / 0.58882725865936635583486472646887347200000e41 -0.92728031615839258835660089381182499547551e41 / 0.58882725865936635583486472646887347200000e41 0.157230750094391521949453138469225208411607e42 / 0.58882725865936635583486472646887347200000e41;];
M(1:9,1:9)=M_U;
M(m-8:m,m-8:m)=rot90(M_U,2);
M=M/h;
d1_U=[-0.363e3 / 0.140e3 7 -0.21e2 / 0.2e1 0.35e2 / 0.3e1 -0.35e2 / 0.4e1 0.21e2 / 0.5e1 -0.7e1 / 0.6e1 0.1e1 / 0.7e1;]/h;
d1_l=zeros(1,m);
d1_l(1:8)=d1_U;
d1_r=zeros(1,m);
d1_r(m-7:m)=fliplr(-d1_U);
BD=-e_l*d1_l+e_r*d1_r;
MM=-M+BD;
% Artificial dissipation = -HI*S (in RHS)
% and will lead to order 6-13-6
d7=0*[-1 7 -21 35 -35 21 -7 1];
DD_7=(-diag(ones(m-4,1),-4)+7*diag(ones(m-3,1),-3)-21*diag(ones(m-2,1),-2)+35*diag(ones(m-1,1),-1)-35*diag(ones(m,1),0)+21*diag(ones(m-1,1),1)-7*diag(ones(m-2,1),2)+diag(ones(m-3,1),3));
DD_7(1:4,1:8)=[d7;d7;d7;d7];
DD_7(m-2:m,m-7:m)=[d7;d7;d7];
DD=DD_7'*DD_7;
aa=max(max(DD));
S=-1/aa*DD;