def get_acceleration_models(bodies_to_propagate: List[str],
                            central_bodies: List[str],
                            bodies: tudatpy.kernel.simulation.environment_setup.SystemOfBodies) -> \
        Dict[str, Dict[str, List[tudatpy.kernel.astro.fundamentals.AccelerationModel]]]:
    """
    Creates the acceleration models for the simulation.

    The accelerations acting on the Spacecraft currently considered are the spherical harmonic gravity of Itokawa,
    the point mass gravity of the Sun, Jupiter, Saturn, Mars, the Earth, and the solar radiation pressure.

    Parameters
    ----------
    bodies_to_propagate : List[str]
        List of bodies to be numerically propagated.
    central_bodies: List[str]
        List of central bodies related to the propagated bodies.
    bodies : bodies: tudatpy.kernel.simulation.environment_setup.SystemOfBodies
        System of bodies object

    Returns
    -------
    Dict[str, Dict[str, List[tudatpy.kernel.astro.fundamentals.AccelerationModel]]]
        Acceleration settings object.
    """
    # Define accelerations acting on Spacecraft
    accelerations_settings_spacecraft = dict(
        Sun=[
            propagation_setup.acceleration.cannonball_radiation_pressure(),
            propagation_setup.acceleration.point_mass_gravity()
        ],
        Itokawa=[
            propagation_setup.acceleration.spherical_harmonic_gravity(4, 4)
        ],
        Jupiter=[propagation_setup.acceleration.point_mass_gravity()],
        Saturn=[propagation_setup.acceleration.point_mass_gravity()],
        Mars=[propagation_setup.acceleration.point_mass_gravity()],
        Earth=[propagation_setup.acceleration.point_mass_gravity()])

    # Create global accelerations settings dictionary
    acceleration_settings = {"Spacecraft": accelerations_settings_spacecraft}

    # Create acceleration models
    return propagation_setup.create_acceleration_models(
        bodies, acceleration_settings, bodies_to_propagate, central_bodies)
        eccentricity=0.0424,
        inclination=np.deg2rad(97.5926),
        argument_of_periapsis=np.deg2rad(RAAN[i]),
        longitude_of_ascending_node=np.deg2rad(100.0),
        true_anomaly=np.deg2rad(0.0))
    if i == 0:
        initial_state = initial_state_temp
    else:
        initial_state = np.hstack([initial_state, initial_state_temp])

    dependent_variables_to_save.append(
        propagation_setup.dependent_variable.single_acceleration_norm(
            propagation_setup.acceleration.cannonball_radiation_pressure_type,
            SC_NAMES[i], "Sun"))

acceleration_models = propagation_setup.create_acceleration_models(
    bodies, acceleration_settings, bodies_to_propagate, central_bodies)

# Propagator settings
propagator_settings = propagation_setup.propagator.translational(
    central_bodies,
    acceleration_models,
    bodies_to_propagate,
    initial_state,
    simulation_end_epoch,
    output_variables=dependent_variables_to_save)

# Integrator settings
fixed_step_size = 10.0  #seconds

integrator_settings = propagation_setup.integrator.runge_kutta_4(
    simulation_start_epoch, fixed_step_size)