def simulate(self, steps, time, collect_dynamic = False):
dynamic_amplitude, dynamic_time = ([], []) if collect_dynamic is False else ([self.__amplitude], [<NUM_LIT:0>]);<EOL>step = time / steps;<EOL>int_step = step / <NUM_LIT>;<EOL>for t in numpy.arange(step, time + step, step):<EOL><INDENT>self.__amplitude = self.__calculate(t, step, int_step);<EOL>if collect_dynamic is True:<EOL><INDENT>dynamic_amplitude.append([ numpy.real(amplitude)[<NUM_LIT:0>] for amplitude in self.__amplitude ]);<EOL>dynamic_time.append(t);<EOL><DEDENT><DEDENT>if collect_dynamic is False:<EOL><INDENT>dynamic_amplitude.append([ numpy.real(amplitude)[<NUM_LIT:0>] for amplitude in self.__amplitude ]);<EOL>dynamic_time.append(time);<EOL><DEDENT>output_sync_dynamic = fsync_dynamic(dynamic_amplitude, dynamic_time);<EOL>return output_sync_dynamic<EOL>
!
        @brief Performs static simulation of oscillatory network.

        @param[in] steps (uint): Number simulation steps.
        @param[in] time (double): Time of simulation.
        @param[in] collect_dynamic (bool): If True - returns whole dynamic of oscillatory network, otherwise returns only last values of dynamics.

        @return (list) Dynamic of oscillatory network. If argument 'collect_dynamic' is True, than return dynamic for the whole simulation time,
                 otherwise returns only last values (last step of simulation) of output dynamic.

        @see simulate()
        @see simulate_dynamic()