From: Bill Kuker Date: Wed, 15 Apr 2009 18:27:59 +0000 (+0000) Subject: Fixed error in side view X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=11ddaba05defc6fb1fcee9838d48ba5b7c6064df;p=sw%2Fmotorsim Fixed error in side view Fixed error in area calc - was double counting ends --- diff --git a/src/com/billkuker/rocketry/motorsim/grain/CoredCylindricalGrain.java b/src/com/billkuker/rocketry/motorsim/grain/CoredCylindricalGrain.java index cc67b0b..f0d94f6 100644 --- a/src/com/billkuker/rocketry/motorsim/grain/CoredCylindricalGrain.java +++ b/src/com/billkuker/rocketry/motorsim/grain/CoredCylindricalGrain.java @@ -66,9 +66,9 @@ public class CoredCylindricalGrain extends ExtrudedGrain implements MotorPart.Va Amount outer = cOD.times(Math.PI).times(cLength).to(SI.SQUARE_METRE); - Amount ends = (cOD.divide(2).pow(2).times(Math.PI)).minus(cID.divide(2).pow(2).times(Math.PI)).times(2).to(SI.SQUARE_METRE); + Amount end = (cOD.divide(2).pow(2).times(Math.PI)).minus(cID.divide(2).pow(2).times(Math.PI)).to(SI.SQUARE_METRE); - Amount total = inner.times(innerSurfaceInhibited?0:1).plus(outer.times(outerSurfaceInhibited?0:1)).plus(ends.times(numberOfBurningEnds(regression))); + Amount total = inner.times(innerSurfaceInhibited?0:1).plus(outer.times(outerSurfaceInhibited?0:1)).plus(end.times(numberOfBurningEnds(regression))); return total; } @@ -214,7 +214,7 @@ public class CoredCylindricalGrain extends ExtrudedGrain implements MotorPart.Va if ( isForeEndInhibited() && !isAftEndInhibited() ) top = -length/2; else if ( isAftEndInhibited() && !isForeEndInhibited() ) - top = length-lmm; + top = length/2-lmm; a.add( new java.awt.geom.Area(new Rectangle2D.Double(-oDmm/2,top,oDmm, lmm))); a.subtract( new java.awt.geom.Area(new Rectangle2D.Double(-iDmm/2,-length/2,iDmm, length)));