Ejemplo n.º 1
0
def test_mpp_floats():
    """test max_power_point"""
    IL, I0, Rs, Rsh, nNsVth = (7, 6e-7, .1, 20, .5)
    out = pvsystem.max_power_point(IL, I0, Rs, Rsh, nNsVth, method='brentq')
    expected = {
        'i_mp': 6.1362673597376753,  # 6.1390251797935704, lambertw
        'v_mp': 6.2243393757884284,  # 6.221535886625464, lambertw
        'p_mp': 38.194210547580511
    }  # 38.194165464983037} lambertw
    assert isinstance(out, dict)
    for k, v in out.items():
        assert np.isclose(v, expected[k])
    out = pvsystem.max_power_point(IL, I0, Rs, Rsh, nNsVth, method='newton')
    for k, v in out.items():
        assert np.isclose(v, expected[k])
Ejemplo n.º 2
0
def test_mpp_array():
    """test max_power_point"""
    IL, I0, Rs, Rsh, nNsVth = (np.array([7, 7]), 6e-7, .1, 20, .5)
    out = pvsystem.max_power_point(IL, I0, Rs, Rsh, nNsVth, method='brentq')
    expected = {
        'i_mp': [6.1362673597376753] * 2,
        'v_mp': [6.2243393757884284] * 2,
        'p_mp': [38.194210547580511] * 2
    }
    assert isinstance(out, dict)
    for k, v in out.items():
        assert np.allclose(v, expected[k])
    out = pvsystem.max_power_point(IL, I0, Rs, Rsh, nNsVth, method='newton')
    for k, v in out.items():
        assert np.allclose(v, expected[k])
Ejemplo n.º 3
0
def test_mpp_series():
    """test max_power_point"""
    idx = ['2008-02-17T11:30:00-0800', '2008-02-17T12:30:00-0800']
    IL, I0, Rs, Rsh, nNsVth = (np.array([7, 7]), 6e-7, .1, 20, .5)
    IL = pd.Series(IL, index=idx)
    out = pvsystem.max_power_point(IL, I0, Rs, Rsh, nNsVth, method='brentq')
    expected = pd.DataFrame(
        {
            'i_mp': [6.1362673597376753] * 2,
            'v_mp': [6.2243393757884284] * 2,
            'p_mp': [38.194210547580511] * 2
        },
        index=idx)
    assert isinstance(out, pd.DataFrame)
    for k, v in out.items():
        assert np.allclose(v, expected[k])
    out = pvsystem.max_power_point(IL, I0, Rs, Rsh, nNsVth, method='newton')
    for k, v in out.items():
        assert np.allclose(v, expected[k])
from typing import OrderedDict
from pvlib import pvsystem
import pandas as pd
import matplotlib.pyplot as plt

info = pvsystem.max_power_point(photocurrent=4,
                                saturation_current=.0000000000001,
                                resistance_series=2,
                                resistance_shunt=1,
                                nNsVth=152.8,
                                d2mutau=0.00020833,
                                method='newton')

for k, v in info.items():
    print(k, v)