Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions docs/source/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@ MESA no longer stops when reactions for which special rates are set are not in t
Bug Fixes
---------

The plasma neutrino cooling rate was using an hardcoded prefactor calculated with a Weinberg angle of 0.2319, while all other neutrino cooling processes used calculated prefactors taking the Weinberg angle as input, with default value 0.22290.
Thus, modifying the value of the Weinberg angle resulted in changes to neutrino cooling processes except for the plasma neutrinos.
This was the case in all previous MESA versions, and was found and fixed by user Garv Chauhan, see `gh-998 https://github.com/MESAHub/mesa/pull/998`_. Plasma neutrinos now use the same Weinberg angle as all other processes and changing its value will affect the corresponding cooling rate.
The change in default Weinberg angle results in small numerical differences for stars where plasma neutrino cooling is significant.


The parameter ``report_max_infall_inside_fe_core`` was ignored in versions r25.12.1 and r26.4.1 and always had it's default value. See `gh-981 https://github.com/MESAHub/mesa/pull/981`_.

``fe_core_infall_limit`` now obeys ``when_to_stop_rtol`` and ``when_to_stop_atol`` again (broken since r11532).
Expand Down
13 changes: 7 additions & 6 deletions neu/private/mod_neu.f90
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ module mod_neu
real(dp), parameter :: cvp = 1.0d0 - cv
real(dp), parameter :: ca = 0.5d0
real(dp), parameter :: cap = 1.0d0 - ca
real(dp), parameter :: tfac0 = cv*cv + (num_neu_fam-1.0d0) * (cvp*cvp)
real(dp), parameter :: tfac1 = cv*cv + ca*ca + (num_neu_fam-1.0d0) * (cvp*cvp+cap*cap)
real(dp), parameter :: tfac2 = cv*cv - ca*ca + (num_neu_fam-1.0d0) * (cvp*cvp - cap*cap)
real(dp), parameter :: tfac3 = tfac2/tfac1
Expand Down Expand Up @@ -237,13 +238,13 @@ subroutine neutrinos(T, logT, Rho, logRho, abar, zbar, log10_Tlim, &
temp = T
end if

if (T <= 0) then
if (temp <= 0) then
info = -1
return
end if

if (logT == arg_not_provided) then
logtemp = log10(T)
logtemp = log10(temp)
else
logtemp = logT
end if
Expand All @@ -263,13 +264,13 @@ subroutine neutrinos(T, logT, Rho, logRho, abar, zbar, log10_Tlim, &
den = Rho
end if

if (Rho <= 0) then
if (den <= 0) then
info = -1
return
end if

if (logRho == arg_not_provided) then
logden = log10(Rho)
logden = log10(den)
else
logden = logRho
end if
Expand Down Expand Up @@ -1579,8 +1580,8 @@ subroutine plas_neu(splas,splasdt,splasdd,splasda,splasdz, input)
splasdz = a2*splasdz + a3*gl2dz*a1


a2 = 0.93153d0 * 3.0d21 * input% xl9
a3 = 0.93153d0 * 3.0d21 * 9.0d0*input% xl8*input% xldt
a2 = tfac0 * 3.0d21 * input% xl9
a3 = tfac0 * 3.0d21 * 9.0d0*input% xl8*input% xldt

a1 = splas
splas = a2*a1
Expand Down
Loading