Skip to content

Fortran backend - #281

Open
mpmdean wants to merge 3 commits into
petsc_edrixsfrom
fortran_backend
Open

Fortran backend#281
mpmdean wants to merge 3 commits into
petsc_edrixsfrom
fortran_backend

Conversation

@mpmdean

@mpmdean mpmdean commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

This PR does two things.

Firstly, add a Fortran backend where the same user-facing interface can be redirected to execute the Fortran. This presents a more convenient uniform front-facing interface for users allowing us to remove the somewhat bloated, duplicated scripting stuff from the user facing part of the codebase.

# Legacy Fortran interface.
'ed_1v1c_fort', 'xas_1v1c_fort', 'rixs_1v1c_fort',
'ed_2v1c_fort', 'xas_2v1c_fort', 'rixs_2v1c_fort',
'ed_siam_fort', 'xas_siam_fort', 'rixs_siam_fort',

]

Secondly it addressed as a portability issue. Previously, the calls into the Fortran happened almost exclusively with rights to disc. The only thing that was directly passed between Python and Fortran was the MPI communicator. Despite these layers being actually very separate, passing the MPI communicator forced the co-compilation of the Fortran and the NumPy. This made it very difficult to install.

With a little bit of orchestration within the code. It's possible for the Python to make a subroutine call to execute the Fortran. This should make the code trivially installable in all cases, but still allow the Fortran to run contingent only having the Fortran itself compiled.

mpmdean and others added 3 commits September 2, 2026 11:09
* models/ops legacy compatibility

changed initial Hilbert space to omit the filled core shell

* update basis shape test
@mpmdean
mpmdean requested review from lajerm and skarakuzu September 2, 2026 19:30
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