@@ -29,7 +29,7 @@ def test_fast_spr_e20_327():
29
29
EgRef = 1.121 , dEgdT = - 0.0002677 )
30
30
il , io , rs , rsh , nnsvt = x
31
31
tstart = clock ()
32
- pvs = pvsystem .singlediode (* x )
32
+ pvs = pvsystem .singlediode (* x , method = 'lambertw' )
33
33
tstop = clock ()
34
34
dt_slow = tstop - tstart
35
35
LOGGER .debug ('single diode elapsed time = %g[s]' , dt_slow )
@@ -43,13 +43,14 @@ def test_fast_spr_e20_327():
43
43
assert np .isclose (pvs ['i_sc' ], isc )
44
44
assert np .isclose (pvs ['v_oc' ], voc )
45
45
# the singlediode method doesn't actually get the MPP correct
46
- pvs_imp = pvsystem .i_from_v (rsh , rs , nnsvt , vmp , io , il )
47
- pvs_vmp = pvsystem .v_from_i (rsh , rs , nnsvt , imp , io , il )
46
+ pvs_imp = pvsystem .i_from_v (rsh , rs , nnsvt , vmp , io , il , method = 'lambertw' )
47
+ pvs_vmp = pvsystem .v_from_i (rsh , rs , nnsvt , imp , io , il , method = 'lambertw' )
48
48
assert np .isclose (pvs_imp , imp )
49
49
assert np .isclose (pvs_vmp , vmp )
50
50
assert np .isclose (pvs ['p_mp' ], pmp )
51
51
assert np .isclose (pvs ['i_x' ], ix )
52
- pvs_ixx = pvsystem .i_from_v (rsh , rs , nnsvt , (voc + vmp )/ 2 , io , il )
52
+ pvs_ixx = pvsystem .i_from_v (rsh , rs , nnsvt , (voc + vmp )/ 2 , io , il ,
53
+ method = 'lambertw' )
53
54
assert np .isclose (pvs_ixx , ixx )
54
55
return isc , voc , imp , vmp , pmp , pvs
55
56
@@ -64,7 +65,7 @@ def test_fast_fs_495():
64
65
il , io , rs , rsh , nnsvt = x
65
66
x += (101 , )
66
67
tstart = clock ()
67
- pvs = pvsystem .singlediode (* x )
68
+ pvs = pvsystem .singlediode (* x , method = 'lambertw' )
68
69
tstop = clock ()
69
70
dt_slow = tstop - tstart
70
71
LOGGER .debug ('single diode elapsed time = %g[s]' , dt_slow )
@@ -78,13 +79,14 @@ def test_fast_fs_495():
78
79
assert np .isclose (pvs ['i_sc' ], isc )
79
80
assert np .isclose (pvs ['v_oc' ], voc )
80
81
# the singlediode method doesn't actually get the MPP correct
81
- pvs_imp = pvsystem .i_from_v (rsh , rs , nnsvt , vmp , io , il )
82
- pvs_vmp = pvsystem .v_from_i (rsh , rs , nnsvt , imp , io , il )
82
+ pvs_imp = pvsystem .i_from_v (rsh , rs , nnsvt , vmp , io , il , method = 'lambertw' )
83
+ pvs_vmp = pvsystem .v_from_i (rsh , rs , nnsvt , imp , io , il , method = 'lambertw' )
83
84
assert np .isclose (pvs_imp , imp )
84
85
assert np .isclose (pvs_vmp , vmp )
85
86
assert np .isclose (pvs ['p_mp' ], pmp )
86
87
assert np .isclose (pvs ['i_x' ], ix )
87
- pvs_ixx = pvsystem .i_from_v (rsh , rs , nnsvt , (voc + vmp )/ 2 , io , il )
88
+ pvs_ixx = pvsystem .i_from_v (rsh , rs , nnsvt , (voc + vmp )/ 2 , io , il ,
89
+ method = 'lambertw' )
88
90
assert np .isclose (pvs_ixx , ixx )
89
91
return isc , voc , imp , vmp , pmp , i , v , p , pvs
90
92
@@ -98,7 +100,7 @@ def test_slow_spr_e20_327():
98
100
EgRef = 1.121 , dEgdT = - 0.0002677 )
99
101
il , io , rs , rsh , nnsvt = x
100
102
tstart = clock ()
101
- pvs = pvsystem .singlediode (* x )
103
+ pvs = pvsystem .singlediode (* x , method = 'lambertw' )
102
104
tstop = clock ()
103
105
dt_slow = tstop - tstart
104
106
LOGGER .debug ('single diode elapsed time = %g[s]' , dt_slow )
@@ -112,13 +114,14 @@ def test_slow_spr_e20_327():
112
114
assert np .isclose (pvs ['i_sc' ], isc )
113
115
assert np .isclose (pvs ['v_oc' ], voc )
114
116
# the singlediode method doesn't actually get the MPP correct
115
- pvs_imp = pvsystem .i_from_v (rsh , rs , nnsvt , vmp , io , il )
116
- pvs_vmp = pvsystem .v_from_i (rsh , rs , nnsvt , imp , io , il )
117
+ pvs_imp = pvsystem .i_from_v (rsh , rs , nnsvt , vmp , io , il , method = 'lambertw' )
118
+ pvs_vmp = pvsystem .v_from_i (rsh , rs , nnsvt , imp , io , il , method = 'lambertw' )
117
119
assert np .isclose (pvs_imp , imp )
118
120
assert np .isclose (pvs_vmp , vmp )
119
121
assert np .isclose (pvs ['p_mp' ], pmp )
120
122
assert np .isclose (pvs ['i_x' ], ix )
121
- pvs_ixx = pvsystem .i_from_v (rsh , rs , nnsvt , (voc + vmp )/ 2 , io , il )
123
+ pvs_ixx = pvsystem .i_from_v (rsh , rs , nnsvt , (voc + vmp )/ 2 , io , il ,
124
+ method = 'lambertw' )
122
125
assert np .isclose (pvs_ixx , ixx )
123
126
return isc , voc , imp , vmp , pmp , pvs
124
127
@@ -133,7 +136,7 @@ def test_slow_fs_495():
133
136
il , io , rs , rsh , nnsvt = x
134
137
x += (101 , )
135
138
tstart = clock ()
136
- pvs = pvsystem .singlediode (* x )
139
+ pvs = pvsystem .singlediode (* x , method = 'lambertw' )
137
140
tstop = clock ()
138
141
dt_slow = tstop - tstart
139
142
LOGGER .debug ('single diode elapsed time = %g[s]' , dt_slow )
@@ -147,13 +150,14 @@ def test_slow_fs_495():
147
150
assert np .isclose (pvs ['i_sc' ], isc )
148
151
assert np .isclose (pvs ['v_oc' ], voc )
149
152
# the singlediode method doesn't actually get the MPP correct
150
- pvs_imp = pvsystem .i_from_v (rsh , rs , nnsvt , vmp , io , il )
151
- pvs_vmp = pvsystem .v_from_i (rsh , rs , nnsvt , imp , io , il )
153
+ pvs_imp = pvsystem .i_from_v (rsh , rs , nnsvt , vmp , io , il , method = 'lambertw' )
154
+ pvs_vmp = pvsystem .v_from_i (rsh , rs , nnsvt , imp , io , il , method = 'lambertw' )
152
155
assert np .isclose (pvs_imp , imp )
153
156
assert np .isclose (pvs_vmp , vmp )
154
157
assert np .isclose (pvs ['p_mp' ], pmp )
155
158
assert np .isclose (pvs ['i_x' ], ix )
156
- pvs_ixx = pvsystem .i_from_v (rsh , rs , nnsvt , (voc + vmp )/ 2 , io , il )
159
+ pvs_ixx = pvsystem .i_from_v (rsh , rs , nnsvt , (voc + vmp )/ 2 , io , il ,
160
+ method = 'lambertw' )
157
161
assert np .isclose (pvs_ixx , ixx )
158
162
return isc , voc , imp , vmp , pmp , i , v , p , pvs
159
163
0 commit comments