Skip to content

multiply initial dt by random number to prevent numerical coincendences#3127

Open
oscardssmith wants to merge 2 commits intomasterfrom
os/initdt-magic
Open

multiply initial dt by random number to prevent numerical coincendences#3127
oscardssmith wants to merge 2 commits intomasterfrom
os/initdt-magic

Conversation

@oscardssmith
Copy link
Copy Markdown
Member

Previously our initial dt was very likely to be a power of 10 which can cause odd numerical issues (e.g. if it lines up exactly with the period of a sign wave). This is exacerbated dramatically with the inital_qmax raise to 10000 since a dt of 1e-4 amplifys to a dt of 1.0 after an inital step (if the inital step had no error) and something like ~30% of ODEs have something special happen at t=1

Previously our initial dt was very likely to be a power of 10 which can cause odd numerical issues (e.g. if it lines up exactly with the period of a sign wave). This is exacerbated dramatically with the inital_qmax raise to 10000 since a dt of 1e-4 amplifys to a dt of 1.0 after an inital step (if the inital step had no error) and something like ~30% of ODEs have something special happen at t=1
Comment thread lib/OrdinaryDiffEqCore/src/initdt.jl Outdated
@ChrisRackauckas
Copy link
Copy Markdown
Member

a lot more failures than expected

@oscardssmith
Copy link
Copy Markdown
Member Author

I think a number of them are failing on master it's hard to imagine that this change would cause failures in performstep

@ChrisRackauckas
Copy link
Copy Markdown
Member

No

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants