Beispiel #1
0
def power_unit_area(
    start_time,
    route,
    speed,
    power_per_square=140,
    title=0,
    azim=0,
    tracking=0,
    power_coefficient=0.3,
    cut_in_speed=2,
    cut_off_speed=15,
    technology='csi',
    system_loss=0.10,
    angles=None,
    dataFrame=False,
):
    """
    Get power output of wind and PV system in a 1 metre square unit area.

    :param start_time: str or Dateindex start date of journey
    :param route: numpy nd array (n,2) [lat, lon] of way points
    :param speed: float or list if float is given, it is assumed as constant speed operation mode
                otherwise, a list of n with averaged speed should be given
    :param power_per_square: float W/m^2 rated power per squared meter
    :param title: float degrees title angle of PV panel
    :param azim: float degrees azim angle of PV panel
    :param tracking: int 0 1 or 2 0 for no tracking, 1 for one axis, 2 for two axis
    :param power_coefficient: float power coefficient of wind turbine
    :param cut_in_speed: float m/s cut in speed of wind turbine
    :param cut_off_speed: float m/s cut off speed of wind turbine
    :param technology: optional str 'csi'
    :param system_loss: float system lost of the system
    :param angles: optional solar angle
    :param dataFrame: optional return dataframe or not
    :return: tuple of Pandas series solar power and wind power with datatime index
    """
    route = np.array(route).reshape(-1, 2)
    # Unpack route to ndarray for route based processing
    mission = Mission(start_time, route, speed)
    sim = Sim(mission)
    sim.sim_wind(1, power_coefficient, cut_in_speed, cut_off_speed)
    sim.sim_solar(
        title,
        azim,
        tracking,
        power_per_square,
        technology,
        system_loss,
        angles,
        dataFrame,
    )
    solar_power = sim.solar_power
    wind_power = sim.wind_power
    return solar_power, wind_power
Beispiel #2
0
    'sonar': {
        'power': [0.5, 50],
        'duty_cycle': 0.5
    },
    'ph_sensor': {
        'power': [0.08, 0.1],
        'duty_cycle': 0.95
    },
    'temp_sensor': {
        'power': [0.04],
        'duty_cycle': 1
    },
    'wind_sensor': {
        'power': [0.67, 1.1],
        'duty_cycle': 0.5
    },
    'servo_motors': {
        'power': [0.4, 1.35],
        'duty_cycle': 0.5
    },
    'radio_transmitter': {
        'power': [0.5, 20],
        'duty_cycle': 0.2
    }
}

test_mission = Mission('2014-01-01', test_route, 2)
test_task = Task(test_mission, test_ship, power_consumption_list)

test_task.estimate_demand_load()