[Mesa-users] Question about GR corrections for SMS
Bill Paxton
paxton at kitp.ucsb.edu
Sun Jul 26 12:01:45 EDT 2020
Hi Nick,
As you know, mesa currently supports a simpler form of GR corrections:
!### use_gr_factors
! GR corrections. Currently just for pressure equation.
! GR gravity factor = 1/sqrt(1-2Gm/(rc^2))
use_gr_factors = .false.
You have changed of this term of the correction to 1/(1 - 2Gm/(rc^2)). You’ve approximated away the sqrt, but didn’t drop the factor of 2 as I would have expected. Is that a bug? Or do I have a bug in mesa?
Also, I’ve been told that the other corrections you’ve included are not significant for situations expected in mesa (at least until we try to do neutron star interiors!). Could you please provide numbers to show that in fact those extra terms are important for a plausible application in mesa (such as neutron star surface as opposed to interior) and that limiting the correction to the term GR gravity factor currently implemented in mesa would be significantly wrong.
thanks,
Bill
> On Jul 26, 2020, at 8:26 AM, Nicholas Herrington via Mesa-users <mesa-users at lists.mesastar.org> wrote:
>
> Hi
> I have transferred the corrections from the source code to the other_cgrav subroutine in the run_star_extras.f, as you suggested.
> When implementing the TOV corrections to G in the source code I added a few extra terms onto G = s% cgrav(k) to form G = s% cgrav(k)*Grel, where Grel is a function of the pressure, density, mass and radius. In my run_star extras.f I initially copied my Grel(P(k),rho(k),M(k),R(k)) into the subroutine other_cgrav, under s% cgrav(:) = standard_cgrav*Grel (where previously s% cgrav(:) = standard_cgrav). This did not work, so I presume I needed to iterate this throughout all the zones of the star. I have attached what I've got so far and from my tests and tweaks the results of this subroutine are close to what has been done before with this TOV implementation in other stellar evolution codes (final masses around 10^5 Msun).
> I am still new to FORTRAN and my understanding of the loop I have made so far is that after each step of the code the loop evaluates G from 1 up to the current number of zones of the star, appends this to cgrav(:) as a list or array, which is then fed into the stellar equations? However I am not sure this is the case as each time I run the same star with same controls inlist, the final mass of the star changes significantly. With my source code implementation the star would consistently stop at ~110,000 Msun (accreting at 1 Msun/yr) when the timesteps drop significantly below the dt limit, which is expected for a supermassive star at this accretion rate. Additionally depending on the number of isotopes in the nuclear network the final mass changes significantly as well which wasn't previously the case with the source code changes. Other work with the TOV corrections to G in the KEPLER code show consistent final masses of ~200,000 Msun, which also leads me to believe I am doing something wrong in my subroutine.
> I would really appreciate any comments and feedback on whether the subroutine is computing Grel in the right way. Below is the TOV approximations to G I am looking to implement, <aepgpaknhdgjjhfh.png>
>
> Here is the subroutine I have created so far to try and compute this,<jflkhccofibpbple.png>
> ('real (dp) :: Mass, Rad, Pr, rho' were previously in the subroutine, but have been removed now please ignore them).
>
> I have attached the run_star_extras.f, inlist_1Mdot for the controls and images of Grel and the other_cgrav subroutine named 'TOV_cgrav'.
>
> Thanks
> Nick
> On 23/06/2020 16:06, Rob Farmer wrote:
>> Hi
>> Please keep all replies on mesa-users so others can learn and/or help.
>>
>> You should never need to alter the f90 source files (except your run_star_extras.f90). Mesa has the concept of "hooks" which can change the internal physics without needing to alter the mesa source code.
>>
>> In this case look at the routine in star/other/other_cgrav.f90. If you follow the instructions you can alter G however you want. This has the advantage that it ensures that all occurrences of G have your corrections applied.
>>
>> You can then call your routine again from your run_star_extras.f90 in the data_for_extra_profile_columns function to save the values to the profile file.
>>
>> Rob
>>
>>
>> On Tue, 23 Jun 2020 at 16:55, Nicholas Herrington <Nicholas.Herrington at myport.ac.uk <mailto:Nicholas.Herrington at myport.ac.uk>> wrote:
>> Hi Rob
>>
>> Sorry for the very late reply, I haven't been able to access my work machine in a while. After coming back to it, I have not been able to replicate the 10^6 Msun run in version 11701 (only 500-800x10^5). I spoke to others in the field and they have said that without the GR corrections these stars don't necessarily have to reach 10^6 Msun.
>>
>> Since the 12778 doesn't have post-Newtonian corrections to the G, I have added the corrections to G within the subroutine associated to 'use_gr_factors' (within the hydro_reconstruct.f90). Instead of 'G = cgrav*gr_factors', I have added my own 'G = cgrav*Grel'. How can I output Grel and G in my profiles or history.data? Also is there a better way for me to correct G rather than changing the f90 files?
>>
>> Thanks
>> Nick
>>
>> On Fri, 15 May 2020 at 18:35, Rob Farmer <r.j.farmer at uva.nl <mailto:r.j.farmer at uva.nl>> wrote:
>> Hi,
>>
>> >Is there anything along the lines of the TOV approximation? Was use_gr_factors intended for SMS?
>>
>> No only the changes to s% grav are implemented.
>>
>> > which is why I wonder if the new version has this.
>>
>> It is still there in 12778. But lots of other things will have changed between versions, which may be stopping the star from getting to 10^6msun (which is what i interpret your saying is the problem?). Or maybe you've stumbled on a bug, it would be helpful if you could make a small test case that shows this problem.
>>
>> Rob
>>
>>
>>
>> On Fri, 15 May 2020 at 18:59, Nicholas Herrington via Mesa-users <mesa-users at lists.mesastar.org <mailto:mesa-users at lists.mesastar.org>> wrote:
>> Hi,
>>
>> I am evolving some supermassive primordial stars (SMS) with accretion rates up to 1 Msun/yr. In the newest version of MESA is there general relativistic correction to G for SMS. I have found the control use_gr_factors with corrections to cgrav along the lines of (1-2GM/rc^2)^-0.5. Is there anything along the lines of the TOV approximation? Was use_gr_factors intended for SMS?
>>
>> I was running a SMS with version r11701 and with use_gr_factors off I get results exceeding 10^6 Msun which is expected, but with version r12778 and the same inlist (use_gr_factors = .false.), the star reaches 10^5. This is close to the final mass of the same star from other stellar evolution codes with post-newtonian corrections to G, which is why I wonder if the new version has this.
>>
>> Thanks
>> Nick
> <run_star_extras.f><Grel.png><inlist_1Mdot.txt><runstarGrel.png>_______________________________________________
> mesa-users at lists.mesastar.org
> https://lists.mesastar.org/mailman/listinfo/mesa-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.mesastar.org/pipermail/mesa-users/attachments/20200726/b1bc5b25/attachment.htm>
More information about the Mesa-users
mailing list