Skip to content

cvode: Add linear_solver option#3112

Merged
bendudson merged 1 commit into
nextfrom
cvode-linear-solver
May 28, 2025
Merged

cvode: Add linear_solver option#3112
bendudson merged 1 commit into
nextfrom
cvode-linear-solver

Conversation

@bendudson
Copy link
Copy Markdown
Contributor

Selects the linear solver to be used by CVODE. Usually the default GMRES works well, but FGMRES can work better.

Example:

[solver]
linear_solver = fgmres

Selects the linear solver to be used by CVODE. Usually the default
GMRES works well, but FGMRES can work better.

Example:

```
[solver]
linear_solver = fgmres
```
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy made some suggestions

BOUT_ENUM_CLASS(positivity_constraint, none, positive, non_negative, negative,
non_positive);

BOUT_ENUM_CLASS(linear_solver, gmres, fgmres, tfqmr, bcgs);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warning: enum 'linear_solver' uses a larger base type ('int', size: 4 bytes) than necessary for its value set, consider using 'std::uint8_t' (1 byte) as the base type to reduce its size [performance-enum-size]

BOUT_ENUM_CLASS(linear_solver, gmres, fgmres, tfqmr, bcgs);
                ^

@bendudson bendudson merged commit cac159e into next May 28, 2025
13 of 26 checks passed
@bendudson bendudson deleted the cvode-linear-solver branch May 28, 2025 16:52
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