ode-test-problems

A MATLAB suite of initial value problems

https://github.com/computationalsciencelaboratory/ode-test-problems

Science Score: 62.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
    3 of 9 committers (33.3%) from academic institutions
  • Institutional organization owner
    Organization computationalsciencelaboratory has institutional domain (csl.cs.vt.edu)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.0%) to scientific vocabulary

Keywords

data-assimilation differential-equations dynamical-systems matlab octave ode-model plotting time-integration
Last synced: 6 months ago · JSON representation ·

Repository

A MATLAB suite of initial value problems

Basic Info
Statistics
  • Stars: 9
  • Watchers: 4
  • Forks: 3
  • Open Issues: 22
  • Releases: 4
Topics
data-assimilation differential-equations dynamical-systems matlab octave ode-model plotting time-integration
Created over 6 years ago · Last pushed about 1 year ago
Metadata Files
Readme Contributing License Citation Zenodo

README.md

ODE Test Problems

ODE Test Problems

Version License Tests Documentation

ODE Test Problems (OTP) is an object-oriented MATLAB/Octave package offering a broad range of initial value problems in the form of ordinary and differential-algebraic equations that can be used to test numerical methods such as time integration or data assimilation. It includes problems that are linear and nonlinear, homogeneous and nonhomogeneous, autonomous and nonautonomous, scalar and high-dimensional, stiff and nonstiff, and chaotic and nonchaotic. Many are real-world problems in fields such as chemistry, astrophysics, meteorology, and electrical engineering. OTP also supports partitioned ODEs for testing split, multirate, and other multimethods. Functions for plotting solutions and creating movies are available for all problems, and exact solutions are included when available. OTP is designed for ease of use meaning that working with and modifying problems is simple and intuitive.

OTP is actively under development. We are currently writing full documentation in order to release version 1.0.0

Installation

MATLAB

  1. Download the latest OTP toolbox file.
  2. Open the toolbox file from MATLAB and follow the installer. See MATLAB's instructions for additional details.

Octave

In Octave, run

matlab pkg install 'https://github.com/ComputationalScienceLaboratory/ODE-Test-Problems/releases/latest/download/OTP.zip'

then load the package with

matlab pkg load 'ode test problems'

From Source

For local development, OTP can be installed by running

matlab OTP.install

from the root directory of the project. If no longer needed, it can be uninstalled with OTP.uninstall.

Example

```matlab % Create a problem problem = otp.lotkavolterra.presets.Canonical;

% Solve the problem sol = problem.solve('RelTol', 1e-10);

% Plot the solution problem.plot(sol);

% Adjust a parameter problem.Parameters.PreyDeathRate = 2;

% Manually use a MATLAB ODE solver to solve the problem options = odeset('Jacobian', problem.RHS.Jacobian); [t, y] = ode15s(problem.RHS.F, problem.TimeSpan, problem.Y0, options);

% Plot the phase space with a custom title problem.plotPhaseSpace(t, y, 'Title', 'The Circle of Life');

% Create a movie mov = problem.movie(t, y); ```

Owner

  • Name: Computational Science Laboratory
  • Login: ComputationalScienceLaboratory
  • Kind: organization
  • Location: Blacksburg, VA

Research group of Dr. Adrian Sandu at Virginia Tech

Citation (CITATION.cff)

cff-version: 1.2.0
title: ODE Test Problems
message: Please cite this software using the metadata from "preferred-citation".
type: software
authors:
  - given-names: Steven
    family-names: Roberts
    orcid: 'https://orcid.org/0000-0002-7225-2501'
  - given-names: Andrey A.
    family-names: Popov
    orcid: 'https://orcid.org/0000-0002-7726-6224'
  - given-names: Arash
    family-names: Sarshar
    orcid: 'https://orcid.org/0000-0002-6633-8915'
  - given-names: Adrian
    family-names: Sandu
    orcid: 'https://orcid.org/0000-0002-5380-0103'
doi: 10.5281/zenodo.6653545
repository-code: 'https://github.com/ComputationalScienceLaboratory/ODE-Test-Problems'
url: 'https://computationalsciencelaboratory.github.io/ODE-Test-Problems'
license: MIT
preferred-citation:
  type: 'article'
  authors:
    - given-names: Steven
      family-names: Roberts
      orcid: 'https://orcid.org/0000-0002-7225-2501'
    - given-names: Andrey A.
      family-names: Popov
      orcid: 'https://orcid.org/0000-0002-7726-6224'
    - given-names: Adrian
      family-names: Sandu
      orcid: 'https://orcid.org/0000-0002-5380-0103'
  title: 'ODE Test Problems: a MATLAB suite of initial value problems'
  identifiers:
    - type: other
      value: "arXiv:1901.04098"
      description: The ArXiv preprint of the paper

GitHub Events

Total
  • Issues event: 1
  • Issue comment event: 1
  • Push event: 1
  • Pull request event: 3
  • Create event: 1
Last Year
  • Issues event: 1
  • Issue comment event: 1
  • Push event: 1
  • Pull request event: 3
  • Create event: 1

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 391
  • Total Committers: 9
  • Avg Commits per committer: 43.444
  • Development Distribution Score (DDS): 0.688
Past Year
  • Commits: 227
  • Committers: 5
  • Avg Commits per committer: 45.4
  • Development Distribution Score (DDS): 0.608
Top Committers
Name Email Commits
Steven Roberts s****4@g****m 122
Andrey A Popov a****v@v****u 113
Arash Sarshar e****t 91
arash s****r@v****u 28
Steven Roberts s****4@v****u 22
Andrey A Popov 5****v 10
Arash Sarshar a****h@A****l 3
Reid 4****g 1
rtuggle99 7****9 1
Committer Domains (Top 20 + Academic)
vt.edu: 3

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 45
  • Total pull requests: 66
  • Average time to close issues: 3 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 5
  • Total pull request authors: 5
  • Average comments per issue: 0.91
  • Average comments per pull request: 1.17
  • Merged pull requests: 47
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 1
  • Pull requests: 3
  • Average time to close issues: about 2 hours
  • Average time to close pull requests: 4 months
  • Issue authors: 1
  • Pull request authors: 3
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • Steven-Roberts (16)
  • AndreyAPopov (14)
  • elswit (9)
  • alexander-novo (1)
  • Abhat-93 (1)
  • reid-g (1)
Pull Request Authors
  • elswit (23)
  • Steven-Roberts (22)
  • AndreyAPopov (19)
  • amitns122 (2)
  • dependabot[bot] (2)
Top Labels
Issue Labels
low priority (17) enhancement (16) bug (8) help wanted (8) high priority (8) medium priority (7) documentation (6) octave (6)
Pull Request Labels
dependencies (2) python (1)

Dependencies

.github/workflows/draft-pdf.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • openjournals/openjournals-draft-action master composite
.github/workflows/tests.yml actions
  • actions/checkout v3 composite
DESCRIPTION cran
docs/requirements.txt pypi
  • myst-parser ==2.0.0
  • pyyaml ==6.0.1
  • sphinx ==6.2.1
  • sphinx-autobuild ==2021.3.14
  • sphinx-math-dollar ==1.2.1
  • sphinx_rtd_theme ==1.3.0
  • sphinxcontrib-bibtex ==2.5.0
  • sphinxcontrib-matlabdomain ==0.20.2
  • sphinxcontrib-napoleon ==0.7
.github/workflows/documentation.yml actions
  • actions/checkout v4 composite
  • actions/deploy-pages v4 composite
  • actions/setup-python v5 composite
  • actions/upload-pages-artifact v3 composite
.binder/environment.yml pypi
notebooks/environment.yml pypi