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

Commit

Permalink
Fixed volatile association of nfrag variable. Also cleaned up some fo…
Browse files Browse the repository at this point in the history
…rmatting
  • Loading branch information
daminton committed Jan 6, 2023
1 parent f0dca45 commit 80c7f8c
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 12 deletions.
5 changes: 3 additions & 2 deletions src/fraggle/fraggle_generate.f90
Original file line number Diff line number Diff line change
Expand Up @@ -371,7 +371,7 @@ module subroutine fraggle_generate_vel_vec(collider, lfailure)
class(collision_fraggle), intent(inout) :: collider !! Fraggle collision system object
logical, intent(out) :: lfailure !! Did the velocity computation fail?
! Internals
integer(I4B) :: i, j, loop, try, istart, n, ndof
integer(I4B) :: i, j, loop, try, istart, n, ndof, nfrag
logical :: lhitandrun, lsupercat
real(DP), dimension(NDIM) :: vimp_unit, rimp, vrot, Lresidual, vshear, vunit
real(DP) :: vmag, vesc, rotmag, E_residual, ke_per_dof, ke_tot, E_residual_min
Expand All @@ -382,7 +382,8 @@ module subroutine fraggle_generate_vel_vec(collider, lfailure)
real(DP), parameter :: TOL = 1e-6
class(collision_fragments(:)), allocatable :: fragments

associate(impactors => collider%impactors, nfrag => collider%fragments%nbody)
associate(impactors => collider%impactors)
nfrag = collider%fragments%nbody
lhitandrun = (impactors%regime == COLLRESOLVE_REGIME_HIT_AND_RUN)
lsupercat = (impactors%regime == COLLRESOLVE_REGIME_SUPERCATASTROPHIC)

Expand Down
20 changes: 10 additions & 10 deletions src/fraggle/fraggle_util.f90
Original file line number Diff line number Diff line change
Expand Up @@ -260,8 +260,8 @@ module subroutine fraggle_util_set_natural_scale_factors(self)
impactors%Gmass(:) = impactors%Gmass(:) / (collider%dscale**3/collider%tscale**2)
impactors%Mcb = impactors%Mcb / collider%mscale
impactors%radius(:) = impactors%radius(:) / collider%dscale
impactors%L_spin(:,:) = impactors%L_spin(:,:) / collider%Lscale
impactors%L_orbit(:,:) = impactors%L_orbit(:,:) / collider%Lscale
impactors%L_spin(:,:) = impactors%L_spin(:,:) / collider%Lscale
impactors%L_orbit(:,:) = impactors%L_orbit(:,:) / collider%Lscale

do concurrent(i = 1:2)
impactors%rot(:,i) = impactors%L_spin(:,i) / (impactors%mass(i) * impactors%radius(i)**2 * impactors%Ip(3,i))
Expand Down Expand Up @@ -309,8 +309,8 @@ module subroutine fraggle_util_set_original_scale_factors(self)
impactors%vb = impactors%vb * collider%vscale
impactors%rc = impactors%rc * collider%dscale
impactors%vc = impactors%vc * collider%vscale
impactors%L_spin = impactors%L_spin * collider%Lscale
impactors%L_orbit = impactors%L_orbit * collider%Lscale
impactors%L_spin = impactors%L_spin * collider%Lscale
impactors%L_orbit = impactors%L_orbit * collider%Lscale
do concurrent(i = 1:2)
impactors%rot(:,i) = impactors%L_spin(:,i) * (impactors%mass(i) * impactors%radius(i)**2 * impactors%Ip(3,i))
end do
Expand All @@ -329,12 +329,12 @@ module subroutine fraggle_util_set_original_scale_factors(self)

collider%L_orbit(:,:) = collider%L_orbit(:,:) * collider%Lscale
collider%L_spin(:,:) = collider%L_spin(:,:) * collider%Lscale
collider%L_total(:,:) = collider%L_total(:,:) * collider%Lscale
collider%ke_orbit(:) = collider%ke_orbit(:) * collider%Escale
collider%ke_spin(:) = collider%ke_spin(:) * collider%Escale
collider%pe(:) = collider%pe(:) * collider%Escale
collider%be(:) = collider%be(:) * collider%Escale
collider%te(:) = collider%te(:) * collider%Escale
collider%L_total(:,:) = collider%L_total(:,:) * collider%Lscale
collider%ke_orbit(:) = collider%ke_orbit(:) * collider%Escale
collider%ke_spin(:) = collider%ke_spin(:) * collider%Escale
collider%pe(:) = collider%pe(:) * collider%Escale
collider%be(:) = collider%be(:) * collider%Escale
collider%te(:) = collider%te(:) * collider%Escale

collider%mscale = 1.0_DP
collider%dscale = 1.0_DP
Expand Down

0 comments on commit 80c7f8c

Please sign in to comment.