Skip to content

About

Common interface bindings for the PETSc TS time integrators for the SciML Scientific Machine Learning ecosystem

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Latest commit

 

History

192 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PETScDiffEq.jl

Join the chat at https://julialang.zulipchat.com #sciml-bridged Global Docs

CI

ColPrac: Contributor's Guide on Collaborative Practices for Community Packages SciML Code Style

PETScDiffEq.jl wraps the time integrators of PETSc's TS for the SciML common interface, serially or distributed over MPI. The documentation is at docs.sciml.ai/PETScDiffEq.

Installation

using Pkg
Pkg.add("PETScDiffEq")

Example

using PETScDiffEq, SciMLBase

function lorenz(du, u, p, t)
    du[1] = 10.0(u[2] - u[1])
    du[2] = u[1] * (28.0 - u[3]) - u[2]
    du[3] = u[1] * u[2] - (8 / 3) * u[3]
end
prob = SciMLBase.ODEProblem(lorenz, [1.0, 0.0, 0.0], (0.0, 100.0))
sol = SciMLBase.solve(prob, TSRK("5dp"); abstol = 1e-8, reltol = 1e-8)

Solvers

  • TSRK, explicit Runge-Kutta
  • TSRosW, Rosenbrock-W
  • TSImplicit, backward Euler, Crank-Nicolson, theta and BDF
  • TSIRK, Gauss-Legendre implicit Runge-Kutta
  • TSARKIMEX, additive Runge-Kutta IMEX
  • TSDAE, implicit methods for a DAEProblem
  • TSBasicSymplectic and TSAlpha2, for second-order problems
  • TSGeneric, any other PETSc TSType by name

Every solver takes petsc_options, PETSc command-line options for that solve.

Documentation

License

MIT. See LICENSE.

About

Common interface bindings for the PETSc TS time integrators for the SciML Scientific Machine Learning ecosystem

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages