From b190d037e14b1325b5840a894ac431dab0b96abf Mon Sep 17 00:00:00 2001 From: David A Minton Date: Mon, 26 Dec 2022 08:50:12 -0500 Subject: [PATCH] Improved disruptive hit and run by removing the velocity dispersion of runner fragments (kept the rotational shear though) --- src/collision/collision_generate.f90 | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/collision/collision_generate.f90 b/src/collision/collision_generate.f90 index 16e0c39b7..3683346fb 100644 --- a/src/collision/collision_generate.f90 +++ b/src/collision/collision_generate.f90 @@ -559,15 +559,20 @@ module subroutine collision_generate_simple_vel_vec(collider) fragments%vc(:,1) = .mag.impactors%vc(:,1) * impactors%bounce_unit(:) do concurrent(i = 2:nfrag) - rimp(:) = fragments%rc(:,i) - impactors%rbimp(:) - vimp_unit(:) = .unit. rimp(:) j = fragments%origin_body(i) vrot(:) = impactors%rot(:,j) .cross. (fragments%rc(:,i) - impactors%rb(:,j) + impactors%rbcom(:)) vmag = .mag.impactors%vc(:,j) * vscale(i) - fragments%vc(:,i) = vmag * 0.5_DP * (impactors%bounce_unit(:) + vimp_unit(:)) * vsign(i) + vrot(:) + if (lhitandrun) then + fragments%vc(:,i) = vmag * 0.5_DP * impactors%bounce_unit(:) * vsign(i) + vrot(:) + else + ! Add more velocity dispersion to disruptions vs hit and runs. + rimp(:) = fragments%rc(:,i) - impactors%rbimp(:) + vimp_unit(:) = .unit. rimp(:) + fragments%vc(:,i) = vmag * 0.5_DP * (impactors%bounce_unit(:) + vimp_unit(:)) * vsign(i) + vrot(:) + end if end do do concurrent(i = 1:nfrag) fragments%vb(:,i) = fragments%vc(:,i) + impactors%vbcom(:)