From 1ce5824e8bfaaabb33d411e5381b2a5394ca278c Mon Sep 17 00:00:00 2001 From: daminton Date: Sat, 21 Jan 2017 01:13:19 +0000 Subject: [PATCH] Changed crater emplace algorithm to better conserve mass --- src/crater/crater_form_exterior_rootfind.f90 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/crater/crater_form_exterior_rootfind.f90 b/src/crater/crater_form_exterior_rootfind.f90 index 5493e50f..03aeb828 100644 --- a/src/crater/crater_form_exterior_rootfind.f90 +++ b/src/crater/crater_form_exterior_rootfind.f90 @@ -50,7 +50,10 @@ subroutine crater_form_exterior_rootfind(user,surf,crater,domain,deltaMtot) ! Executable code if (abs(deltaMtot) < VSMALL) return - if (deltaMtot > 0._DP) return + if (deltaMtot > 0._DP) then + write(*,*) 'Too much mass already! Skipping exterior raised rim.',crater%fcratpx + return + end if lastloop = .false. factor = FIRSTFACTOR startrd = RIMDROP @@ -108,7 +111,7 @@ subroutine crater_form_exterior_rootfind(user,surf,crater,domain,deltaMtot) end if Tol1 = 2 * FPP * abs(BB) + 0.5_DP * Tolerance xm = 0.5_DP * (CC-BB) - if ((abs(xm) <= Tol1).or.(abs(FA) < nearzero)) then + if ((abs(xm) <= Tol1).or.(abs(FB) < nearzero)) then ! A root has been found rd = BB lastloop = .true. @@ -155,7 +158,7 @@ subroutine crater_form_exterior_rootfind(user,surf,crater,domain,deltaMtot) end do if (i >= maxIterations) error = -2 end if - !write(*,'(I4,4F19.12)') niter,rd,RIMDROP + !write(*,'(I4,4F19.12)') niter,rd,RIMDROP,deltaMp !read(*,*) return