From 6289aef0ef8c9665e1b3e624e0eff842be3ad625 Mon Sep 17 00:00:00 2001 From: Daniel_M_Williams Date: Mon, 25 Dec 2017 15:26:44 -0500 Subject: [PATCH] [fix] Fixed aerodynamic unittests -changed FinSetCalc to output per-instance CNa --- .../aerodynamics/barrowman/FinSetCalc.java | 12 +++--------- .../sf/openrocket/aerodynamics/FinSetCalcTest.java | 4 ++-- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/core/src/net/sf/openrocket/aerodynamics/barrowman/FinSetCalc.java b/core/src/net/sf/openrocket/aerodynamics/barrowman/FinSetCalc.java index ceb68d502..156eea790 100644 --- a/core/src/net/sf/openrocket/aerodynamics/barrowman/FinSetCalc.java +++ b/core/src/net/sf/openrocket/aerodynamics/barrowman/FinSetCalc.java @@ -5,9 +5,6 @@ import static net.sf.openrocket.util.MathUtil.pow2; import java.util.Arrays; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import net.sf.openrocket.aerodynamics.AerodynamicForces; import net.sf.openrocket.aerodynamics.FlightConditions; import net.sf.openrocket.aerodynamics.Warning; @@ -23,9 +20,6 @@ import net.sf.openrocket.util.PolyInterpolator; public class FinSetCalc extends RocketComponentCalc { - /** logger for debugging*/ - private final static Logger logger = LoggerFactory.getLogger(FinSetCalc.class); - /** considers the stall angle as 20 degrees*/ private static final double STALL_ANGLE = (20 * Math.PI / 180); @@ -83,8 +77,8 @@ public class FinSetCalc extends RocketComponentCalc { } /* - * Calculates the non-axial forces produced by the fins (normal and side forces, - * pitch, yaw and roll moments, CP position, CNa). + * Calculates the non-axial forces produced by *one* *instance* of the fins. + * (normal and side forces, pitch, yaw and roll moments, CP position, CNa). */ @Override public void calculateNonaxialForces(FlightConditions conditions, @@ -130,7 +124,7 @@ public class FinSetCalc extends RocketComponentCalc { cna = cna1 * mul; } else { // Basic CNa assuming full efficiency - cna = cna1 * finCount / 2.0; + cna = cna1 / 2.0; } // logger.debug("Component cna = {}", cna); diff --git a/core/test/net/sf/openrocket/aerodynamics/FinSetCalcTest.java b/core/test/net/sf/openrocket/aerodynamics/FinSetCalcTest.java index 7eb12199f..0894d9c4a 100644 --- a/core/test/net/sf/openrocket/aerodynamics/FinSetCalcTest.java +++ b/core/test/net/sf/openrocket/aerodynamics/FinSetCalcTest.java @@ -63,7 +63,7 @@ public class FinSetCalcTest { double exp_cna_fins = 24.146933; double exp_cpx_fins = 0.0193484; - assertEquals(" FinSetCalc produces bad CNa: ", exp_cna_fins, forces.getCNa(), EPSILON); + assertEquals(" FinSetCalc produces bad CNa: ", exp_cna_fins, forces.getCNa()*fins.getInstanceCount(), EPSILON); assertEquals(" FinSetCalc produces bad C_p.x: ", exp_cpx_fins, forces.getCP().x, EPSILON); assertEquals(" FinSetCalc produces bad CN: ", 0.0, forces.getCN(), EPSILON); assertEquals(" FinSetCalc produces bad C_m: ", 0.0, forces.getCm(), EPSILON); @@ -97,7 +97,7 @@ public class FinSetCalcTest { double exp_cna_fins = 32.195911; double exp_cpx_fins = 0.0193484; - assertEquals(" FinSetCalc produces bad CNa: ", exp_cna_fins, forces.getCNa(), EPSILON); + assertEquals(" FinSetCalc produces bad CNa: ", exp_cna_fins, forces.getCNa()*fins.getFinCount(), EPSILON); assertEquals(" FinSetCalc produces bad C_p.x: ", exp_cpx_fins, forces.getCP().x, EPSILON); assertEquals(" FinSetCalc produces bad CN: ", 0.0, forces.getCN(), EPSILON); assertEquals(" FinSetCalc produces bad C_m: ", 0.0, forces.getCm(), EPSILON);