Esempio n. 1
0
    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 ==================')