Conversation
…ates Updates the requirements on [OrdinaryDiffEq](https://github.com/SciML/OrdinaryDiffEq.jl) and [OrdinaryDiffEqSSPRK](https://github.com/SciML/OrdinaryDiffEq.jl) to permit the latest version. Updates `OrdinaryDiffEq` to 7.0.0 - [Release notes](https://github.com/SciML/OrdinaryDiffEq.jl/releases) - [Changelog](https://github.com/SciML/OrdinaryDiffEq.jl/blob/master/NEWS.md) - [Commits](https://github.com/SciML/OrdinaryDiffEq.jl/commits/v7.0.0) Updates `OrdinaryDiffEqSSPRK` to 2.0.0 - [Release notes](https://github.com/SciML/OrdinaryDiffEq.jl/releases) - [Changelog](https://github.com/SciML/OrdinaryDiffEq.jl/blob/master/NEWS.md) - [Commits](SciML/OrdinaryDiffEq.jl@v1.5.0...v2.0.0) --- updated-dependencies: - dependency-name: OrdinaryDiffEq dependency-version: 7.0.0 dependency-type: direct:production dependency-group: all-julia-dependencies - dependency-name: OrdinaryDiffEqSSPRK dependency-version: 2.0.0 dependency-type: direct:production dependency-group: all-julia-dependencies ... Signed-off-by: dependabot[bot] <support@github.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #411 +/- ##
=======================================
Coverage 93.09% 93.09%
=======================================
Files 42 42
Lines 6805 6805
=======================================
Hits 6335 6335
Misses 470 470
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
Failing Downgrade is because of JuliaArrays/StaticArrayInterface.jl#52. You might need to bump the compat bound to StaticArrayInterface.jl to v1.10 to fix that. |
|
@JoshuaLampert Do you have an idea why the SBP property is not satisfied anymore in multiple dimensions? |
|
I observed this also locally while debugging the CI build. That's why I added the explicit error message there. Please note that latest stable docs are fine: https://ranocha.de/SummationByPartsOperators.jl/stable/tutorials/twodimensional_linear_advection/ |
|
Hm, that's strange. I'll investigate. |
|
I cannot reproduce locally: (docs) pkg> st
Status `~/.julia/dev/SummationByPartsOperators/docs/Project.toml`
[aae01518] BandedMatrices v1.11.0
[6e4b80f9] BenchmarkTools v1.8.0
[e30172f5] Documenter v1.17.0
[f6369f11] ForwardDiff v1.3.3
[b964fa9f] LaTeXStrings v1.4.0
[af6ede74] OrdinaryDiffEqRKN v2.0.0
[43230ef6] OrdinaryDiffEqRosenbrock v2.0.0
[669c94d9] OrdinaryDiffEqSSPRK v2.0.0
[b1df2697] OrdinaryDiffEqTsit5 v2.0.0
[91a5bcdd] Plots v1.41.6
[90137ffa] StaticArrays v1.9.18
[09ab397b] StructArrays v0.7.3
[9f78cca6] SummationByPartsOperators v0.5.92-DEV `..`
[2f01184e] SparseArrays v1.12.0
julia> using SummationByPartsOperators
julia> xmin, xmax, ymin, ymax = -1.0, 1.0, -2.0, 2.0
(-1.0, 1.0, -2.0, 2.0)
julia> N_x, N_y = 30, 60
(30, 60)
julia> D_1 = derivative_operator(MattssonNordström2004(), derivative_order = 1, accuracy_order = 4,
xmin = xmin, xmax = xmax, N = N_x)
SBP first-derivative operator of order 4 on a grid in [-1.0, 1.0] using 30 nodes
and coefficients of Mattsson, Nordström (2004)
Summation by parts operators for finite difference approximations of second
derivatives.
Journal of Computational Physics 199, pp. 503-540.
julia> D_2 = derivative_operator(MattssonNordström2004(), derivative_order = 1, accuracy_order = 4,
xmin = ymin, xmax = ymax, N = N_y)
SBP first-derivative operator of order 4 on a grid in [-2.0, 2.0] using 60 nodes
and coefficients of Mattsson, Nordström (2004)
Summation by parts operators for finite difference approximations of second
derivatives.
Journal of Computational Physics 199, pp. 503-540.
julia> D = tensor_product_operator_2D(D_1, D_2)
2-dimensional tensor product operator {T=Float64} on 1800 nodes
julia> D_x = D[1]; D_y = D[2];
julia> M = mass_matrix(D); B_x = mass_matrix_boundary(D, 1); B_y = mass_matrix_boundary(D, 2);
julia> M * D_x + D_x' * M ≈ B_x
true
julia> M * D_y + D_y' * M ≈ B_y
trueDoes running this snippet in the docs project on the branch of this PR return |
|
The only potential issue I could think of is that |
|
I just tried again locally and it's fine... 😕 |
Building the docs or only running the code snippet? |
|
Running the code |
Yes, that is consistently fine for me, but inside the docs it's consistently failing. Even with this version, which is really really strange: 1.3877787807814457e-17
┌ Error: failed to run `@example` block in docs/src/tutorials/twodimensional_linear_advection.md:83-88
│ ```@example twodimensional_advection
│ diff = maximum(abs.(Matrix(M * D_x + D_x' * M - B_x)))
│ display(diff)
│ check = all(isapprox(diff, 0.0, atol = 1e-15))
│ check && error("SBP property in x-direction is not satisfied.")
│ ```
│ exception =
│ SBP property in x-direction is not satisfied.
│ Stacktrace:
│ [1] error(s::String)
│ @ Base ./error.jl:44
│ [2] top-level scope
│ @ twodimensional_linear_advection.md:87
│ [3] eval(m::Module, e::Any)
│ @ Core ./boot.jl:489
│ [4] #61
│ @ ~/.julia/packages/Documenter/AXNMp/src/expander_pipeline.jl:879 [inlined]
│ [5] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
│ @ Base.Filesystem ./file.jl:112
│ [6] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
│ @ Documenter ~/.julia/packages/Documenter/AXNMp/src/expander_pipeline.jl:878
│ [7] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
│ @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
│ [8] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
│ @ Base.CoreLogging ./logging/logging.jl:542
│ [9] with_logger(f::Function, logger::Base.CoreLogging.ConsoleLogger)
│ @ Base.CoreLogging ./logging/logging.jl:653
│ [10] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
│ @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
│ [11] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
│ @ Documenter ~/.julia/packages/Documenter/AXNMp/src/expander_pipeline.jl:877
└ @ Documenter ~/.julia/packages/Documenter/AXNMp/src/utilities/utilities.jl:47
1.3877787807814457e-17
┌ Error: failed to run `@example` block in docs/src/tutorials/twodimensional_linear_advection.md:90-95
│ ```@example twodimensional_advection
│ diff = maximum(abs.(Matrix(M * D_x + D_x' * M - B_x)))
│ display(diff)
│ check = all(isapprox(diff, 0.0, atol = 1e-15))
│ check && error("SBP property in y-direction is not satisfied.")
│ ```
│ exception =
│ SBP property in y-direction is not satisfied.
│ Stacktrace:
│ [1] error(s::String)
│ @ Base ./error.jl:44
│ [2] top-level scope
│ @ twodimensional_linear_advection.md:94
│ [3] eval(m::Module, e::Any)
│ @ Core ./boot.jl:489
│ [4] #61
│ @ ~/.julia/packages/Documenter/AXNMp/src/expander_pipeline.jl:879 [inlined]
│ [5] cd(f::Documenter.var"#61#62"{Module, Expr}, dir::String)
│ @ Base.Filesystem ./file.jl:112
│ [6] (::Documenter.var"#59#60"{Documenter.Page, Module, Expr})()
│ @ Documenter ~/.julia/packages/Documenter/AXNMp/src/expander_pipeline.jl:878
│ [7] (::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY})()
│ @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:170
│ [8] with_logstate(f::IOCapture.var"#12#13"{Type{InterruptException}, Documenter.var"#59#60"{Documenter.Page, Module, Expr}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, Base.TTY, Base.TTY}, logstate::Base.CoreLogging.LogState)
│ @ Base.CoreLogging ./logging/logging.jl:542
│ [9] with_logger(f::Function, logger::Base.CoreLogging.ConsoleLogger)
│ @ Base.CoreLogging ./logging/logging.jl:653
│ [10] capture(f::Documenter.var"#59#60"{Documenter.Page, Module, Expr}; rethrow::Type, color::Bool, passthrough::Bool, capture_buffer::IOBuffer, io_context::Vector{Any})
│ @ IOCapture ~/.julia/packages/IOCapture/MR051/src/IOCapture.jl:167
│ [11] runner(::Type{Documenter.Expanders.ExampleBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
│ @ Documenter ~/.julia/packages/Documenter/AXNMp/src/expander_pipeline.jl:877
└ @ Documenter ~/.julia/packages/Documenter/AXNMp/src/utilities/utilities.jl:47 |
|
I just tried something since I noticed warnings in the log that we got earlier with Trixi.jl and which seem to be fixed by trixi-framework/Trixi.jl#2791. |
|
Ohh, I might have an idea. I guess what we want is !check && error("SBP property in x-direction is not satisfied.")or check || error("SBP property in x-direction is not satisfied.")Otherwise it's raising the error if it is true 😅 |
|
So the only remaining question is:
What exactly did you see locally while debugging the CI build, which lead you add this check? 😄 |
|
The terminal is closed, and I don't have its output anymore... What I saw was that the first check returned |
|
Thanks for your help with this! |
Updates the requirements on OrdinaryDiffEq and OrdinaryDiffEqSSPRK to permit the latest version.
Updates
OrdinaryDiffEqto 7.0.0Release notes
Sourced from OrdinaryDiffEq's releases.
... (truncated)
Changelog
Sourced from OrdinaryDiffEq's changelog.
... (truncated)
Commits
Updates
OrdinaryDiffEqSSPRKto 2.0.0Changelog
Sourced from OrdinaryDiffEqSSPRK's changelog.
... (truncated)
Commits
095ecbffix for constant transferd48aa88small fixes forFuntypes83c7872some little fixesc59fe03default stability check only for floatscf24ab8fix invalid subtypingb901d94allow tuple errorsb9df25dmore robust test426c1b6Merge branch 'test_release'eae99daadd 1.0.0 requirementdd10dadout of place jacobians in rosenbrockDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions