From 515b00cb79be1283dac796f46492db073d474143 Mon Sep 17 00:00:00 2001 From: Carlisle Wishard Date: Fri, 4 Jun 2021 10:24:36 -0400 Subject: [PATCH 1/3] symba_frag_pos fixed failure criteria --- src/symba/symba_frag_pos.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/symba/symba_frag_pos.f90 b/src/symba/symba_frag_pos.f90 index 41b0b9320..1e59a50ae 100644 --- a/src/symba/symba_frag_pos.f90 +++ b/src/symba/symba_frag_pos.f90 @@ -99,7 +99,7 @@ subroutine symba_frag_pos(param, symba_plA, family, x, v, L_spin, Ip, mass, radi if (lmerge) write(*,*) 'Failed to find radial velocities' if (.not.lmerge) then call calculate_system_energy(linclude_fragments=.true.) - if ((abs(dEtot / Etot_before) < Qloss) .or. (dEtot > 0.0_DP)) then + if ((abs(dEtot - Qloss) / Qloss > Etol) .or. (dEtot > 0.0_DP)) then write(*,*) 'Failed due to high energy error: ', abs(dEtot / Etot_before) lmerge = .true. else if (abs(dLmag) > Ltol) then From e73f9d71858758b9f31b0b546ac2a52bd8375c0f Mon Sep 17 00:00:00 2001 From: Carlisle Wishard Date: Fri, 4 Jun 2021 10:25:32 -0400 Subject: [PATCH 2/3] symba_frag_pos removed unneeded energy after scaling --- src/symba/symba_frag_pos.f90 | 7 ------- 1 file changed, 7 deletions(-) diff --git a/src/symba/symba_frag_pos.f90 b/src/symba/symba_frag_pos.f90 index 1e59a50ae..7d8757e90 100644 --- a/src/symba/symba_frag_pos.f90 +++ b/src/symba/symba_frag_pos.f90 @@ -182,13 +182,6 @@ subroutine set_scale_factors() ke_orbit_before = ke_orbit_before / Escale Ltot_before = Ltot_before / Lscale Lmag_before = Lmag_before / Lscale - Etot_after = Etot_after / Escale - pe_after = pe_after / Escale - ke_spin_after = ke_spin_after / Escale - ke_orbit_after = ke_orbit_after / Escale - Ltot_after = Ltot_after / Lscale - Lmag_after = Lmag_after / Lscale - return end subroutine set_scale_factors From 519f07de032d889cd5f4419f63b3ae2e12b566ee Mon Sep 17 00:00:00 2001 From: Carlisle Wishard Date: Fri, 4 Jun 2021 10:27:21 -0400 Subject: [PATCH 3/3] symba_frag_pos updated failure reporting --- src/symba/symba_frag_pos.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/symba/symba_frag_pos.f90 b/src/symba/symba_frag_pos.f90 index 7d8757e90..d2b756016 100644 --- a/src/symba/symba_frag_pos.f90 +++ b/src/symba/symba_frag_pos.f90 @@ -100,7 +100,7 @@ subroutine symba_frag_pos(param, symba_plA, family, x, v, L_spin, Ip, mass, radi if (.not.lmerge) then call calculate_system_energy(linclude_fragments=.true.) if ((abs(dEtot - Qloss) / Qloss > Etol) .or. (dEtot > 0.0_DP)) then - write(*,*) 'Failed due to high energy error: ', abs(dEtot / Etot_before) + write(*,*) 'Failed due to high energy error: ', (abs(dEtot) - Qloss) / Qloss lmerge = .true. else if (abs(dLmag) > Ltol) then write(*,*) 'Failed due to high angular momentum error: ', dLmag