Skip to content

Three component phase separation for ultramassive white dwarfs - #860

Merged
evbauer merged 36 commits into
MESAHub:three_component_PSfrom
mcastrotapia:main
Sep 30, 2025
Merged

Three component phase separation for ultramassive white dwarfs#860
evbauer merged 36 commits into
MESAHub:three_component_PSfrom
mcastrotapia:main

Conversation

@mcastrotapia

Copy link
Copy Markdown

I added the files used in Castro-Tapia & Cumming (2025) to implement 3-species fractionation in white dwarf models. This includes the modified version of the phase_separation.f90 file and a directory in star/test_suite called wd_o_ne_3_phase to test the extension. Additionally, among the extensions of the phase_separation.f90, we added the isotope 22Ne to the previous O/Ne fractionation and fixed an inconsistency with the coordinate in mass of the solid core (see Appendix A of Castro-Tapia & Cumming, 2025).

Changed for the version in Castro-Tapia & Cumming (2025) to incorporate 3-species phase separation and 22Ne in the O/Ne fractionation
Copyright header added. Additionally, the mass coordinate of the solid core is corrected in this version of phase separation (see Appendix A of Castro-Tapia & Cumming, 2025)
inlist for running ultramassive WD models from Castro-Tapia & Cumming (2025)
Table for C/O/Mg delta_C
Table C/O/Mg delta_Mg
Table C/O/Ne delta_C
@evbauer

evbauer commented Sep 25, 2025

Copy link
Copy Markdown
Member

Thank you Matias! I'll need some time to review this code to make sure that I understand how it fits into MESA phase separation generally, but I'm happy to take a look and try to help resolve any issues that might come up.

We'll also want to mark all of the data files as git-lfs so that the git repository doesn't have to track very large diffs for those. https://docs.github.com/en/repositories/working-with-files/managing-large-files/configuring-git-large-file-storage

If you can push a commit to tag all of the .dat and .mod files here as git-lfs files, then I can change the target branch of the PR and go ahead and "squash and merge" this PR onto a testing branch here. Then we can continue to iterate by opening a new pull request onto that branch for any subsequent changes.

That may sound a bit convoluted, but the squashing + lfs files should allow us to avoid ever having very large diffs in the repository associated with this work, which I think will be worthwhile in the long run.

@evbauer
evbauer changed the base branch from main to three_component_PS September 25, 2025 22:13
@mcastrotapia

Copy link
Copy Markdown
Author

Hi Evan! Thank you for reviewing the pull request. I resubmitted the directory in the test_suite and marked all of the data files as git-lfs, so you can proceed. Please let me know if everything is okay :)

@evbauer

evbauer commented Sep 29, 2025

Copy link
Copy Markdown
Member

Great! I ran the checks before squashing/merging, and it looks like the fortran linter caught some white space issues that would be good to clean up. I think it basically just wants to get rid of indendations on a bunch of blank lines. https://github.com/MESAHub/mesa/actions/runs/18109299040/job/51538440098?pr=860

The builds are also failing because the git checkout is failing to recognize the lfs files properly. I'm pretty sure the fix for that is just to add the .dat files to the top level .gitattributes files by adding this line alongside all the other LFS files listed there:

star/test_suite/wd_o_ne_3_phase/*.dat filter=lfs diff=lfs merge=lfs -text

Can you push changes to fix those two issues and we'll try again with the checks?

@mcastrotapia

Copy link
Copy Markdown
Author

Hi Evan! I added the necessary files to .gitattributes. I hope it worked... I also eliminated the blank lines in the fortran files that were failing. Please let me know if the checks are okay now!

@evbauer

evbauer commented Sep 30, 2025

Copy link
Copy Markdown
Member

It looks like we're also getting some relatively minor compilation failures: https://github.com/MESAHub/mesa/actions/runs/18114085086/job/51547218693?pr=860#step:3:8836

The fortran linter is picking up a few other things (trailing white space, lines that are technically too long, .eq. would be better as ==, etc), but we can fix those later. I'm happy to go ahead with the squash/merge once we get this passing the compilation tests, and then we can continue with a new PR from the testing branch here.

@evbauer

evbauer commented Sep 30, 2025

Copy link
Copy Markdown
Member

Ah, I see now that we just lost a trailing underscore from end subroutine update_model_ in the latest commits, so I think compilation should be fine as soon as we get that one character back in there.

@mcastrotapia

Copy link
Copy Markdown
Author

Thanks, Evan! I added the underscore. Let's see if it works

@evbauer
evbauer merged commit 6f0a36a into MESAHub:three_component_PS Sep 30, 2025
3 of 4 checks passed
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