view src/SbpOperators/operators/standard_diagonal.toml @ 2015:5c2448d6a201 feature/grids/geometry_functions tip

Structure tests a bit more
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 09 May 2025 15:57:38 +0200
parents 1388149b54ad
children
line wrap: on
line source

[meta]
authors = "Ken Mattson"
description = "Standard operators for equidistant grids"
type = "equidistant"
cite = """
    Ken Mattsson, Jan Nordström,
    Summation by parts operators for finite difference approximations of second derivatives,
    Journal of Computational Physics,
    Volume 199, Issue 2,
    2004,
    Pages 503-540,
    ISSN 0021-9991,
    https://doi.org/10.1016/j.jcp.2004.03.001.
"""

[[stencil_set]]

order = 2

H.inner = "1"
H.closure = ["1/2"]

e.closure = ["1"]
d1.closure = {s = ["3/2", "-2", "1/2"], c = 1}


D1.inner_stencil = ["-1/2", "0", "1/2"]
D1.closure_stencils = [
    {s = ["-1", "1"], c = 1},
]

D2.inner_stencil = ["1", "-2", "1"]
D2.closure_stencils = [
    {s = ["1", "-2", "1"], c = 1},
]

D2.positivity = {theta_M = "0.3636363636", theta_R = "1.000000538455350", m_b = "2"}

D2variable.inner_stencil = [["1/2", "1/2", "0"],[ "-1/2", "-1", "-1/2"],["0", "1/2", "1/2"]]
D2variable.closure_stencils = [
        {s = [["2", "-1", "0"],["-3", "1",   "0"],["1","0","0"]], c = 1},
]


[[stencil_set]]

order = 4

H.inner = "1"
H.closure = ["17/48", "59/48", "43/48", "49/48"]

e.closure = ["1"]
d1.closure = {s = ["11/6", "-3", "3/2", "-1/3"], c = 1}

D1.inner_stencil = ["1/12","-2/3","0","2/3","-1/12"]
D1.closure_stencils = [
    {s = [ "-24/17",  "59/34",  "-4/17", "-3/34",     "0",     "0"], c = 1},
    {s = [   "-1/2",      "0",    "1/2",     "0",     "0",     "0"], c = 2},
    {s = [   "4/43", "-59/86",      "0", "59/86", "-4/43",     "0"], c = 3},
    {s = [   "3/98",      "0", "-59/98",     "0", "32/49", "-4/49"], c = 4},
]

D2.inner_stencil = ["-1/12","4/3","-5/2","4/3","-1/12"]
D2.closure_stencils = [
    {s = [     "2",    "-5",      "4",       "-1",     "0",     "0"], c = 1},
    {s = [     "1",    "-2",      "1",        "0",     "0",     "0"], c = 2},
    {s = [ "-4/43", "59/43", "-110/43",   "59/43", "-4/43",     "0"], c = 3},
    {s = [ "-1/49",     "0",   "59/49", "-118/49", "64/49", "-4/49"], c = 4},
]

D2.positivity = {theta_M = "0.2505765857", theta_R = "0.577587500088313", m_b = "4"}

D2variable.inner_stencil = [
    ["-1/8",   "1/6", "-1/8",   "0",    "0"  ],
    [ "1/6",   "1/2",  "1/2",  "1/6",   "0"  ],
    ["-1/24", "-5/6", "-3/4", "-5/6", "-1/24"],
    [  "0",    "1/6",  "1/2",  "1/2",  "1/6" ],
    [  "0",     "0",  "-1/8",  "1/6", "-1/8" ],
]
D2variable.closure_stencils = [
    {c = 1, s = [
        [  "920/289",  "-59/68",              "-81031200387/366633756146",                  "-69462376031/733267512292",              "0",             "0",      "0",     "0"  ],
        ["-1740/289",     "0",                  "6025413881/7482321554",                      "1612249989/7482321554",                "0",             "0",      "0",     "0"  ],
        [ "1128/289",   "59/68",               "-6251815797/8526366422",                      "-639954015/17052732844",               "0",             "0",      "0",     "0"  ],
        [ "-308/289",     "0",                  "1244724001/7482321554",                      "-752806667/7482321554",                "0",             "0",      "0",     "0"  ],
        [     "0",        "0",                  "-148737261/10783345769",                      "148737261/10783345769",               "0",             "0",      "0",     "0"  ],
        [     "0",        "0",                          "-3/833",                                      "3/833",                       "0",             "0",      "0",     "0"  ],
        [     "0",        "0",                            "0",                                         "0",                           "0",             "0",      "0",     "0"  ],
        [     "0",        "0",                            "0",                                         "0",                           "0",             "0",      "0",     "0"  ],
    ]},
    {c = 2, s = [
        [   "12/17",      "0",                   "102125659/440136562",                         "27326271/440136562",                 "0",             "0",      "0",     "0"  ],
        [  "-59/68",      "0",            "-156920047993625/159775733917868",            "-12001237118451/79887866958934",            "0",             "0",      "0",     "0"  ],
        [    "2/17",      "0",               "1489556735319/1857857371138",                 "149729180391/1857857371138",             "0",             "0",      "0",     "0"  ],
        [    "3/68",      "0",             "-13235456910147/159775733917868",              "3093263736297/79887866958934",            "0",             "0",      "0",     "0"  ],
        [     "0",        "0",                 "67535018271/2349643145851",                 "-67535018271/2349643145851",             "0",             "0",      "0",     "0"  ],
        [     "0",        "0",                         "441/181507",                                "-441/181507",                    "0",             "0",      "0",     "0"  ],
        [     "0",        "0",                            "0",                                         "0",                           "0",             "0",      "0",     "0"  ],
        [     "0",        "0",                            "0",                                         "0",                           "0",             "0",      "0",     "0"  ],
    ]},
    {c = 3, s = [
        [  "-96/731",   "59/172",              "-6251815797/21566691538",                     "-639954015/43133383076",               "0",             "0",      "0",     "0"  ],
        [  "118/731",     "0",              "87883847383821/79887866958934",               "8834021643069/79887866958934",            "0",             "0",      "0",     "0"  ],
        [  "-16/731",  "-59/172",  "-1134866646907639536627/727679167377258785038",   "-13777050223300597/23487032885926596",   "-26254/557679",       "0",      "0",     "0"  ],
        [   "-6/731",     "0",        "14509020271326561681/14850595252597118062",        "17220493277981/79887866958934",     "1500708/7993399",      "0",      "0",     "0"  ],
        [     "0",        "0",        "-4841930283098652915/21402328452272317207",        "31597236232005/115132514146699",     "-26254/185893",       "0",      "0",     "0"  ],
        [     "0",        "0",                 "-2318724711/1653303156799",                       "960119/1147305747",           "13564/23980197",     "0",      "0",     "0"  ],
        [     "0",        "0",                            "0",                                         "0",                           "0",             "0",      "0",     "0"  ],
        [     "0",        "0",                            "0",                                         "0",                           "0",             "0",      "0",     "0"  ],
    ]},
    {c = 4, s = [
        [  "-36/833",     "0",                  "1244724001/21566691538",                    "-752806667/21566691538",                "0",             "0",      "0",     "0"  ],
        [  "177/3332",    "0",            "-780891957698673/7829010961975532",            "3724542049827/79887866958934",             "0",             "0",      "0",     "0"  ],
        [   "-6/833",     "0",        "14509020271326561681/16922771334354855466",        "2460070468283/13005001597966",      "1500708/9108757",      "0",      "0",     "0"  ],
        [   "-9/3332",    "0",      "-217407431400324796377/207908333536359652868",   "-1950062198436997/3914505480987766",   "-7476412/9108757",    "-2/49",    "0",     "0"  ],
        [     "0",        "0",         "4959271814984644613/21402328452272317207",       "47996144728947/115132514146699",     "4502124/9108757",     "8/49",    "0",     "0"  ],
        [     "0",        "0",                 "-2258420001/1653303156799",                    "-1063649/8893843",             "1473580/9108757",    "-6/49",    "0",     "0"  ],
        [     "0",        "0",                            "0",                                         "0",                           "0",             "0",      "0",     "0"  ],
        [     "0",        "0",                            "0",                                         "0",                           "0",             "0",      "0",     "0"  ],
    ]},
    {c = 5, s = [
        [     "0",        "0",                   "-49579087/10149031312",                       "49579087/10149031312",               "0",             "0",      "0",     "0"  ],
        [     "0",        "0",               "1328188692663/37594290333616",              "-1328188692663/37594290333616",            "0",             "0",      "0",     "0"  ],
        [     "0",        "0",        "-1613976761032884305/7963657098519931984",         "10532412077335/42840005263888",     "-564461/4461432",      "0",      "0",     "0"  ],
        [     "0",        "0",         "4959271814984644613/20965546238960637264",        "15998714909649/37594290333616",      "375177/743572",      "1/6",     "0",     "0"  ],
        [     "0",        "0",        "-8386761355510099813/128413970713633903242",    "-2224717261773437/2763180339520776",   "-280535/371786",     "-5/6",   "-1/24",   "0"  ],
        [     "0",        "0",                 "13091810925/13226425254392",                    "35039615/213452232",          "1118749/2230716",     "1/2",    "1/6",    "0"  ],
        [     "0",        "0",                            "0",                                          "0",                        "-1/8",           "1/6",   "-1/8",    "0"  ],
        [     "0",        "0",                            "0",                                         "0",                           "0",             "0",      "0",     "0"  ],
    ]},
    {c = 6, s = [
        [     "0",        "0",                          "-1/784",                                      "1/784",                       "0",             "0",      "0",     "0"  ],
        [     "0",        "0",                        "8673/2904112",                              "-8673/2904112",                   "0",             "0",      "0",     "0"  ],
        [     "0",        "0",                "-33235054191/26452850508784",                      "960119/1280713392",            "3391/6692148",      "0",      "0",     "0"  ],
        [     "0",        "0",                  "-752806667/539854092016",                      "-1063649/8712336",             "368395/2230716",    "-1/8",     "0",     "0"  ],
        [     "0",        "0",                 "13091810925/13226425254392",                    "35039615/213452232",          "1118749/2230716",     "1/2",    "1/6",    "0"  ],
        [     "0",        "0",                  "-660204843/13226425254392",                    "-3290636/80044587",          "-5580181/6692148",    "-3/4",   "-5/6",  "-1/24"],
        [     "0",        "0",                            "0",                                          "0",                         "1/6",           "1/2",    "1/2",   "1/6" ],
        [     "0",        "0",                            "0",                                          "0",                          "0",           "-1/8",    "1/6",  "-1/8" ],
    ]}
]


[[stencil_set]]

order = 6

H.inner = "1"
H.closure = ["13649/43200", "12013/8640", "2711/4320", "5359/4320", "7877/8640", "43801/43200"]





e.closure = ["1"]
d1.closure = ["-25/12", "4", "-3", "4/3", "-1/4"]

D2.positivity = {theta_M = "0.1878687080", theta_R = "0.3697", m_b = "7"}