diff --git a/README.md b/README.md index 9ba8f702..e0c245c3 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,8 @@ julia> Pkg.add("Plots") To create special node sets, you might also want to install [QuasiMonteCarlo.jl](https://github.com/SciML/QuasiMonteCarlo.jl) or [Meshes.jl](https://github.com/JuliaGeometry/Meshes.jl) and for solving time-dependent partial differential equations -[OrdinaryDiffEq.jl](https://github.com/SciML/OrdinaryDiffEq.jl) in a similar way as above for Plots.jl. See the documentation for more +[OrdinaryDiffEq.jl](https://github.com/SciML/OrdinaryDiffEq.jl) in a similar way as above for Plots.jl. Consider using the subpackage +OrdinaryDiffEqRosenbrock.jl as it contains the most relevant time integration schemes for this package. See the documentation for more examples on how to use these packages in combination with KernelInterpolation.jl. ## Usage diff --git a/docs/src/development.md b/docs/src/development.md index 8d56319b..95ba9c13 100644 --- a/docs/src/development.md +++ b/docs/src/development.md @@ -19,7 +19,7 @@ cd KernelInterpolation.jl mkdir run cd run julia --project=. -e 'using Pkg; Pkg.develop(PackageSpec(path=".."))' # Install local KernelInterpolation.jl clone -julia --project=. -e 'using Pkg; Pkg.add(["Plots", "QuasiMonteCarlo", "Meshes", "OrdinaryDiffEq"])' # Install additional packages +julia --project=. -e 'using Pkg; Pkg.add(["Plots", "QuasiMonteCarlo", "Meshes", "OrdinaryDiffEqRosenbrock"])' # Install additional packages ``` If you use other packages for executing KernelInterpolation.jl, you can add them to the project in the `run` diff --git a/docs/src/index.md b/docs/src/index.md index 6e66d305..06da80fe 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -38,7 +38,8 @@ julia> Pkg.add("Plots") To create special node sets, you might also want to install [QuasiMonteCarlo.jl](https://github.com/SciML/QuasiMonteCarlo.jl) or [Meshes.jl](https://github.com/JuliaGeometry/Meshes.jl) and for solving time-dependent partial differential equations -[OrdinaryDiffEq.jl](https://github.com/SciML/OrdinaryDiffEq.jl) in a similar way as above for Plots.jl. See the documentation for more +[OrdinaryDiffEq.jl](https://github.com/SciML/OrdinaryDiffEq.jl) in a similar way as above for Plots.jl. Consider using the subpackage +OrdinaryDiffEqRosenbrock.jl as it contains the most relevant time integration schemes for this package. See the documentation for more examples on how to use these packages in combination with KernelInterpolation.jl. ## Usage diff --git a/docs/src/pdes.md b/docs/src/pdes.md index 00f137e2..2e915aac 100644 --- a/docs/src/pdes.md +++ b/docs/src/pdes.md @@ -226,6 +226,8 @@ which already provides a wide range of time integration methods. Note that this system, which is more difficult to solve than a simple ODE system. Thus, we are restricted to specialized time integration methods, which can handle DAEs. We recommend using the `Rodas5P` method, which is a Rosenbrock method for stiff DAEs. See also the [documentation of OrdinaryDiffEq.jl](https://docs.sciml.ai/DiffEqDocs/latest/tutorials/dae_example/) for more information. +`Rodas5P` along with other Rosenbrock methods are implemented in the subpackage `OrdinaryDiffEqRosenbrock.jl`. Therefore, we +recommend using this package in combination with KernelInterpolation.jl to reduce precompile time. In KernelInterpolation.jl, you can use the constructor of a [`Semidiscretization`](@ref) in a very similar way as [`SpatialDiscretization`](@ref), but with the additional initial condition. This can be turned into an `ODEProblem` object diff --git a/examples/PDEs/advection_1d_basic.jl b/examples/PDEs/advection_1d_basic.jl index 4e28dc49..37548393 100644 --- a/examples/PDEs/advection_1d_basic.jl +++ b/examples/PDEs/advection_1d_basic.jl @@ -1,5 +1,5 @@ using KernelInterpolation -using OrdinaryDiffEq +using OrdinaryDiffEqRosenbrock using Plots # source term of advection equation diff --git a/examples/PDEs/advection_3d_basic.jl b/examples/PDEs/advection_3d_basic.jl index 63a7d775..3dfc5da5 100644 --- a/examples/PDEs/advection_3d_basic.jl +++ b/examples/PDEs/advection_3d_basic.jl @@ -1,5 +1,5 @@ using KernelInterpolation -using OrdinaryDiffEq +using OrdinaryDiffEqRosenbrock using LinearAlgebra: norm using WriteVTK: WriteVTK, paraview_collection diff --git a/examples/PDEs/advection_diffusion_2d_basic.jl b/examples/PDEs/advection_diffusion_2d_basic.jl index 51a0ace1..d881fc85 100644 --- a/examples/PDEs/advection_diffusion_2d_basic.jl +++ b/examples/PDEs/advection_diffusion_2d_basic.jl @@ -1,5 +1,5 @@ using KernelInterpolation -using OrdinaryDiffEq +using OrdinaryDiffEqRosenbrock using LinearAlgebra: norm using Plots diff --git a/examples/PDEs/heat_2d_basic.jl b/examples/PDEs/heat_2d_basic.jl index 3b6c7830..098d38e1 100644 --- a/examples/PDEs/heat_2d_basic.jl +++ b/examples/PDEs/heat_2d_basic.jl @@ -1,5 +1,5 @@ using KernelInterpolation -using OrdinaryDiffEq +using OrdinaryDiffEqRosenbrock using Plots # right-hand-side of Heat equation diff --git a/examples/PDEs/heat_2d_manufactured.jl b/examples/PDEs/heat_2d_manufactured.jl index 9a7d8c12..5a377edd 100644 --- a/examples/PDEs/heat_2d_manufactured.jl +++ b/examples/PDEs/heat_2d_manufactured.jl @@ -1,5 +1,5 @@ using KernelInterpolation -using OrdinaryDiffEq +using OrdinaryDiffEqRosenbrock using Plots # right-hand-side of heat equation diff --git a/test/Project.toml b/test/Project.toml index 1276d6df..7c6379f0 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -3,7 +3,7 @@ Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" ExplicitImports = "7d51a73a-1435-4ff3-83d9-f097790105c7" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Meshes = "eacbb407-ea5a-433e-ab97-5258b1ca43fa" -OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" +OrdinaryDiffEqRosenbrock = "43230ef6-c299-4910-a778-202eb28ce4ce" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" QuasiMonteCarlo = "8a4e6c94-4038-4cdc-81c3-7e6ffdb2a71b" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" @@ -18,7 +18,6 @@ Aqua = "0.8.3" ExplicitImports = "1.0.1" LinearAlgebra = "1" Meshes = "0.52.1" -OrdinaryDiffEq = "6.68" Plots = "1.25.11" QuasiMonteCarlo = "0.3.1" Random = "1" diff --git a/test/runtests.jl b/test/runtests.jl index 54d00bf7..bef51999 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -9,7 +9,7 @@ end @testsnippet AdditionalImports begin using LinearAlgebra: norm, Symmetric, I - using OrdinaryDiffEq: solve, Rodas5P + using OrdinaryDiffEqRosenbrock: solve, Rodas5P using StaticArrays: MVector using Meshes: Meshes, Sphere, Point, PointSet, RegularSampling end