DormandPrince
A simplified Julia-native implementation of the Dormand-Prince 5th and 8th order solvers
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.3%) to scientific vocabulary
Keywords from Contributors
Repository
A simplified Julia-native implementation of the Dormand-Prince 5th and 8th order solvers
Basic Info
Statistics
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 3
- Releases: 5
Metadata Files
README.md
DormandPrince.jl
Julia-native implementation of the Dormand-Prince 5th and 8th order solvers
Installation
DormandPrince is a
Julia Language
package. To install DormandPrince,
please open
Julia's interactive session (known as REPL) and press ]
key in the REPL to use the package mode, then type the following command
julia
pkg> add DormandPrince
Usage
Single End-Time
```julia julia> using DormandPrince
define your ODE, in this case, dy/dx = 0.85y
julia> function fcn(x, y, f) f[1] = 0.85y[1] end
Create a solver object. We will use the 5th order solver and
start integrating at t = 0.0 with initial value of 19.0
julia> solver = DP5Solver(fcn, 0.0, [19.0])
Begin integration up to t = 2.1
julia> integrate!(solver, 2.1)
getcurrentstate will return the answer
julia> getcurrentstate(solver) ```
Both the DP5Solver and DP8Solver's are stateful allowing for memory-efficient integration to future end times from the last integrated end point (e.g. if you chose t = 1.0 as your endpoint you can call integrate! again with t=2.0 and it will "carry forward" the work starting from t = 1.0 instead of requiring you to set things up all over again).
Multiple End-Times
```julia julia> using DormandPrince
Define ODE
julia> function fcn(x, y, f) f[1] = 0.85y[1] end
Define times of interest to analyze/perform actions on the solution
julia> times = [1.0, 1.1, 1.9, 2.4]
Create the solver object, with integration starting from t = 0.0 and initial value of 19.0
julia> solver = DP5Solver(fcn, 0.0, [19.0])
Empty array to store intermediate values
julia> intermediate_values = []
Use callback to store intermediate values. The solver object will also be mutated to store the solution
found at the last time point.
julia> integrate!(solver, times) do time, val push!(intermediate_values, val[]) end
```
You may also create a SolverIterator that can then be iterated over. Note that this will require a fresh solver
julia
for (time, value) in SolverIterator(solver, times)
println("Time: ", time, " ", "Value: ", value[])
end
License
Apache License 2.0
Owner
- Name: QuEra Computing Inc.
- Login: QuEraComputing
- Kind: organization
- Email: info@quera.com
- Location: United States of America
- Website: https://www.quera.com/
- Twitter: QueraComputing
- Repositories: 8
- Profile: https://github.com/QuEraComputing
Building scalable quantum machines to make impossible problems simple.
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: DormandPrince.jl
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Phillip
family-names: Weinberg
orcid: 'https://orcid.org/0000-0002-0654-9761'
affiliation: QuEra Computing Inc.
email: pweinberg@quera.com
- given-names: John
family-names: Long
email: jlong@quera.com
affiliation: QuEra Computing Inc.
orcid: 'https://orcid.org/0009-0005-7557-197X'
repository-code: 'https://github.com/QuEraComputing/DormandPrince.jl'
abstract: >-
Julia-native implementation of the Dormand-Prince 5th and
8th order solvers
keywords:
- julia
- ordinary differential equation
license: Apache-2.0
GitHub Events
Total
- Issue comment event: 1
- Pull request event: 1
- Create event: 1
Last Year
- Issue comment event: 1
- Pull request event: 1
- Create event: 1
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Phillip Weinberg | w****8@g****m | 63 |
| John Long | j****l@p****h | 48 |
| dependabot[bot] | 4****] | 5 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 6
- Total pull requests: 22
- Average time to close issues: 10 days
- Average time to close pull requests: 2 days
- Total issue authors: 3
- Total pull request authors: 3
- Average comments per issue: 1.67
- Average comments per pull request: 0.86
- Merged pull requests: 21
- Bot issues: 0
- Bot pull requests: 6
Past Year
- Issues: 0
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 1.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 1
Top Authors
Issue Authors
- weinbe58 (4)
- Roger-luo (1)
Pull Request Authors
- dependabot[bot] (12)
- weinbe58 (11)
- johnzl-777 (10)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 1 total
- Total dependent packages: 1
- Total dependent repositories: 0
- Total versions: 7
juliahub.com: DormandPrince
A simplified Julia-native implementation of the Dormand-Prince 5th and 8th order solvers
- Documentation: https://docs.juliahub.com/General/DormandPrince/stable/
- License: Apache-2.0
-
Latest release: 0.5.2
published about 2 years ago
Rankings
Dependencies
- actions/checkout v2 composite
- codecov/codecov-action v2 composite
- julia-actions/cache v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite