Skip to content
This repository was archived by the owner on Aug 28, 2024. It is now read-only.

Commit

Permalink
Simplified the Fraggle position generation. The two largest bodies ar…
Browse files Browse the repository at this point in the history
…e always placed approximately where the original two bodies (or their equivalent) were.
  • Loading branch information
daminton committed Jan 31, 2023
1 parent c43cbd2 commit 1596c2c
Showing 1 changed file with 5 additions and 12 deletions.
17 changes: 5 additions & 12 deletions src/fraggle/fraggle_generate.f90
Original file line number Diff line number Diff line change
Expand Up @@ -311,21 +311,14 @@ module subroutine fraggle_generate_pos_vec(collider, nbody_system, param)
fragment_cloud_radius(:) = impactors%radius(:)
fragment_cloud_center(:,1) = impactors%rc(:,1)
fragment_cloud_center(:,2) = impactors%rc(:,2) + rdistance * impactors%bounce_unit(:)
else if (lsupercat) then
fragment_cloud_center(:,1) = impactors%rc(:,1)
fragment_cloud_center(:,2) = impactors%rc(:,2)
fragment_cloud_radius(:) = cloud_size_scale_factor * rdistance
else
fragment_cloud_center(:,1) = impactors%rbimp(:) - impactors%radius(1) * impactors%y_unit(:)
fragment_cloud_center(:,2) = impactors%rbimp(:) + impactors%radius(2) * impactors%y_unit(:)
fragment_cloud_center(:,1) = impactors%rbimp(:) - 1.001_DP * max(fragments%radius(1),impactors%radius(1)) * impactors%y_unit(:)
fragment_cloud_center(:,2) = impactors%rbimp(:) + 1.001_DP * max(fragments%radius(2),impactors%radius(2)) * impactors%y_unit(:)
fragment_cloud_radius(:) = cloud_size_scale_factor * rdistance
end if
if (lsupercat) then
istart = 1
else
fragments%rc(:,1) = fragment_cloud_center(:,1)
istart = 2
end if
fragments%rc(:,1) = fragment_cloud_center(:,1)
fragments%rc(:,2) = fragment_cloud_center(:,2)
istart = 3

do i = istart, nfrag
if (loverlap(i)) then
Expand Down

0 comments on commit 1596c2c

Please sign in to comment.