COSMIC-PopSynth / COSMIC

COSMIC (Compact Object Synthesis and Monte Carlo Investigation Code)
GNU General Public License v3.0
45 stars 58 forks source link

angular momentum conservation error #465

Open astroJeff opened 3 years ago

astroJeff commented 3 years ago

I've been frustrated by a feature of cosmic that I've recently noticed.

When you force all the mass lost by a donor to be accepted by an accretor, I'm finding that mass transfer from a less massive star onto a more massive star is causing the binary separation to shrink. This is the opposite of what should happen. After spending most of the day digging into this, I've found several terms that affect the orbital angular momentum, even during stable mass transfer. They are related to spin-orbit coupling terms:

  1. When mass is taken away from a donor, the angular momentum is added to the orbit.
  2. When mass is added to an accretor, angular momentum is taken away from the orbit (based on the specific J at L1).
  3. Tides will strongly affect a binary - particularly during mass transfer when R/a is large.
  4. There is a dJ/dt term which can affect the spin of a star accreting from the wind of its companion (Equation 11 in HPT 2002; lines 2849-2851 in evolv2.f).

It turns out that term 4 above is turned on even when the binary is in stable RLOF. I don't yet fully understand why, but the result is the system has a huge angular momentum sink, leading to a 0.2% angular momentum loss (from the combined system) per time step. When I set that dJ/dt term to zero by hand, the angular momentum conservation becomes consistent at the level of 1e-5 per time step. I also see the expected behavior in the orbital separation: that the binary expands when a less massive star is donating mass to a more massive star.

There may be some physical reason for including that dJ/dt term for wind accretion, but right now, it is causing more harm than good. I suggest that we comment out the relevant terms until we can come up with an improved prescription.

astroJeff commented 3 years ago

I forgot, I also had to set djorb=0 at line 2791 to achieve the angular momentum accuracy of 1e-5 above.

scottcoughlin2014 commented 3 years ago

409 is part of same problem