About Three-Phase method


#1

Hi all,

I am learning the Three-Phase method for the annual simulation. In addition to the final result i , which equals to VTDs, I am also interested in the exterior irradiance for the window’s incident Klems division. I want to know the irradiance value for each Klems division. According to my understanding, I only need to use the daylight matrix and sky vector to get what I want. But my problem is how to combine the daylight matrix and sky vector? Does dctimestep still work?

Sky vector:

gendaylit –ang 75,24 18,27 –W 242 377 –g 0,62 –O 1 | genskyvec –m 4 > sky.vec

Daylight matrix:

oconv test_sample.rad ground.rad sky_white1.rad > model.oct

genklemsamp –vd 0 -0,5 -0,866 window.rad | rcontrib –c 1000 –e MF:4 reinhart.cal –b rbin –bn Nrbins –m sky_glow model.oct > model.dmx

Many thanks for sharing your ideas.
Yating


#2

Hi Yating,
I recommend using Sarith’s newer tutorial for learning the three phase method:
https://www.radiance-online.org/learning/tutorials/matrix-based-methods
The newer rfluxmtx command (which replaces rcontrib) simplifies many of the commands needed, reducing risk of error. But yes, dctimestep should still work. Can you tell us what error you are getting with dctimestep?
Andy


#3

Your rcontrib command seems to be missing a “-f” option before “reinhard.cal”. And as Andy said, the newer process used rfluxmtx, which subsumes genklemsamp and is more reliable, as well as being (hopefully) easier to use.


#4

Hi Andy and Greg,

Thanks a lot for the recommendation and please excuse the late feedback. According to the decision tree in Sarith’s tutorial, I chose the Two-phase method to solve my problem.
My simulation scene is rather simple. There is one photovoltaic module installed on the outdoor ground and what I want to get is the irradiance on the surface of the module. Normally, I use rtrace to get the irradiance, but here I try to use Two-Phase Method to get the annual irradiance. At first, I used point- in- time sky to check the difference between rtrace and two-phase method, and the irradiance deviation was around 6%. I also looked through some similar topics and found the deviation should be smaller. I am not sure if my deviation range is rational? My script is as below
test_PV.rad
! xform –rx -30 –t -0,5 0 1
!genbox module_mat module 1 2 0
void plastic module_mat 0 0 5 0 0 0 0 0
test_sky.rad
!gendaylit –ang 75,24 18,27 –W 242 377 –g 0,62 –O 1
skyfunc glow sky_mat 0 0 4 1 1 1 0
sky_mat source sky 0 0 4 0 0 1 180
sky_mat source ground 0 0 4 0 0 -1 180
void plastic custom 0 0 5 0.62 0.62 0.62 0 0
custom ring groundplane 0 0 8 0 0 -.01 0 0 1 0 100
line.pts
0,5 0 1 0 0,5 0,866
0,5 0,5 0,7133 0 0,5 0,866
0,5 1 0,423 0 0,5 0,866
0,5 1,5 0,134 0 0,5 0,866
ground.rad
void plastic custom 0 0 5 0.62 0.62 0.62 0 0
custom ring groundplane 0 0 8 0 0 -.01 0 0 1 0 100
skyglow.rad
#@rfluxmtx u=+Y h=u
void glow groundglow 0 0 4 1 1 1 0
groundglow source ground 0 0 4 0 0 -1 180
#@rfluxmtx u=+Y h=r4
void glow skyglow 0 0 4 1 1 1 0
skyglow source skydome 0 0 4 0 0 1 180

Rtrace
oconv test_PV.rad test_sky.rad > test.oct
cat line.pts | rtrace –I –ab 5 –lw 0,0001 test.oct

Two-phase method
gendaylit –ang 75,24 18,27 –W 242 377 –g 0,62 –O 1 | genskyvec –m 4 > sky.vec
oconv test_PV.rad test_ground.rad > test1.oct
rfluxmtx –I+ -y 4 –lw 0,0001 –ab 5 –ad 10000 –n 16 – skyglow.rad –i test1.oct < line.pts > illum.mtx
dctimestep illum.mtx sky.vec > result.dat

Yating


#5

I guess the result will be closer to rtrace if you do the additional steps for improving the direct sun calculation. As pointed out through Fig. 34 of the tutorial, even with -m 4, the sun position is being approximated. The steps for the calculation with corrected direct sun calculations are listed in Appendix Section B.2 . Those commands feature gendaymtx but you should be able to continue along with genskyvec if you choose to. Although it is not discussed in the tutorial, genskyvec now supports the Five-Phase Method (should be something like gendaylit –ang 75.24 18.27 –W 242 377 –g 0.62 –O 1 | genskyvec –m 4 -d -5 > sky5ph.vec).

Regards,
Sarith