Skip to content

Commit eb7864d

Browse files
committed
Added ARK3 method
1 parent 31a65ac commit eb7864d

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

pySDC/implementations/sweeper_classes/Runge_Kutta.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -761,8 +761,26 @@ def get_update_order(cls):
761761

762762

763763
class ARK2(RungeKuttaIMEX):
764+
"""
765+
Second order two stage singly diagonally implicit globally stiffly accurate IMEX RK method with explicit first stage.
766+
Can be used to integrate simple DAEs because explicit and implicit part are both stiffly accurate.
767+
"""
768+
764769
generator_IMP = RK_SCHEMES["ARK222EDIRK"]()
765770
generator_EXP = RK_SCHEMES["ARK222ERK"]()
766771

767772
nodes, weights, matrix = generator_IMP.genCoeffs()
768773
_, weights_explicit, matrix_explicit = generator_EXP.genCoeffs()
774+
775+
776+
class ARK3(RungeKuttaIMEX):
777+
"""
778+
Third order four stage singly diagonally implicit globally stiffly accurate IMEX RK method with explicit first stage.
779+
Can be used to integrate simple DAEs because explicit and implicit part are both stiffly accurate.
780+
"""
781+
782+
generator_IMP = RK_SCHEMES["ARK443ESDIRK"]()
783+
generator_EXP = RK_SCHEMES["ARK443ERK"]()
784+
785+
nodes, weights, matrix = generator_IMP.genCoeffs()
786+
_, weights_explicit, matrix_explicit = generator_EXP.genCoeffs()

pySDC/tests/test_sweepers/test_Runge_Kutta_sweeper.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
'IMEXEuler',
2828
'ARK32',
2929
'ARK2',
30+
'ARK3',
3031
]
3132

3233

@@ -168,6 +169,7 @@ def test_order(sweeper_name, useGPU=False):
168169
'ARK548L2SA': 6,
169170
'IMEXEuler': 2,
170171
'ARK2': 3,
172+
'ARK3': 4,
171173
'ARK32': 4,
172174
'ARK324L2SAERK': 4,
173175
'ARK324L2SAESDIRK': 4,

0 commit comments

Comments
 (0)