def __initialize_simulation(self, x0, time_points, udata, \
integrator_options_user):
self.__x0 = inputchecks.check_states_data(x0, self.__system.nx, 0)
time_points = inputchecks.check_time_points_input(time_points)
number_of_integration_steps = time_points.size - 1
time_steps = time_points[1:] - time_points[:-1]
udata = inputchecks.check_controls_data(udata, self.__system.nu, \
number_of_integration_steps)
self.__simulation_input = ci.vertcat([np.atleast_2d(time_steps), udata])
integrator_options = integrator_options_user.copy()
integrator_options.update({"t0": 0, "tf": 1, "expand": True}) # , "number_of_finite_elements": 1})
# integrator = ci.Integrator("integrator", "rk", \
integrator = ci.Integrator("integrator", "cvodes", \
self.__dae_scaled, integrator_options)
self.__simulation = integrator.mapaccum("simulation", \
number_of_integration_steps)
评论列表
文章目录