def test_GenerateLeadingEdge(): # Test if GenerateLeadingEdge function matches previous version for # the Transonic Airliner example: Note this is only to 3dp LEPoints_ref = np.array([[0.000e+00, 0.000e+00, 0.000e+00], [9.088e-02, 2.147e-03, 2.644e-04], [1.752e-01, 3.580e-02, 4.508e-03], [2.274e-01, 1.096e-01, 1.425e-02], [2.795e-01, 1.834e-01, 2.463e-02], [3.317e-01, 2.570e-01, 3.586e-02], [3.838e-01, 3.304e-01, 4.815e-02], [4.359e-01, 4.037e-01, 6.171e-02], [4.881e-01, 4.766e-01, 7.675e-02], [5.402e-01, 5.492e-01, 9.346e-02], [5.924e-01, 6.213e-01, 1.121e-01], [6.707e-01, 6.655e-01, 1.248e-01]]) # Predefined Transonic Airliner example functions used here P = [0., 0., 0.] NSeg = 11 Wing = LiftingSurface(P, mySweepAngleFunctionAirliner, myDihedralFunctionAirliner, myTwistFunctionAirliner, myChordFunctionAirliner, myAirfoilFunctionAirliner, SegmentNo=NSeg) LEPoints = Wing.GenerateLeadingEdge() # Test First and final point first (easier to debug) assert (np.all(np.abs(LEPoints[1] - LEPoints_ref[1]) < 1e-3)) assert (np.all(np.abs(LEPoints[-1] - LEPoints_ref[-1]) < 1e-3)) # Now check that the entire array is less than 3 dp. out: assert (np.all(np.abs(LEPoints - LEPoints_ref) < 1e-3))