Beispiel #1
0
//-----------------------------------------------------------------------------
// TestMatrixAdd_MM
//-----------------------------------------------------------------------------
bool TestMatrixAdd_MM()
{
   Matrix A("1,2,3;4,5,6");
   Matrix B("1,0,1;0,0,1");
   Matrix C;
   Add_MM(A,B,C);
   Matrix ApB("2,2,4;4,5,7");

   return ApproxEqual(C,ApB,TOLERANCE);
}
Beispiel #2
0
inline void RocketGeometry::Display()
{
   double v = 30;
   double t = 273.15 + 20;
   double rho = 1.225;
   double r = Reynolds(rho, v, ltr, t);
   double a = 0.01;
   double m = Mach(v, t);
   double cf = ViscousDrag(r);
   double xcp = Xcp(a);
   double cn = Cn(a, r, m);
   double ca = Ca(a, r, m, cn);

   std::cout << "Rocket Geometry: "
      << "\n\nPlanform Areas"
      << "\n - ApN: " << ApN()
      << "\n - ApB: " << ApB()
      << "\n - ApT: " << ApT()
      << "\n - ApF: " << ApF()
      << "\n - Afe: " << Afe()
      << "\n - Afp: " << Afp()
      << "\n\nStability Derivatives"
      << "\n - CnaN: " << NCnaN()
      << "\n - CnaB: " << NCnaB()
      << "\n - CnaT: " << NCnaT()
      << "\n - CnaF: " << NCnaF()
      << "\n\nNorm Force CP"
      << "\n - NcpN: " << NXcpN()
      << "\n - NcpB: " << NXcpB()
      << "\n - NcpT: " << NXcpT()
      << "\n - NcpF: " << NXcpF()
      << "\n\nLift Force CP"
      << "\n - LcpN: " << LXcpN()
      << "\n - LcpB: " << LXcpB()
      << "\n - LcpT: " << LXcpT()
      << "\n - LcpF: " << LXcpF()
      << "\n\nDrag Force"
      << "\n - DragB: " << DragBody(cf)
      << "\n - DragA: " << DragBase(DragBody(cf))
      << "\n - DragF: " << DragFin(cf)
      << "\n - DragI: " << DragInterference(cf)
      << "\n - DragBA: " << DragAlphaBody(a)
      << "\n - DragFA: " << DragAlphaFin(a)
      << "\n\nResults"
      << "\n - Cn: " << cn
      << "\n - Ca: " << ca
      << "\n - Xcp: " << xcp
      << std::endl;
}
Beispiel #3
0
inline void RocketGeometry::Update()
{
   Ar = PI * sqr(dn / 2);
   Ap = ApB() + ApF() + ApN() + ApT();
   StabilityConstants(KCna1, KCna2, KXcpa1, KXcpa2);
}
Beispiel #4
0
 double LCnaB() { return K * ApB() / Ar; }