Skip to content

Conversation

@Snapex2409
Copy link

@Snapex2409 Snapex2409 commented Jan 2, 2026

Added support for large strain in pyFANS, by reading in the strain_type from the reader.
This will construct an appropriate version of MaterialManager and Solver.
The results are stored in std::variant to reduce code duplication.

Furthermore, fixed the MPI implementation when using pyFANS in micro-manager.
Issue was: when running micro-manager using MPI it will create its own processes and will manage MPI. Each resulting rank will then manage a series of pyFANS instances. However, when using pyFANS in such a setting, it "sees" that there are other ranks in MPI_COMM_WORLD and will attempt to communicate with them.

But this is wrong, as it should only run in a single rank.
Fixed by introducing a communicator variable, that is set to either MPI_COMM_WORLD or MPI_COMM_SELF.

Checklist:

  • I made sure that the CI passed before I ask for a review.
  • I added a summary of the changes (compared to the last release) in the CHANGELOG.md.
  • If necessary, I made changes to the documentation and/or added new content.
  • I will remember to squash-and-merge, providing a useful summary of the changes of this PR.

@sanathkeshav
Copy link
Member

@Snapex2409 make sure you are on the latest version of pixi by pixi self-update and then pixi lock.
When I ran it now after your last commit, it still changed the lock file. So that means the lock file is not upto date.

I somehow do not have permissions to push to your branch. Although I thought it should be allowed.

@IshaanDesai IshaanDesai added the enhancement New feature or request label Jan 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants