Skip to content

Commit ff9b548

Browse files
Consolidate AlJahdali alg_cache into the generic 3S dispatch
Route the 16 AlJahdali methods through LowStorageRK3SAlgorithm and _lowstorage_3s_tableau like the ParsaniKetcheson family, deleting the 32 hand-written per-method alg_cache definitions. Drop the positional compatibility constructors: the methods are new so there is nothing to be compatible with, and the positional form silently discarded a passed stage limiter (the 3S kernel does not apply stage limiters). Also document the 16 exports in the LowStorageRK docs page, match the ConstantCache constructor signatures to the sibling families, and bump OrdinaryDiffEqLowStorageRK to 3.3.0 for the new exports. Verified behavior-preserving: end states for all 16 methods are bit-identical to the pre-consolidation dispatch on in-place and out-of-place problems, and the full LowStorageRK test file passes.
1 parent 1feb5f5 commit ff9b548

4 files changed

Lines changed: 53 additions & 705 deletions

File tree

docs/src/explicit/LowStorageRK.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,22 @@ ParsaniKetchesonDeconinck3S94
9999
ParsaniKetchesonDeconinck3S184
100100
ParsaniKetchesonDeconinck3S105
101101
ParsaniKetchesonDeconinck3S205
102+
AlJahdaliAdv3S42
103+
AlJahdaliAdv3S82
104+
AlJahdaliAdv3S53
105+
AlJahdaliAdv3S113
106+
AlJahdaliAdv3S64
107+
AlJahdaliAdv3S154
108+
AlJahdaliAdv3S85
109+
AlJahdaliAdv3S165
110+
AlJahdaliVor3S42
111+
AlJahdaliVor3S82
112+
AlJahdaliVor3S53
113+
AlJahdaliVor3S113
114+
AlJahdaliVor3S64
115+
AlJahdaliVor3S154
116+
AlJahdaliVor3S85
117+
AlJahdaliVor3S165
102118
CKLLSRK43_2
103119
CKLLSRK54_3C
104120
CKLLSRK95_4S

lib/OrdinaryDiffEqLowStorageRK/Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "OrdinaryDiffEqLowStorageRK"
22
uuid = "b0944070-b475-4768-8dec-fb6eb410534d"
33
authors = ["ParamThakkar123 <paramthakkar864@gmail.com>"]
4-
version = "3.2.2"
4+
version = "3.3.0"
55

66
[deps]
77
CommonSolve = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2"

lib/OrdinaryDiffEqLowStorageRK/src/algorithms.jl

Lines changed: 0 additions & 128 deletions
Original file line numberDiff line numberDiff line change
@@ -350,14 +350,6 @@ Base.@kwdef struct AlJahdaliAdv3S42{StageLimiter, StepLimiter, Thread} <:
350350
step_limiter!::StepLimiter = trivial_limiter!
351351
thread::Thread = Serial()
352352
end
353-
# for backwards compatibility
354-
function AlJahdaliAdv3S42(stage_limiter!, step_limiter! = trivial_limiter!)
355-
return AlJahdaliAdv3S42{typeof(stage_limiter!), typeof(step_limiter!), Serial}(
356-
stage_limiter!,
357-
step_limiter!,
358-
Serial()
359-
)
360-
end
361353

362354
@doc explicit_rk_docstring(
363355
"Low-Storage Method
@@ -375,14 +367,6 @@ Base.@kwdef struct AlJahdaliAdv3S82{StageLimiter, StepLimiter, Thread} <:
375367
step_limiter!::StepLimiter = trivial_limiter!
376368
thread::Thread = Serial()
377369
end
378-
# for backwards compatibility
379-
function AlJahdaliAdv3S82(stage_limiter!, step_limiter! = trivial_limiter!)
380-
return AlJahdaliAdv3S82{typeof(stage_limiter!), typeof(step_limiter!), Serial}(
381-
stage_limiter!,
382-
step_limiter!,
383-
Serial()
384-
)
385-
end
386370

387371
@doc explicit_rk_docstring(
388372
"Low-Storage Method
@@ -400,14 +384,6 @@ Base.@kwdef struct AlJahdaliAdv3S53{StageLimiter, StepLimiter, Thread} <:
400384
step_limiter!::StepLimiter = trivial_limiter!
401385
thread::Thread = Serial()
402386
end
403-
# for backwards compatibility
404-
function AlJahdaliAdv3S53(stage_limiter!, step_limiter! = trivial_limiter!)
405-
return AlJahdaliAdv3S53{typeof(stage_limiter!), typeof(step_limiter!), Serial}(
406-
stage_limiter!,
407-
step_limiter!,
408-
Serial()
409-
)
410-
end
411387

412388
@doc explicit_rk_docstring(
413389
"Low-Storage Method
@@ -425,14 +401,6 @@ Base.@kwdef struct AlJahdaliAdv3S113{StageLimiter, StepLimiter, Thread} <:
425401
step_limiter!::StepLimiter = trivial_limiter!
426402
thread::Thread = Serial()
427403
end
428-
# for backwards compatibility
429-
function AlJahdaliAdv3S113(stage_limiter!, step_limiter! = trivial_limiter!)
430-
return AlJahdaliAdv3S113{typeof(stage_limiter!), typeof(step_limiter!), Serial}(
431-
stage_limiter!,
432-
step_limiter!,
433-
Serial()
434-
)
435-
end
436404

437405
@doc explicit_rk_docstring(
438406
"Low-Storage Method
@@ -450,14 +418,6 @@ Base.@kwdef struct AlJahdaliAdv3S64{StageLimiter, StepLimiter, Thread} <:
450418
step_limiter!::StepLimiter = trivial_limiter!
451419
thread::Thread = Serial()
452420
end
453-
# for backwards compatibility
454-
function AlJahdaliAdv3S64(stage_limiter!, step_limiter! = trivial_limiter!)
455-
return AlJahdaliAdv3S64{typeof(stage_limiter!), typeof(step_limiter!), Serial}(
456-
stage_limiter!,
457-
step_limiter!,
458-
Serial()
459-
)
460-
end
461421

462422
@doc explicit_rk_docstring(
463423
"Low-Storage Method
@@ -475,14 +435,6 @@ Base.@kwdef struct AlJahdaliAdv3S154{StageLimiter, StepLimiter, Thread} <:
475435
step_limiter!::StepLimiter = trivial_limiter!
476436
thread::Thread = Serial()
477437
end
478-
# for backwards compatibility
479-
function AlJahdaliAdv3S154(stage_limiter!, step_limiter! = trivial_limiter!)
480-
return AlJahdaliAdv3S154{typeof(stage_limiter!), typeof(step_limiter!), Serial}(
481-
stage_limiter!,
482-
step_limiter!,
483-
Serial()
484-
)
485-
end
486438

487439
@doc explicit_rk_docstring(
488440
"Low-Storage Method
@@ -500,14 +452,6 @@ Base.@kwdef struct AlJahdaliAdv3S85{StageLimiter, StepLimiter, Thread} <:
500452
step_limiter!::StepLimiter = trivial_limiter!
501453
thread::Thread = Serial()
502454
end
503-
# for backwards compatibility
504-
function AlJahdaliAdv3S85(stage_limiter!, step_limiter! = trivial_limiter!)
505-
return AlJahdaliAdv3S85{typeof(stage_limiter!), typeof(step_limiter!), Serial}(
506-
stage_limiter!,
507-
step_limiter!,
508-
Serial()
509-
)
510-
end
511455

512456
@doc explicit_rk_docstring(
513457
"Low-Storage Method
@@ -525,14 +469,6 @@ Base.@kwdef struct AlJahdaliAdv3S165{StageLimiter, StepLimiter, Thread} <:
525469
step_limiter!::StepLimiter = trivial_limiter!
526470
thread::Thread = Serial()
527471
end
528-
# for backwards compatibility
529-
function AlJahdaliAdv3S165(stage_limiter!, step_limiter! = trivial_limiter!)
530-
return AlJahdaliAdv3S165{typeof(stage_limiter!), typeof(step_limiter!), Serial}(
531-
stage_limiter!,
532-
step_limiter!,
533-
Serial()
534-
)
535-
end
536472

537473
# Vortex-optimized schemes
538474

@@ -552,14 +488,6 @@ Base.@kwdef struct AlJahdaliVor3S42{StageLimiter, StepLimiter, Thread} <:
552488
step_limiter!::StepLimiter = trivial_limiter!
553489
thread::Thread = Serial()
554490
end
555-
# for backwards compatibility
556-
function AlJahdaliVor3S42(stage_limiter!, step_limiter! = trivial_limiter!)
557-
return AlJahdaliVor3S42{typeof(stage_limiter!), typeof(step_limiter!), Serial}(
558-
stage_limiter!,
559-
step_limiter!,
560-
Serial()
561-
)
562-
end
563491

564492
@doc explicit_rk_docstring(
565493
"Low-Storage Method
@@ -577,14 +505,6 @@ Base.@kwdef struct AlJahdaliVor3S82{StageLimiter, StepLimiter, Thread} <:
577505
step_limiter!::StepLimiter = trivial_limiter!
578506
thread::Thread = Serial()
579507
end
580-
# for backwards compatibility
581-
function AlJahdaliVor3S82(stage_limiter!, step_limiter! = trivial_limiter!)
582-
return AlJahdaliVor3S82{typeof(stage_limiter!), typeof(step_limiter!), Serial}(
583-
stage_limiter!,
584-
step_limiter!,
585-
Serial()
586-
)
587-
end
588508

589509
@doc explicit_rk_docstring(
590510
"Low-Storage Method
@@ -602,14 +522,6 @@ Base.@kwdef struct AlJahdaliVor3S53{StageLimiter, StepLimiter, Thread} <:
602522
step_limiter!::StepLimiter = trivial_limiter!
603523
thread::Thread = Serial()
604524
end
605-
# for backwards compatibility
606-
function AlJahdaliVor3S53(stage_limiter!, step_limiter! = trivial_limiter!)
607-
return AlJahdaliVor3S53{typeof(stage_limiter!), typeof(step_limiter!), Serial}(
608-
stage_limiter!,
609-
step_limiter!,
610-
Serial()
611-
)
612-
end
613525

614526
@doc explicit_rk_docstring(
615527
"Low-Storage Method
@@ -627,14 +539,6 @@ Base.@kwdef struct AlJahdaliVor3S113{StageLimiter, StepLimiter, Thread} <:
627539
step_limiter!::StepLimiter = trivial_limiter!
628540
thread::Thread = Serial()
629541
end
630-
# for backwards compatibility
631-
function AlJahdaliVor3S113(stage_limiter!, step_limiter! = trivial_limiter!)
632-
return AlJahdaliVor3S113{typeof(stage_limiter!), typeof(step_limiter!), Serial}(
633-
stage_limiter!,
634-
step_limiter!,
635-
Serial()
636-
)
637-
end
638542

639543
@doc explicit_rk_docstring(
640544
"Low-Storage Method
@@ -652,14 +556,6 @@ Base.@kwdef struct AlJahdaliVor3S64{StageLimiter, StepLimiter, Thread} <:
652556
step_limiter!::StepLimiter = trivial_limiter!
653557
thread::Thread = Serial()
654558
end
655-
# for backwards compatibility
656-
function AlJahdaliVor3S64(stage_limiter!, step_limiter! = trivial_limiter!)
657-
return AlJahdaliVor3S64{typeof(stage_limiter!), typeof(step_limiter!), Serial}(
658-
stage_limiter!,
659-
step_limiter!,
660-
Serial()
661-
)
662-
end
663559

664560
@doc explicit_rk_docstring(
665561
"Low-Storage Method
@@ -677,14 +573,6 @@ Base.@kwdef struct AlJahdaliVor3S154{StageLimiter, StepLimiter, Thread} <:
677573
step_limiter!::StepLimiter = trivial_limiter!
678574
thread::Thread = Serial()
679575
end
680-
# for backwards compatibility
681-
function AlJahdaliVor3S154(stage_limiter!, step_limiter! = trivial_limiter!)
682-
return AlJahdaliVor3S154{typeof(stage_limiter!), typeof(step_limiter!), Serial}(
683-
stage_limiter!,
684-
step_limiter!,
685-
Serial()
686-
)
687-
end
688576

689577
@doc explicit_rk_docstring(
690578
"Low-Storage Method
@@ -702,14 +590,6 @@ Base.@kwdef struct AlJahdaliVor3S85{StageLimiter, StepLimiter, Thread} <:
702590
step_limiter!::StepLimiter = trivial_limiter!
703591
thread::Thread = Serial()
704592
end
705-
# for backwards compatibility
706-
function AlJahdaliVor3S85(stage_limiter!, step_limiter! = trivial_limiter!)
707-
return AlJahdaliVor3S85{typeof(stage_limiter!), typeof(step_limiter!), Serial}(
708-
stage_limiter!,
709-
step_limiter!,
710-
Serial()
711-
)
712-
end
713593

714594
@doc explicit_rk_docstring(
715595
"Low-Storage Method
@@ -727,14 +607,6 @@ Base.@kwdef struct AlJahdaliVor3S165{StageLimiter, StepLimiter, Thread} <:
727607
step_limiter!::StepLimiter = trivial_limiter!
728608
thread::Thread = Serial()
729609
end
730-
# for backwards compatibility
731-
function AlJahdaliVor3S165(stage_limiter!, step_limiter! = trivial_limiter!)
732-
return AlJahdaliVor3S165{typeof(stage_limiter!), typeof(step_limiter!), Serial}(
733-
stage_limiter!,
734-
step_limiter!,
735-
Serial()
736-
)
737-
end
738610

739611
@doc explicit_rk_docstring(
740612
"Low-Storage Method

0 commit comments

Comments
 (0)