Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added RKN methods #2272

Merged
merged 30 commits into from
Jul 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
8d9172f
Added OrdinaryDiffEqSymplecticRK
ParamThakkar123 Jul 1, 2024
6422d1b
Cache
ParamThakkar123 Jul 1, 2024
229e29c
muladd
ParamThakkar123 Jul 1, 2024
f7ff2da
Unpack
ParamThakkar123 Jul 1, 2024
10534f8
Changes
ParamThakkar123 Jul 1, 2024
0149a3a
OrdinaryDiffEqPartitionedAlgorithm
ParamThakkar123 Jul 1, 2024
9b849e5
Symplectic2ConstantCache
ParamThakkar123 Jul 1, 2024
a53466e
Update CI.yml
ChrisRackauckas Jul 1, 2024
217e5da
RKN Methods
ParamThakkar123 Jul 2, 2024
0a213b2
RKN fix
ParamThakkar123 Jul 2, 2024
ddc95b0
interpolants.jl
ParamThakkar123 Jul 2, 2024
1ebfc0e
interp_func.jl
ParamThakkar123 Jul 2, 2024
0e13020
OrdinaryDiffEqPartitionedAlgorithm
ParamThakkar123 Jul 2, 2024
3323dfb
Changes
ParamThakkar123 Jul 2, 2024
f91395d
@def
ParamThakkar123 Jul 2, 2024
5984917
dprkn6unpack
ParamThakkar123 Jul 2, 2024
8b1a6e9
Tight Loop Macros
ParamThakkar123 Jul 2, 2024
f97f472
Merge pull request #2268 from ParamThakkar123/master
ChrisRackauckas Jul 2, 2024
97456ec
RKN Methods
ParamThakkar123 Jul 2, 2024
fde1a1d
RKN fix
ParamThakkar123 Jul 2, 2024
773407e
interpolants.jl
ParamThakkar123 Jul 2, 2024
5feeb2d
interp_func.jl
ParamThakkar123 Jul 2, 2024
ba6ce4c
OrdinaryDiffEqPartitionedAlgorithm
ParamThakkar123 Jul 2, 2024
ffeb107
Changes
ParamThakkar123 Jul 2, 2024
f4ff787
@def
ParamThakkar123 Jul 2, 2024
a797132
dprkn6unpack
ParamThakkar123 Jul 2, 2024
2d0d491
Tight Loop Macros
ParamThakkar123 Jul 2, 2024
945045c
Merge branch 'RKN' of https://github.com/ParamThakkar123/OrdinaryDiff…
ParamThakkar123 Jul 2, 2024
cc3b6c5
Update lib/OrdinaryDiffEqRKN/src/OrdinaryDiffEqRKN.jl
ChrisRackauckas Jul 6, 2024
96ffdfb
Update lib/OrdinaryDiffEqRKN/src/OrdinaryDiffEqRKN.jl
ChrisRackauckas Jul 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ jobs:
- AlgConvergence_II
- AlgConvergence_III
- Downstream
- Symplectic
- Extrapolation
- StabilizedRK
- StabilizedIRK
Expand Down
23 changes: 23 additions & 0 deletions lib/OrdinaryDiffEqRKN/Project.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name = "OrdinaryDiffEqRKN"
uuid = "af6ede74-add8-4cfd-b1df-9a4dbb109d7a"
authors = ["ParamThakkar123 <[email protected]>"]
version = "1.0.0"

[deps]
FastBroadcast = "7034ab61-46d4-4ed7-9d0f-46aef9175898"
MuladdMacro = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221"
OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed"
Polyester = "f517fe37-dbe3-4b94-8317-1923a5111588"
RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd"

[compat]
julia = "1.10"

[extras]
DiffEqDevTools = "f3b72e0c-5b89-59e1-b016-84e28bfd966d"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["DiffEqDevTools", "Random", "SafeTestsets", "Test"]
30 changes: 30 additions & 0 deletions lib/OrdinaryDiffEqRKN/src/OrdinaryDiffEqRKN.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
module OrdinaryDiffEqRKN

import OrdinaryDiffEq: alg_order, calculate_residuals!,
initialize!, perform_step!, @unpack, unwrap_alg,
calculate_residuals, alg_extrapolates,
OrdinaryDiffEqAlgorithm,
OrdinaryDiffEqMutableCache, OrdinaryDiffEqConstantCache,
OrdinaryDiffEqAdaptivePartitionedAlgorithm,
OrdinaryDiffEqPartitionedAlgorithm,
OrdinaryDiffEqAdaptiveAlgorithm, CompiledFloats, uses_uprev,
alg_cache, _vec, _reshape, @cache, isfsal, full_cache,
constvalue, _unwrap_val, du_alias_or_new, _ode_interpolant,
trivial_limiter!, _ode_interpolant!, _ode_addsteps!
using DiffEqBase, FastBroadcast, Polyester, MuladdMacro, RecursiveArrayTools
using DiffEqBase: @def, @tight_loop_macros

include("algorithms.jl")
include("alg_utils.jl")
include("rkn_tableaus.jl")
include("rkn_caches.jl")
include("interp_func.jl")
include("interpolants.jl")
include("rkn_perform_step.jl")

export Nystrom4, FineRKN4, FineRKN5, Nystrom4VelocityIndependent,
Nystrom5VelocityIndependent,
IRKN3, IRKN4, DPRKN4, DPRKN5, DPRKN6, DPRKN6FM, DPRKN8, DPRKN12, ERKN4, ERKN5, ERKN7,
RKN4

end
20 changes: 20 additions & 0 deletions lib/OrdinaryDiffEqRKN/src/alg_utils.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
alg_extrapolates(alg::IRKN3) = true
alg_extrapolates(alg::IRKN4) = true

alg_order(alg::IRKN3) = 3
alg_order(alg::Nystrom4) = 4
alg_order(alg::FineRKN4) = 4
alg_order(alg::FineRKN5) = 5
alg_order(alg::Nystrom4VelocityIndependent) = 4
alg_order(alg::IRKN4) = 4
alg_order(alg::Nystrom5VelocityIndependent) = 5
alg_order(alg::DPRKN4) = 4
alg_order(alg::DPRKN5) = 5
alg_order(alg::DPRKN6) = 6
alg_order(alg::DPRKN6FM) = 6
alg_order(alg::DPRKN8) = 8
alg_order(alg::DPRKN12) = 12
alg_order(alg::ERKN4) = 4
alg_order(alg::ERKN5) = 5
alg_order(alg::ERKN7) = 7
alg_order(alg::RKN4) = 4
Loading
Loading