[fix] Fixed aerodynamic unittests

-changed FinSetCalc to output per-instance CNa
This commit is contained in:
Daniel_M_Williams 2017-12-25 15:26:44 -05:00
parent 1fac8818b5
commit 6289aef0ef
2 changed files with 5 additions and 11 deletions

View File

@ -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);

View File

@ -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);