diff --git a/src/collision/collision_util.f90 b/src/collision/collision_util.f90 index bdbf35fb9..19a688c8a 100644 --- a/src/collision/collision_util.f90 +++ b/src/collision/collision_util.f90 @@ -833,8 +833,8 @@ module subroutine collision_util_set_natural_scale_factors(self) associate(collider => self, fragments => self%fragments, impactors => self%impactors) ! Set primary scale factors (mass, length, and time) based on the impactor properties at the time of collision - collider%mscale = minval(fragments%mass(:)) - collider%dscale = minval(fragments%radius(:)) + collider%mscale = minval(impactors%mass(:)) + collider%dscale = minval(impactors%radius(:)) vesc = sqrt(2 * sum(impactors%Gmass(:)) / sum(impactors%radius(:))) collider%tscale = collider%dscale / vesc diff --git a/src/fraggle/fraggle_generate.f90 b/src/fraggle/fraggle_generate.f90 index 554da1d31..5dac7024f 100644 --- a/src/fraggle/fraggle_generate.f90 +++ b/src/fraggle/fraggle_generate.f90 @@ -682,7 +682,7 @@ module subroutine fraggle_generate_vel_vec(collider, nbody_system, param, lfailu if (all(dL_metric(:) <= 1.0_DP)) exit angmtm do i = istart, fragments%nbody - dL(:) = -L_residual(:) / (fragments%nbody - istart + 1) + dL(:) = -L_residual(:) * fragments%mass(i) / sum(fragments%mass(istart:fragments%nbody)) call collision_util_velocity_torque(dL, fragments%mass(i), fragments%rc(:,i), fragments%vc(:,i)) call collision_util_shift_vector_to_origin(fragments%mass, fragments%vc) fragments%vmag(i) = .mag.fragments%vc(:,i)