Skip to content

Use petsctools package#4194

Merged
connorjward merged 29 commits intomasterfrom
connorjward/petsc-install-experiment
Jun 16, 2025
Merged

Use petsctools package#4194
connorjward merged 29 commits intomasterfrom
connorjward/petsc-install-experiment

Conversation

@connorjward
Copy link
Contributor

A lot of users have been cargo-culting Firedrake's PETSc code for a long time (especially the options manager). This is even happening outside of the Firedrake user base. I (and others) think that it therefore makes some sense to have an external mini package that can store this sort of thing.

I have started this process off by writing petsctools. At the moment it does just the thing I want which is to warn users if their PETSc and petsc4py versions do not match. Also if PETSC_DIR is set but does not match what petsc4py thinks then an exception is raised.

If people are happy I will move petsctools into the firedrakeproject organisation and make a release.

@connorjward connorjward mentioned this pull request Apr 3, 2025
10 tasks
@dham
Copy link
Member

dham commented Apr 4, 2025

Sounds like a good idea. I guess we also put the options manager in there, right?

@connorjward
Copy link
Contributor Author

Sounds like a good idea. I guess we also put the options manager in there, right?

Yeah exactly. Also whatever clever ideas happen with the appctx.

@connorjward connorjward requested a review from JHopeCollins April 8, 2025 13:17
@connorjward connorjward marked this pull request as ready for review April 8, 2025 13:17
dham
dham previously approved these changes Apr 22, 2025
dham
dham previously approved these changes Jun 11, 2025
@connorjward
Copy link
Contributor Author

Merging as only link check is failing.

@connorjward connorjward merged commit 32611a7 into master Jun 16, 2025
11 of 14 checks passed
@connorjward connorjward deleted the connorjward/petsc-install-experiment branch June 16, 2025 08:27
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.

4 participants