{
  "_id": "6a102c94acfb0bcc41c93523",
  "Package": "rODE",
  "Type": "Package",
  "Title": "Ordinary Differential Equation (ODE) Solvers Written in R Using\nS4 Classes",
  "Version": "0.99.6",
  "Authors@R": "person(\"Alfonso R.\", \"Reyes\", role = c(\"aut\", \"cre\"), email = \"alfonso.reyes@oilgainsanalytics.com\")",
  "Description": "Show physics, math and engineering students how an ODE\nsolver is made and how effective R classes can be for the\nconstruction of the equations that describe natural phenomena.\nInspiration for this work comes from the book on \"Computer\nSimulations in Physics\" by Harvey Gould, Jan Tobochnik, and\nWolfgang Christian. Book link:\n<http://www.compadre.org/osp/items/detail.cfm?ID=7375>.",
  "License": "GPL-2",
  "Encoding": "UTF-8",
  "RoxygenNote": "6.0.1",
  "Collate": "'ode_generics.R' 'ODESolver.R' 'ODE.R' 'AbstractODESolver.R'\n'ODEAdaptiveSolver.R' 'DormandPrince45.R' 'Euler.R'\n'EulerRichardson.R' 'ODESolverFactory.R' 'RK4.R' 'RK45.R'\n'Verlet.R' 'rODE-package.r' 'utils.R'",
  "VignetteBuilder": "knitr",
  "URL": "https://github.com/f0nzie/rODE",
  "Repository": "https://f0nzie.r-universe.dev",
  "Date/Publication": "2017-11-10 17:39:40 UTC",
  "RemoteUrl": "https://github.com/f0nzie/rode",
  "RemoteRef": "HEAD",
  "RemoteSha": "1d686fd06b7bbf5fa13d1c6a70024753ef9b0297",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-13 06:13:15 UTC",
    "User": "root"
  },
  "Author": "Alfonso R. Reyes [aut, cre]",
  "Maintainer": "Alfonso R. Reyes <alfonso.reyes@oilgainsanalytics.com>",
  "MD5sum": "f92e8222bcc4dafdb12b0a0f2807b2fc",
  "_user": "f0nzie",
  "_type": "src",
  "_file": "rODE_0.99.6.tar.gz",
  "_fileid": "aafad86ebf2957b83d322631e4611a5aae051f143a09d19617d07e4ec783d631",
  "_filesize": 1903132,
  "_sha256": "aafad86ebf2957b83d322631e4611a5aae051f143a09d19617d07e4ec783d631",
  "_created": "2026-05-13T06:13:15.000Z",
  "_published": "2026-05-22T10:14:44.768Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77359669378,
      "time": 137,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "6962913875"
    },
    {
      "job": 77359670274,
      "time": 142,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "6962915150"
    },
    {
      "job": 77359669685,
      "time": 195,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "6962918970"
    },
    {
      "job": 77359670007,
      "time": 167,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "6962914442"
    },
    {
      "job": 77359669319,
      "time": 200,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6962880088"
    },
    {
      "job": 77359669092,
      "time": 139,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7158105528"
    },
    {
      "job": 77359670074,
      "time": 95,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "6962903601"
    },
    {
      "job": 77359670281,
      "time": 90,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "6962902480"
    },
    {
      "job": 77359669955,
      "time": 101,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "6962905005"
    }
  ],
  "_buildurl": "https://github.com/r-universe/f0nzie/actions/runs/25781747996",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/f0nzie/rode",
  "_commit": {
    "id": "1d686fd06b7bbf5fa13d1c6a70024753ef9b0297",
    "author": "f0nzie zbook <f0nzie@oilgainsanalytics.com>",
    "committer": "f0nzie zbook <f0nzie@oilgainsanalytics.com>",
    "message": "Merge branch 'release/0.99.6'\n",
    "time": 1510335580
  },
  "_maintainer": {
    "name": "Alfonso R. Reyes",
    "email": "alfonso.reyes@oilgainsanalytics.com",
    "login": "f0nzie",
    "uuid": 29108853
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.3.0",
      "role": "Depends"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "data.table",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "dplyr",
      "role": "Suggests"
    },
    {
      "package": "tidyr",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "scales",
      "role": "Suggests"
    }
  ],
  "_owner": "f0nzie",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "alfonsorreyes",
      "count": 9,
      "uuid": 19330646
    }
  ],
  "_userbio": {
    "uuid": 29108853,
    "type": "user",
    "name": "Alfonso R. Reyes"
  },
  "_downloads": {
    "count": 196,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/rODE"
  },
  "_devurl": "https://github.com/f0nzie/rode",
  "_searchresults": 80,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/readme.html",
    "extra/readme.md",
    "extra/rODE.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/f0nzie/rode",
  "_realowner": "f0nzie",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.99.4",
      "date": "2017-05-28"
    },
    {
      "version": "0.99.5",
      "date": "2017-07-13"
    },
    {
      "version": "0.99.6",
      "date": "2017-11-10"
    }
  ],
  "_exports": [
    "AbstractODESolver",
    "createODESolver",
    "DormandPrince45",
    "doStep",
    "enableRuntimeExceptions",
    "Euler",
    "EulerRichardson",
    "getEnergy",
    "getErrorCode",
    "getExactSolution",
    "getODE",
    "getRate",
    "getRateCounter",
    "getRateCounts",
    "getState",
    "getStepSize",
    "getTime",
    "getTolerance",
    "importFromExamples",
    "init",
    "init<-",
    "ODE",
    "ODEAdaptiveSolver",
    "ODESolver",
    "ODESolverFactory",
    "RK4",
    "RK45",
    "run_test_applications",
    "setSolver<-",
    "setState",
    "setStepSize",
    "setTolerance",
    "setTolerance<-",
    "showMethods2",
    "step",
    "Verlet"
  ],
  "_help": [
    {
      "page": "rODE-package",
      "title": "Ordinary Differential Equations",
      "topics": [
        "rODE-package"
      ]
    },
    {
      "page": "AbstractODESolver-class",
      "title": "AbstractODESolver class",
      "topics": [
        ".AbstractODESolver",
        "AbstractODESolver",
        "AbstractODESolver,missing-method",
        "AbstractODESolver,ODE-method",
        "AbstractODESolver-class",
        "getODE,AbstractODESolver-method",
        "getStepSize,AbstractODESolver-method",
        "init,AbstractODESolver-method",
        "init<-,AbstractODESolver-method",
        "setStepSize,AbstractODESolver-method",
        "step,AbstractODESolver-method"
      ]
    },
    {
      "page": "DormandPrince45-class",
      "title": "DormandPrince45 ODE solver class",
      "topics": [
        ".DormandPrince45",
        "DormandPrince45",
        "DormandPrince45,ODE-method",
        "DormandPrince45-class",
        "enableRuntimeExceptions,DormandPrince45-method",
        "enableRuntimeExceptions,enableRuntimeExceptions-method",
        "getErrorCode,DormandPrince45-method",
        "getErrorCode,getErrorCode-method",
        "getStepSize,DormandPrince45-method",
        "getTolerance,DormandPrince45-method",
        "getTolerance,getTolerance-method",
        "init,DormandPrince45-method",
        "init<-,DormandPrince45-method",
        "setStepSize,DormandPrince45-method",
        "setTolerance,DormandPrince45-method",
        "setTolerance,setTolerance-method",
        "setTolerance<-,DormandPrince45-method",
        "step,DormandPrince45-method"
      ]
    },
    {
      "page": "doStep-method",
      "title": "doStep",
      "topics": [
        "doStep"
      ]
    },
    {
      "page": "enableRuntimeExceptions-method",
      "title": "enableRuntimeExceptions",
      "topics": [
        "enableRuntimeExceptions"
      ]
    },
    {
      "page": "Euler-class",
      "title": "Euler ODE solver class",
      "topics": [
        ".Euler",
        "Euler",
        "Euler,missing-method",
        "Euler,ODE-method",
        "Euler-class",
        "getStepSize,Euler-method",
        "getStepSize,getStepSize-method",
        "init,Euler-method",
        "init,init-method",
        "setStepSize,Euler-method",
        "setStepSize,setStepSize-method",
        "step,Euler-method",
        "step,step-method"
      ]
    },
    {
      "page": "EulerRichardson-class",
      "title": "EulerRichardson ODE solver class",
      "topics": [
        ".EulerRichardson",
        "EulerRichardson",
        "EulerRichardson,ODE-method",
        "EulerRichardson-class",
        "init,EulerRichardson-method",
        "step,EulerRichardson-method"
      ]
    },
    {
      "page": "getEnergy-method",
      "title": "getEnergy",
      "topics": [
        "getEnergy"
      ]
    },
    {
      "page": "getErrorCode-method",
      "title": "getErrorCode",
      "topics": [
        "getErrorCode"
      ]
    },
    {
      "page": "getExactSolution-method",
      "title": "getExactSolution",
      "topics": [
        "getExactSolution"
      ]
    },
    {
      "page": "getODE-method",
      "title": "getODE",
      "topics": [
        "getODE"
      ]
    },
    {
      "page": "getRate-method",
      "title": "getRate",
      "topics": [
        "getRate"
      ]
    },
    {
      "page": "getRateCounter-method",
      "title": "getRateCounter",
      "topics": [
        "getRateCounter"
      ]
    },
    {
      "page": "getRateCounts-method",
      "title": "getRateCounts",
      "topics": [
        "getRateCounts"
      ]
    },
    {
      "page": "getState-method",
      "title": "getState",
      "topics": [
        "getState"
      ]
    },
    {
      "page": "getStepSize-method",
      "title": "getStepSize",
      "topics": [
        "getStepSize"
      ]
    },
    {
      "page": "getTime-method",
      "title": "getTime",
      "topics": [
        "getTime"
      ]
    },
    {
      "page": "getTolerance-method",
      "title": "getTolerance",
      "topics": [
        "getTolerance"
      ]
    },
    {
      "page": "importFromExamples",
      "title": "importFromExamples",
      "topics": [
        "importFromExamples"
      ]
    },
    {
      "page": "init-method",
      "title": "init",
      "topics": [
        "init",
        "init<-"
      ]
    },
    {
      "page": "ODE-class",
      "title": "ODE class",
      "topics": [
        "getRate,getRate-method",
        "getRate,ODE-method",
        "getState,getState-method",
        "getState,ODE-method",
        "ODE",
        "ODE-class"
      ]
    },
    {
      "page": "ODEAdaptiveSolver-class",
      "title": "ODEAdaptiveSolver class",
      "topics": [
        ".ODEAdaptiveSolver",
        "getErrorCode,ODEAdaptiveSolver-method",
        "getTolerance,ODEAdaptiveSolver-method",
        "ODEAdaptiveSolver",
        "ODEAdaptiveSolver,ANY-method",
        "ODEAdaptiveSolver-class",
        "setTolerance,ODEAdaptiveSolver-method",
        "setTolerance<-,ODEAdaptiveSolver-method"
      ]
    },
    {
      "page": "ODESolver-class",
      "title": "ODESolver virtual class",
      "topics": [
        ".ODESolver",
        "getODE,ODESolver-method",
        "getStepSize,ODESolver-method",
        "init,ODESolver-method",
        "ODESolver",
        "ODESolver-class",
        "setStepSize,ODESolver-method",
        "step,ODESolver-method"
      ]
    },
    {
      "page": "ODESolverFactory-class",
      "title": "ODESolverFactory",
      "topics": [
        ".ODESolverFactory",
        "createODESolver",
        "createODESolver,ODESolverFactory-method",
        "ODESolverFactory",
        "ODESolverFactory,ANY-method",
        "ODESolverFactory-class"
      ]
    },
    {
      "page": "RK4-class",
      "title": "RK4 class",
      "topics": [
        ".RK4",
        "init,RK4-method",
        "init<-,RK4-method",
        "RK4",
        "RK4,ODE-method",
        "RK4-class",
        "step,RK4-method"
      ]
    },
    {
      "page": "RK45-class",
      "title": "RK45 ODE solver class",
      "topics": [
        "RK45",
        "RK45-class"
      ]
    },
    {
      "page": "run_test_applications",
      "title": "run_test_applications",
      "topics": [
        "run_test_applications"
      ]
    },
    {
      "page": "setSolver-method",
      "title": "setSolver",
      "topics": [
        "setSolver<-"
      ]
    },
    {
      "page": "setState-method",
      "title": "setState",
      "topics": [
        "setState"
      ]
    },
    {
      "page": "setStepSize-method",
      "title": "setStepSize",
      "topics": [
        "setStepSize"
      ]
    },
    {
      "page": "setTolerance-method",
      "title": "setTolerance",
      "topics": [
        "setTolerance",
        "setTolerance<-"
      ]
    },
    {
      "page": "showMethods2",
      "title": "showMethods2",
      "topics": [
        "showMethods2"
      ]
    },
    {
      "page": "step-method",
      "title": "step",
      "topics": [
        "step"
      ]
    },
    {
      "page": "Verlet-class",
      "title": "Verlet ODE solver class",
      "topics": [
        ".Verlet",
        "getRateCounter,getRateCounter-method",
        "getRateCounter,Verlet-method",
        "init,Verlet-method",
        "init-methods",
        "step,Verlet-method",
        "Verlet",
        "Verlet,ODE-method",
        "Verlet-class"
      ]
    }
  ],
  "_readme": "https://github.com/f0nzie/rode/raw/HEAD/README.md",
  "_rundeps": [
    "data.table"
  ],
  "_vignettes": [
    {
      "source": "Reaction.Rmd",
      "filename": "Reaction.html",
      "title": "Chemical Reaction",
      "author": "Vignette Author",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Build the Reaction class with a RK4 solver",
        "Run the application ReactionApp"
      ],
      "created": "2017-05-22 02:34:20",
      "modified": "2017-11-10 17:39:40",
      "commits": 6
    },
    {
      "source": "Comparison.Rmd",
      "filename": "Comparison.html",
      "title": "Comparison of ODE solvers",
      "author": "Alfonso R. Reyes",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Build the ODE class (without class accumulator)",
        "Comparison of solutions: RK45 vs analytical solution",
        "Build and run the application ComparisonRK45App",
        "Storing the number of counts in a class environment object"
      ],
      "created": "2017-05-22 02:34:20",
      "modified": "2017-11-10 17:39:40",
      "commits": 5
    },
    {
      "source": "ErrorEuler.Rmd",
      "filename": "ErrorEuler.html",
      "title": "Error vs step size with Euler method",
      "author": "Alfonso R. Reyes",
      "engine": "knitr::rmarkdown",
      "headings": [
        "A challenge",
        "Build the ODE solver",
        "Calculate the error for each step size",
        "Plot the errors vs step size",
        "Plot the number of steps vs. step size"
      ],
      "created": "2017-11-10 17:39:40",
      "modified": "2017-11-10 17:39:40",
      "commits": 1
    },
    {
      "source": "FallingParticle.Rmd",
      "filename": "FallingParticle.html",
      "title": "Falling Particle ODE",
      "author": "Wolfgang Christian / Alfonso R. Reyes",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The FallingParticleODE class using the Euler ODE solver",
        "Build the FallingParticleODE class",
        "Run the application FallingParticleODEApp"
      ],
      "created": "2017-05-22 02:34:20",
      "modified": "2017-11-10 17:39:40",
      "commits": 4
    },
    {
      "source": "Kepler.Rmd",
      "filename": "Kepler.html",
      "title": "Kepler. Interaction between two planets",
      "author": "Alfonso R. Reyes",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The Kepler class",
        "Run the application KeplerApp"
      ],
      "created": "2017-05-22 02:34:20",
      "modified": "2017-11-10 17:39:40",
      "commits": 6
    },
    {
      "source": "Muskat-MBal.Rmd",
      "filename": "Muskat-MBal.html",
      "title": "Muskat Material Balance",
      "author": "Alfonso R. Reyes",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Muskat's Material Balance Equation",
        "Solving the 1st Order Differential Equation (ODE)",
        "Building the ODE for Material Balance",
        "Implementing the Euler solver",
        "Summary table",
        "Solve Muskat's Equation using Runge-Kutta",
        "Using a solver factory",
        "Euler",
        "Euler-Richardson",
        "Runge-Kutta",
        "Runge-Kutta 45",
        "What about doing all in one step",
        "Plot the error of the solvers",
        "Plot RK4 vs RK45",
        "Exercise: Using the ODE Solver RK4, find the saturation value at pressure of 3 with a time step 0.05"
      ],
      "created": "2017-11-10 17:39:40",
      "modified": "2017-11-10 17:39:40",
      "commits": 1
    },
    {
      "source": "Pendulum.Rmd",
      "filename": "Pendulum.html",
      "title": "Pendulum with Euler-Richardson ODE solver",
      "author": "Alfonso R. Reyes",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Define the ODE Solver: Pendulum with Euler-Richardson ODE solver",
        "Run the application PendulumApp"
      ],
      "created": "2017-05-22 02:34:20",
      "modified": "2017-11-10 17:39:40",
      "commits": 5
    },
    {
      "source": "Planet.Rmd",
      "filename": "Planet.html",
      "title": "Planet orbiting with Euler ODE solver",
      "author": "Vignette Author",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Build the class Planet with the Euler ODE solver",
        "Run the application PlanetApp"
      ],
      "created": "2017-05-22 02:34:20",
      "modified": "2017-11-10 17:39:40",
      "commits": 6
    },
    {
      "source": "Projectile.Rmd",
      "filename": "Projectile.html",
      "title": "Projectile with RK4 solver",
      "author": "Vignette Author",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Build the Projectile class with RK4 solver",
        "Run the application ProjectileApp"
      ],
      "created": "2017-05-22 02:34:20",
      "modified": "2017-11-10 17:39:40",
      "commits": 6
    }
  ],
  "_score": 5.556302500767287,
  "_indexed": true,
  "_nocasepkg": "rode",
  "_universes": [
    "f0nzie"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.99.6",
      "date": "2026-05-13T06:15:24.000Z",
      "distro": "noble",
      "commit": "1d686fd06b7bbf5fa13d1c6a70024753ef9b0297",
      "fileid": "c10aea4c7b7476a3a7c6e7ad6aeb81050ac091e4e20cd39c23f92d684cbd65c4",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/f0nzie/actions/runs/25781747996"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.99.6",
      "date": "2026-05-13T06:15:29.000Z",
      "distro": "noble",
      "commit": "1d686fd06b7bbf5fa13d1c6a70024753ef9b0297",
      "fileid": "7b2017c24ef504c0b95f3e8f0e96c3e302fd606b27c8a889c6a6d824c80f1ad3",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/f0nzie/actions/runs/25781747996"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.99.6",
      "date": "2026-05-13T06:15:49.000Z",
      "commit": "1d686fd06b7bbf5fa13d1c6a70024753ef9b0297",
      "fileid": "163e2b60387442adcecad8e0beb8649cbd3bcc54d6c2c1347ad3263f6ac375bd",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/f0nzie/actions/runs/25781747996"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.99.6",
      "date": "2026-05-13T06:15:35.000Z",
      "commit": "1d686fd06b7bbf5fa13d1c6a70024753ef9b0297",
      "fileid": "52ed23ba83c31e725598f4fa9e198104a41f0f9b49e9f9cc0f4e0e7e94f8b762",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/f0nzie/actions/runs/25781747996"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.99.6",
      "date": "2026-05-13T06:14:35.000Z",
      "commit": "1d686fd06b7bbf5fa13d1c6a70024753ef9b0297",
      "fileid": "b7edb9e61332e50768f144a48c5edf6afa989a5ec606ac746dfe1a00ef3c9626",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/f0nzie/actions/runs/25781747996"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.99.6",
      "date": "2026-05-13T06:14:32.000Z",
      "commit": "1d686fd06b7bbf5fa13d1c6a70024753ef9b0297",
      "fileid": "10503ca54b7e7e4f1ab02d4f624ebdccdc6ee5d4248d4bc55553474d79cee1e2",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/f0nzie/actions/runs/25781747996"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.99.6",
      "date": "2026-05-13T06:14:37.000Z",
      "commit": "1d686fd06b7bbf5fa13d1c6a70024753ef9b0297",
      "fileid": "3881e69b1274e0e7e300b65ca23b34f6e930b44c82f44120c8e023babdf66027",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/f0nzie/actions/runs/25781747996"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.99.6",
      "date": "2026-05-22T10:14:21.000Z",
      "commit": "1d686fd06b7bbf5fa13d1c6a70024753ef9b0297",
      "fileid": "1f505ff839348a0c76feafb2acdbe856136bb9c9b46ec8f563d688f389627c55",
      "status": "success",
      "buildurl": "https://github.com/r-universe/f0nzie/actions/runs/25781747996"
    }
  ]
}