descentGlideSlopeSizeNautics = 5.0 descentGlideSlope.buildSimulatedGlideSlope(descentGlideSlopeSizeNautics) firstGlideSlopeWayPoint = descentGlideSlope.getVertex(v=0).getWeight() aircraft.setTargetApproachWayPoint(firstGlideSlopeWayPoint) aircraft.setArrivalRunwayTouchDownWayPoint(touchDownWayPoint) distanceStillToFlyMeters = departureAirport.getDistanceMetersTo( arrivalAirport) print('distance still To Fly Meters= {0:.2f} meters'.format( distanceStillToFlyMeters)) index = 0 while (endOfSimulation == False and not (aircraft.isLanding())): endOfSimulation, deltaDistanceMeters, altitudeMeters = aircraft.fly( elapsedTimeSeconds, deltaTimeSeconds, distanceStillToFlyMeters, currentPosition) distanceStillToFlyMeters = distanceStillToFlyMeters - deltaDistanceMeters RateOfClimbDescentFeetMinute = ( (altitudeMeters - previousAltitudeMSLmeters) * Meter2Feet) / (deltaTimeSeconds / 60.0) previousAltitudeMSLmeters = altitudeMeters #if math.fmod(elapsedTimeSecond) #print 'rate of climb / descent= {0} feet/minute'.format(RateOfClimbDescentFeetMinute) #print 'altitude= {0} feet'.format(altitudeMeters * Meter2Feet) elapsedTimeSeconds += deltaTimeSeconds bearingDegrees = currentPosition.getBearingDegreesTo( firstGlideSlopeWayPoint) newWayPoint = currentPosition.getWayPointAtDistanceBearing( Name='pt-{0}'.format(index), DistanceMeters=deltaDistanceMeters,
aircraft.setTargetCruiseFlightLevel(RequestedFlightLevel=310.0, departureAirportAltitudeMSLmeters=0.0) aircraft.setAircraftMassKilograms(massKilograms=64000.0) aircraft.setTargetCruiseMach(cruiseMach=0.8) tas = aircraft.getCurrentTrueAirSpeedMetersSecond() previousAltitudeMSLmeters = 0.0 t0 = time.clock() print('simulation start= {0} seconds'.format(t0)) print('=========== simulation start ==================') endOfSimulation = False while ((endOfSimulation == False) and not (aircraft.isLandingConfiguration())): endOfSimulation, deltaDistanceMeters, altitudeMeters = aircraft.fly( elapsedTimeSeconds, deltaTimeSeconds, latitudeDegrees, distanceStillToFlyMeters) distanceStillToFlyMeters = distanceStillToFlyMeters - deltaDistanceMeters RateOfClimbDescentFeetMinute = ( (altitudeMeters - previousAltitudeMSLmeters) * Meter2Feet) / (deltaTimeSeconds / 60.0) previousAltitudeMSLmeters = altitudeMeters #if math.fmod(elapsedTimeSecond) #print 'rate of climb / descent= {0} feet/minute'.format(RateOfClimbDescentFeetMinute) #print 'altitude= {0} feet'.format(altitudeMeters * Meter2Feet) elapsedTimeSeconds += deltaTimeSeconds print('=========== create State Vector output file ==================') print('simulation end - duration= {0} seconds'.format(time.clock() - t0)) aircraft.createStateVectorOutputFile() print('=========== simulation end ==================')