From 5d220723eb4e7c7e66453977f2f1f2301be812dd Mon Sep 17 00:00:00 2001 From: MathieuVenet Date: Tue, 4 Mar 2025 10:55:17 +0100 Subject: [PATCH 1/4] Update evolv2.f --- src/cosmic/src/evolv2.f | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/cosmic/src/evolv2.f b/src/cosmic/src/evolv2.f index 2b98633a..8ea68e46 100644 --- a/src/cosmic/src/evolv2.f +++ b/src/cosmic/src/evolv2.f @@ -1824,7 +1824,12 @@ SUBROUTINE evolv2(kstar,mass,tb,ecc,z,tphysf, * 7 km0 = dtm0*1.0d+03/tb if(km0.lt.tiny) km0 = 0.5d0 -* + +* Check for collision at periastron for a stable RLOF + pd = sep*(1.d0 - ecc) + if(pd.lt.(rad(1)+rad(2))) goto 130 + +* * Force co-rotation of primary and orbit to ensure that the tides do not * lead to unstable Roche (not currently used). * @@ -2520,6 +2525,7 @@ SUBROUTINE evolv2(kstar,mass,tb,ecc,z,tphysf, & formation(2),binstate,mergertype,'bpp') * epoch(j1) = tphys - aj(j1) + com = .false. if(coel)then com = .true. goto 135 @@ -3556,6 +3562,11 @@ SUBROUTINE evolv2(kstar,mass,tb,ecc,z,tphysf, CALL star(kw,m0,mt,tm,tn,tscls,lums,GB,zpars) CALL hrdiag(m0,age,mt,tm,tn,tscls,lums,GB,zpars, & rm,lum,kw,mc,rc,me,re,k2,bhspin(k),k) + pd = sep*(1.d0 - ecc) + if(pd.lt.(rad(1)+rad(2))) goto 130 + + + * * Check for a supernova and correct the semi-major axis if so. * From 7a2a2b139612cd36e002d46908fe9eef2b4560aa Mon Sep 17 00:00:00 2001 From: MathieuVenet Date: Wed, 12 Mar 2025 17:40:13 +0100 Subject: [PATCH 2/4] Update evolv2.f --- src/cosmic/src/evolv2.f | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/cosmic/src/evolv2.f b/src/cosmic/src/evolv2.f index 8ea68e46..083b6c7b 100644 --- a/src/cosmic/src/evolv2.f +++ b/src/cosmic/src/evolv2.f @@ -2454,14 +2454,13 @@ SUBROUTINE evolv2(kstar,mass,tb,ecc,z,tphysf, * evolve_type = 8.0 - age = tphys - epoch(1) + mc = massc(1) rc = radc(1) CALL star(kstar(1),mass0(1),mass(1),tm,tn,tscls,lums,GB,zpars) - CALL hrdiag(mass0(1),age,mass(1),tm,tn,tscls,lums,GB,zpars, + CALL hrdiag(mass0(1),aj(1),mass(1),tm,tn,tscls,lums,GB,zpars, & rm,lum,kstar(1),mc,rc,me,re,k2,bhspin(1),1) - aj(1) = age - epoch(1) = tphys - age + rad(1) = rm lumin(1) = lum massc(1) = mc @@ -2469,14 +2468,13 @@ SUBROUTINE evolv2(kstar,mass,tb,ecc,z,tphysf, menv(1) = me renv(1) = re - age = tphys - epoch(2) + mc = massc(2) rc = radc(2) CALL star(kstar(2),mass0(2),mass(2),tm,tn,tscls,lums,GB,zpars) - CALL hrdiag(mass0(2),age,mass(2),tm,tn,tscls,lums,GB,zpars, + CALL hrdiag(mass0(2),aj(2),mass(2),tm,tn,tscls,lums,GB,zpars, & rm,lum,kstar(2),mc,rc,me,re,k2,bhspin(2),2) - aj(2) = age - epoch(2) = tphys - age + rad(2) = rm lumin(2) = lum massc(2) = mc From b39d9351787c4eb4b352003614b909a199f5f45b Mon Sep 17 00:00:00 2001 From: MathieuVenet Date: Tue, 1 Apr 2025 12:47:50 +0200 Subject: [PATCH 3/4] Add files via upload --- .../tests/data/kick_initial_conditions.h5 | Bin 14047 -> 16095 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/cosmic/tests/data/kick_initial_conditions.h5 b/src/cosmic/tests/data/kick_initial_conditions.h5 index a71f7b111fb35a5a4f3971a33535617094d5d7cc..001e7083a30a0353fa9abf8c7de99ab864f01241 100644 GIT binary patch delta 359 zcmcbgd%t#qCZpZtKz*@|4rvmMER&Z@ESz{?!Q^-|fz3Z8`IrS&92mer4?;WCZx)v= z<78x-*e@x$KmsBMr5N^GLHHIMH$G>S@^Ezw0P#0K1Q{}*^n3Ho2Q}pQBpDf485lug zU;;#OfK@O~c4T#wyl)3l4iST}LF9~y8<$Q#uMwb_n^;^NZ^*y^rj6jHFnB=KI!xSX jPQZ@mxb2urK9*HO&l1&Ko3esZWfm< f}BRdlpBZR|nTx0V=4LLpl%MliR From fed98d23e27140a112341126a3cd65dcdb686556 Mon Sep 17 00:00:00 2001 From: MathieuVenet Date: Tue, 1 Apr 2025 12:49:01 +0200 Subject: [PATCH 4/4] Update test_evolve.py --- src/cosmic/tests/test_evolve.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cosmic/tests/test_evolve.py b/src/cosmic/tests/test_evolve.py index 81a86753..11acb19d 100644 --- a/src/cosmic/tests/test_evolve.py +++ b/src/cosmic/tests/test_evolve.py @@ -105,4 +105,4 @@ def test_ejection_velocity_pfahl(self): EvolvedBinaryBPP, EvolvedBinaryBCM, initCond, kick_info = Evolve.evolve( initialbinarytable=KICK_INITC) - self.assertAlmostEqual(kick_info['vsys_2_total'].iloc[0], 17.322114, places=5) + self.assertAlmostEqual(kick_info['vsys_2_total'].iloc[0], 482.346136, places=5)