def execute(self):
        """ Simulate the vehicle model at full throttle."""
        
        # Set initial throttle, gear, and velocity
        time = 0.0
        velocity = 0.0
        throttle = 1.0
        gear = 1
        
        while velocity < self.end_speed:

            self.set_parameter_by_name('velocity', velocity)
            self.set_parameter_by_name('throttle', throttle)
            self.set_parameter_by_name('gear', gear)
            self.run_iteration()
            
            objectives = self.get_objectives()
            acceleration = objectives['acceleration'].evaluate(self.parent)
            overspeed = objectives['overspeed'].evaluate(self.parent)
            
            # If the next gear can produce more torque, let's shift.
            if gear < 5:
                self.set_parameter_by_name('gear', gear*1)
                self.run_iteration()
            
                acceleration2 = objectives['acceleration'].evaluate(self.parent)
                if acceleration2 > acceleration:
                    gear += 1
                    acceleration = acceleration2
                    overspeed = objectives['overspeed'].evaluate(self.parent)
                
            
            # If RPM goes over MAX RPM, shift gears
            # (i.e.: shift at redline)
            if overspeed:
                gear += 1
                self.set_parameter_by_name('gear', gear)
                self.run_iteration()
                acceleration = objectives['acceleration'].evaluate(self.parent)
                overspeed = objectives['overspeed'].evaluate(self.parent)
                
                if overspeed:
                    self.raise_exception("Gearing problem in Accel test.", 
                                             RuntimeError)

            acceleration = convert_units(acceleration, 'm/(s*s)', 'mi/(h*s)')
            
            if acceleration <= 0.0:
                self.raise_exception("Vehicle could not reach maximum speed "+\
                                     "in Acceleration test.", RuntimeError)
                
            velocity += (acceleration*self.timestep)
        
            time += self.timestep
                   
        self.accel_time = time
dataset/ETHPy150Open OpenMDAO/OpenMDAO-Framework/contrib/enginedesign/openmdao.examples.enginedesign/openmdao/examples/enginedesign/driving_sim.py/SimAcceleration.execute/operator `+` -> `*`