Skip to content

Commit 1556356

Browse files
committed
update tests for #1867
1 parent da62ab5 commit 1556356

1 file changed

Lines changed: 37 additions & 16 deletions

File tree

tests/bifacial/test_utils.py

Lines changed: 37 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,33 +13,54 @@
1313

1414
@pytest.fixture
1515
def test_system_fixed_tilt():
16+
"""
17+
row -1 row 0 row 1 row 2
18+
- - - -
19+
- - - -
20+
- - - -
21+
| - | - | - |
22+
| - | - | - |
23+
| | | |
24+
| | | |
25+
| | | |
26+
----------------------------x-----------x-----------x--------------------------
27+
0 1 2
28+
"""
1629
syst = {'height': 1.0,
1730
'pitch': 2.,
1831
'surface_tilt': 30.,
1932
'surface_azimuth': 180.,
2033
'axis_azimuth': None,
2134
'rotation': -30.}
2235
syst['gcr'] = 1.0 / syst['pitch']
36+
2337
# view factors from 3 points on the ground between rows to the sky
2438
pts = np.linspace(0, 1, num=3)
2539
sqr3 = np.sqrt(3) / 4
26-
# c_i,j = cos(angle from point i to edge of row j), j=0 is row = -1
27-
# c_i,j = cos(angle from point i to edge of row j), j=0 is row = -1
28-
c00 = (-2 - sqr3) / np.sqrt(1.25**2 + (2 + sqr3)**2) # right edge row -1
29-
c01 = -sqr3 / np.sqrt(1.25**2 + sqr3**2) # right edge row 0
30-
c02 = sqr3 / np.sqrt(0.75**2 + sqr3**2) # left edge of row 0
31-
c03 = (2 - sqr3) / np.sqrt(1.25**2 + (2 - sqr3)**2) # right edge of row 1
40+
41+
# c_ij = cos(angle from point i to a row edge, from left to right)
42+
c00 = (-2 - sqr3) / np.sqrt(1.25**2 + (2 + sqr3)**2) # left edge row -1
43+
c01 = -sqr3 / np.sqrt(1.25**2 + sqr3**2) # left edge row 0
44+
c02 = sqr3 / np.sqrt(0.75**2 + sqr3**2) # right edge of row 0
45+
c03 = (2 - sqr3) / np.sqrt(1.25**2 + (2 - sqr3)**2) # left edge of row 1
46+
# cannot see sky between rows 1 and 2
3247
vf_0 = 0.5 * (c03 - c02 + c01 - c00) # vf at point 0
33-
c10 = (-3 - sqr3) / np.sqrt(1.25**2 + (3 + sqr3)**2) # right edge row -1
34-
c11 = (-1 - sqr3) / np.sqrt(1.25**2 + (1 + sqr3)**2) # right edge row 0
35-
c12 = (-1 + sqr3) / np.sqrt(0.75**2 + (-1 + sqr3)**2) # left edge row 0
36-
c13 = (1 - sqr3) / np.sqrt(1.25**2 + (1 - sqr3)**2) # right edge row
37-
vf_1 = 0.5 * (c13 - c12 + c11 - c10) # vf at point 1
38-
c20 = -(4 + sqr3) / np.sqrt(1.25**2 + (4 + sqr3)**2) # right edge row -1
39-
c21 = (-2 + sqr3) / np.sqrt(0.75**2 + (-2 + sqr3)**2) # left edge row 0
40-
c22 = (-2 - sqr3) / np.sqrt(1.25**2 + (2 + sqr3)**2) # right edge row 0
41-
c23 = (0 - sqr3) / np.sqrt(1.25**2 + (0 - sqr3)**2) # right edge row 1
42-
vf_2 = 0.5 * (c23 - c22 + c21 - c20) # vf at point 1
48+
49+
c10 = (-3 - sqr3) / np.sqrt(1.25**2 + (3 + sqr3)**2) # left edge row -1
50+
c11 = (-1 - sqr3) / np.sqrt(1.25**2 + (1 + sqr3)**2) # left edge row 0
51+
c12 = (-1 + sqr3) / np.sqrt(0.75**2 + (-1 + sqr3)**2) # right edge row 0
52+
c13 = (1 - sqr3) / np.sqrt(1.25**2 + (1 - sqr3)**2) # left edge row 1
53+
c14 = (1 + sqr3) / np.sqrt(0.75**2 + (1 + sqr3)**2) # right edge row 1
54+
c15 = (3 - sqr3) / np.sqrt(1.25**2 + (3 - sqr3)**2) # left edge row 2
55+
vf_1 = 0.5 * (c15 - c14 + c13 - c12 + c11 - c10) # vf at point 1
56+
57+
c20 = -(4 + sqr3) / np.sqrt(1.25**2 + (4 + sqr3)**2) # left edge row -1
58+
c21 = (-2 + sqr3) / np.sqrt(0.75**2 + (-2 + sqr3)**2) # right edge row 0
59+
c22 = (-2 - sqr3) / np.sqrt(1.25**2 + (2 + sqr3)**2) # left edge row 0
60+
c23 = (0 - sqr3) / np.sqrt(1.25**2 + (0 - sqr3)**2) # left edge row 1
61+
c24 = (0 + sqr3) / np.sqrt(0.75**2 + (0 + sqr3)**2) # right edge row 1
62+
c25 = (2 - sqr3) / np.sqrt(1.25**2 + (2 - sqr3)**2) # left edge row 2
63+
vf_2 = 0.5 * (c25 - c24 + c23 - c22 + c21 - c20) # vf at point 1
4364
vfs_ground_sky = np.array([[vf_0], [vf_1], [vf_2]])
4465
return syst, pts, vfs_ground_sky
4566

0 commit comments

Comments
 (0)