-
Notifications
You must be signed in to change notification settings - Fork 156
ARKODE Order Checking Improvements #640
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
Steven-Roberts
wants to merge
97
commits into
develop
Choose a base branch
from
feature/order_cond_tree
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
+126,653
−26,309
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Comment `/autofix` on your PR and a GitHub action will fix the spelling, formatting, and swig errors.
Tell dependabot to target develop instead of `main`
Fix indentation so the ordered list is enumerated correctly
Fixes #581 The new implementation eliminates all temporary storage/mallocs and only traverses the matrix entries once when diagonal elements don't need to be added. The sparse matrix example shows about a 1.5x speedup on 50000x50000 matrices.
Some recent PRs have included comments about stylistic inconsistencies in the documentation. This PR adds a style guide for documenting user-callable and user-supplied functions to hopefully reduce this kind of traffic in future PRs. --------- Co-authored-by: Daniel R. Reynolds <[email protected]>
Cancel running formatting, swing, and spelling checks on new pushes to prevent redundant failure messages
When moving the ARKODE user interface to a shared level and adding deprecation warnings to stepper-specific routines, some of the deprecation warnings seemed to have search/replace issues. This PR fixes those.
Add an ARKODE level function to get the number of RHS evaluations --------- Co-authored-by: Daniel R. Reynolds <[email protected]> Co-authored-by: Steven Roberts <[email protected]>
The Billington, Cash, and Kvaerno DIRK method coefficients only had ~10-14 digits of accuracy which can be insufficient for double and extended precision. This PR extends the coefficients to 40 digits.
Add LSRKStep module to ARKODE with RKC, RKL, and SSPs methods. --------- Co-authored-by: Daniel R. Reynolds <[email protected]> Co-authored-by: David Gardner <[email protected]>
Add SUNStepper class for evolving IVPs --------- Co-authored-by: Steven Roberts <[email protected]> Co-authored-by: David Gardner <[email protected]> Co-authored-by: Daniel R. Reynolds <[email protected]>
Non-`SUNDIALS` namespaced variables may be used by other projects so don't `unset` them. Fixes #538 --------- Signed-off-by: Peter Hill <[email protected]> Co-authored-by: Cody Balos <[email protected]>
Bumps docker/build-push-action from 6.0.2 to 6.10.0. ---------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cody Balos <[email protected]> Co-authored-by: David Gardner <[email protected]>
Updated CMake to prohibit CUDA interfaces when sunrealtype is set to extended precision. Currently, this configuration just results in build failures later on, so this PR heads this off with a clear error message.
Add slow time scale adaptivity to MRI-GARK methods Add adaptive MRI-SR and MERK methods --------- Co-authored-by: David J. Gardner <[email protected]> Co-authored-by: Steven Roberts <[email protected]>
Uninitialized variable caught with valgrind.
Add acknowledgements to README and online docs landing page
Add new warnings flags for gcc and clang. --------- Co-authored-by: David Gardner <[email protected]>
Add operator splitting stepper module to ARKODE ----- Co-authored-by: David Gardner <[email protected]> Co-authored-by: Daniel R. Reynolds <[email protected]> Co-authored-by: Cody Balos <[email protected]> Co-authored-by: Balos, Cody, J <[email protected]>
Fix out of bounds read when setting MRI stage type
* Fix memory leak when attaching an H-Tol controller to MRIStep * Fix memory leak / out of bound array access in Lagrange interpolation module * Fix memory leaks in unit tests
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.11.0 to 6.12.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/docker/build-push-action/releases">docker/build-push-action's releases</a>.</em></p> <blockquote> <h2>v6.12.0</h2> <ul> <li>Bump <code>@docker/actions-toolkit</code> from 0.49.0 to 0.51.0 in <a href="https://redirect.github.com/docker/build-push-action/pull/1300">docker/build-push-action#1300</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/docker/build-push-action/compare/v6.11.0...v6.12.0">https://github.com/docker/build-push-action/compare/v6.11.0...v6.12.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/docker/build-push-action/commit/67a2d409c0a876cbe6b11854e3e25193efe4e62d"><code>67a2d40</code></a> Merge pull request <a href="https://redirect.github.com/docker/build-push-action/issues/1300">#1300</a> from docker/dependabot/npm_and_yarn/docker/actions-t...</li> <li><a href="https://github.com/docker/build-push-action/commit/0b1b1c9c43ec788c199860037a0545356ea03d26"><code>0b1b1c9</code></a> chore: update generated content</li> <li><a href="https://github.com/docker/build-push-action/commit/b6a7c2c4eec8151a4dbcd3823747fe1b77d5b280"><code>b6a7c2c</code></a> chore(deps): Bump <code>@docker/actions-toolkit</code> from 0.49.0 to 0.51.0</li> <li><a href="https://github.com/docker/build-push-action/commit/31ca4e5d51253d7e4a2317bfe74699cbe3a398a9"><code>31ca4e5</code></a> Merge pull request <a href="https://redirect.github.com/docker/build-push-action/issues/1296">#1296</a> from crazy-max/bake-v6</li> <li><a href="https://github.com/docker/build-push-action/commit/e613db9d5a93dda4d07aeb81991e80164577ae4a"><code>e613db9</code></a> update bake-action to v6</li> <li>See full diff in <a href="https://github.com/docker/build-push-action/compare/v6.11.0...v6.12.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Update copyright year range for 2025 Add .sh suffix to tarscripts Fix spelling errors with new codespell version --------- Co-authored-by: David Gardner <[email protected]>
Clean up how ARKODE and its steppers check for required and optional N_Vector routines. 1. Stepper-specific N_Vector operation checks have been removed. 2. ARKODE performs an initial check on the supplied N_Vector for operations that are always required. 3. Individual ARKODE utilities perform their own N_Vector checks when they are configured. 4. ARKODE then performs a final check after user configuration is complete to check any remaining N_Vector operation requirements. --------- Co-authored-by: David Gardner <[email protected]>
Add sundials_add_executable macro to easily include/exclude examples with complex values
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.12.0 to 6.13.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/docker/build-push-action/releases">docker/build-push-action's releases</a>.</em></p> <blockquote> <h2>v6.13.0</h2> <ul> <li>Bump <code>@docker/actions-toolkit</code> from 0.51.0 to 0.53.0 in <a href="https://redirect.github.com/docker/build-push-action/pull/1308">docker/build-push-action#1308</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/docker/build-push-action/compare/v6.12.0...v6.13.0">https://github.com/docker/build-push-action/compare/v6.12.0...v6.13.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/docker/build-push-action/commit/ca877d9245402d1537745e0e356eab47c3520991"><code>ca877d9</code></a> Merge pull request <a href="https://redirect.github.com/docker/build-push-action/issues/1308">#1308</a> from docker/dependabot/npm_and_yarn/docker/actions-t...</li> <li><a href="https://github.com/docker/build-push-action/commit/d2fe919bb5012a6186426dc91c361c4980d10c2d"><code>d2fe919</code></a> chore: update generated content</li> <li><a href="https://github.com/docker/build-push-action/commit/f0fc9ece82cf2ace13ec8f35687697ae511bdf74"><code>f0fc9ec</code></a> chore(deps): Bump <code>@docker/actions-toolkit</code> from 0.51.0 to 0.53.0</li> <li>See full diff in <a href="https://github.com/docker/build-push-action/compare/v6.12.0...v6.13.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Fix typo in Shu-Osher-3-2-3 ERK method table docs
Fix time key in get_history
Uniquely names artifacts for a matrix of jobs to so there's no conflicts The changes will allow us to get out files across all logging levels and precisions with one run rather than repeated runs and updates.
…ls (#658) Some of the `check_flag` calls in the LSRK examples were not returning the correct function names.
Fix typo in error check
Previously success was always returned, even if an error occurred
Remove small space due to inconsistent latex rendering of README Correct docs for LinearCombinationVectorArray
Removes an incorrect "sanity check" from python plotting script so it works with serial and parallel output files.
Update the default RK tables in ARKODE: - ARK order >2: Follows the recommendations in the conclusion of https://doi.org/10.1016/j.apnum.2018.10.007 - ERK order 4: Improved principal error and embedded quality metrics - ERK order 5: Improved principal error and embedded quality metrics - ERK order 8: Switch to a method designed for local extrapolation mode, likely better principal error. - DIRK order 2: Improved principal error, L-stability, and stage order 2 - DIRK order >2: Follows the recommendations in the conclusion of https://doi.org/10.1016/j.apnum.2019.07.008 --------- Co-authored-by: David Gardner <[email protected]>
Add "default" to the docs for the Yoshida Butcher Table constant description.
Fix summation bound in operator splitting docs
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.13.0 to 6.15.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/docker/build-push-action/releases">docker/build-push-action's releases</a>.</em></p> <blockquote> <h2>v6.15.0</h2> <ul> <li>Bump <code>@docker/actions-toolkit</code> from 0.55.0 to 0.56.0 in <a href="https://redirect.github.com/docker/build-push-action/pull/1330">docker/build-push-action#1330</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/docker/build-push-action/compare/v6.14.0...v6.15.0">https://github.com/docker/build-push-action/compare/v6.14.0...v6.15.0</a></p> <h2>v6.14.0</h2> <ul> <li>Bump <code>@docker/actions-toolkit</code> from 0.53.0 to 0.55.0 in <a href="https://redirect.github.com/docker/build-push-action/pull/1324">docker/build-push-action#1324</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/docker/build-push-action/compare/v6.13.0...v6.14.0">https://github.com/docker/build-push-action/compare/v6.13.0...v6.14.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/docker/build-push-action/commit/471d1dc4e07e5cdedd4c2171150001c434f0b7a4"><code>471d1dc</code></a> Merge pull request <a href="https://redirect.github.com/docker/build-push-action/issues/1330">#1330</a> from docker/dependabot/npm_and_yarn/docker/actions-t...</li> <li><a href="https://github.com/docker/build-push-action/commit/b89ff0a6f27deae3d7f5803e80f1de9415b673c8"><code>b89ff0a</code></a> chore: update generated content</li> <li><a href="https://github.com/docker/build-push-action/commit/1e3ae3a4d3bba144fbd440e91219e1cd3bc38d69"><code>1e3ae3a</code></a> chore(deps): Bump <code>@docker/actions-toolkit</code> from 0.55.0 to 0.56.0</li> <li><a href="https://github.com/docker/build-push-action/commit/b16f42f92abaeb7610fd7fc99ab230d13e79e275"><code>b16f42f</code></a> Merge pull request <a href="https://redirect.github.com/docker/build-push-action/issues/1325">#1325</a> from crazy-max/buildx-edge</li> <li><a href="https://github.com/docker/build-push-action/commit/dc0fea5e62c3379ed8d79ee70c09796499a5f799"><code>dc0fea5</code></a> ci: update buildx to edge and buildkit to latest</li> <li><a href="https://github.com/docker/build-push-action/commit/0adf9959216b96bec444f325f1e493d4aa344497"><code>0adf995</code></a> Merge pull request <a href="https://redirect.github.com/docker/build-push-action/issues/1324">#1324</a> from docker/dependabot/npm_and_yarn/docker/actions-t...</li> <li><a href="https://github.com/docker/build-push-action/commit/d88cd289df60c51a4111f165d65e205c8e913937"><code>d88cd28</code></a> chore: update generated content</li> <li><a href="https://github.com/docker/build-push-action/commit/3d09a6bd705280a63155d5f61da35bb42301fe96"><code>3d09a6b</code></a> chore(deps): Bump <code>@docker/actions-toolkit</code> from 0.53.0 to 0.55.0</li> <li>See full diff in <a href="https://github.com/docker/build-push-action/compare/v6.13.0...v6.15.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot 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-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Update Intel compiler version to fix CI failures with Windows + Intel + Ninja
The error floor parameter used in the controllers could cause an error overestimation, particularly for the first step. Use I controller for initial steps with insufficient history. --------- Co-authored-by: David Gardner <[email protected]>
Spack v1.0 will parse `pkg %gcc +foo` as "pkg with direct dependency gcc with variant foo enabled" instead of "pkg with variant foo enabled and compiler gcc". Reorder as `%foo +bar` -> `+bar %foo` to be compatible with Spack v0.x and v1.0.
Deprecate all work space functions for removal in version 8.0.0 ----- Co-authored-by: David Gardner <[email protected]>
Improved the precision of the coefficients for `ARKODE_ARK324L2SA_ERK_4_2_3`, `ARKODE_VERNER_9_5_6`, `ARKODE_VERNER_10_6_7`, `ARKODE_VERNER_13_7_8`, `ARKODE_ARK324L2SA_DIRK_4_2_3`, and `ARKODE_ESDIRK324L2SA_4_2_3`. --------- Co-authored-by: David J. Gardner <[email protected]>
894262a
to
7df148d
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Replaces a few thousand lines of hard-coded order conditions with systematic, arbitrary order checking.
In draft status because I'd like to see about changing the return values of
ARKodeButcherTable_CheckOrder
andARKodeButcherTable_CheckARKOrder
. Currently, they handle return values of-1
and-2
inconsistently. I'd like to propose returningARK_*
errors, e.g.,ARK_SUCCESS
,ARK_MEM_NULL
,ARK_MEM_FAIL
, etcARK_ORDER_OVERESTIMATE
error code if supplied order is greater than computedARK_WARNING
or newARK_WARNING_ORDER_UNDERESTIMATE
if supplied order is less than computedI suppose that would be considered a breaking change, though.