From 449e983d76aeba703aea47cd6e1970cc92066112 Mon Sep 17 00:00:00 2001 From: graham Date: Thu, 16 Jul 2009 10:29:00 +0100 Subject: [PATCH] Modifying rampHoldFall for non 0 startTime values and a check for startTime = endTime. --- .../relaxationModel/rampHoldFall/rampHoldFall.C | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/conformalVoronoiMesh/relaxationModel/rampHoldFall/rampHoldFall.C b/src/conformalVoronoiMesh/relaxationModel/rampHoldFall/rampHoldFall.C index f63affef74..6e2b33fa06 100644 --- a/src/conformalVoronoiMesh/relaxationModel/rampHoldFall/rampHoldFall.C +++ b/src/conformalVoronoiMesh/relaxationModel/rampHoldFall/rampHoldFall.C @@ -65,19 +65,28 @@ scalar rampHoldFall::relaxation() { scalar t = cvMesh_.time().timeOutputValue(); + scalar tStart = cvMesh_.time().startTime().value(); scalar tEnd = cvMesh_.time().endTime().value(); + scalar tSpan = tStart - tEnd; - if (t < rampEndFraction_*tEnd) + if (tSpan < VSMALL) + { + return rampStartRelaxation_; + } + + if (t - tStart < rampEndFraction_*tSpan) { // Ramp - return rampGradient_*(t/tEnd) + rampStartRelaxation_; + return rampGradient_*((t - tStart)/tSpan) + rampStartRelaxation_; } - else if (t > fallStartFraction_*tEnd) + else if (t - tStart > fallStartFraction_*tSpan) { // Fall - return fallGradient_*(t/tEnd) + fallEndRelaxation_ - fallGradient_; + return + fallGradient_*((t - tStart)/tSpan) + + fallEndRelaxation_ - fallGradient_; } else {