Skip to content

Conversation

Steven-Roberts
Copy link
Collaborator

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 and ARKodeButcherTable_CheckARKOrder. Currently, they handle return values of -1 and -2 inconsistently. I'd like to propose returning ARK_* errors, e.g.,

  • ARK_SUCCESS, ARK_MEM_NULL, ARK_MEM_FAIL, etc
  • A new ARK_ORDER_OVERESTIMATE error code if supplied order is greater than computed
  • ARK_WARNING or new ARK_WARNING_ORDER_UNDERESTIMATE if supplied order is less than computed

I suppose that would be considered a breaking change, though.

Steven-Roberts and others added 30 commits September 22, 2024 15:52
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
dependabot bot and others added 25 commits January 20, 2025 20:31
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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/build-push-action&package-manager=github_actions&previous-version=6.11.0&new-version=6.12.0)](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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/build-push-action&package-manager=github_actions&previous-version=6.12.0&new-version=6.13.0)](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
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.
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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/build-push-action&package-manager=github_actions&previous-version=6.13.0&new-version=6.15.0)](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]>
Steven-Roberts and others added 2 commits March 21, 2025 09:11
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]>
@gardner48 gardner48 force-pushed the develop branch 2 times, most recently from 894262a to 7df148d Compare July 21, 2025 22:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants