dcglare - compute glare in annual simulation time-step(s) via matrix multiplication
dcglare
[ -n nsteps ][ -h ][
-i{f|d} ][ -o{f|d} ][
-l val ][ -b val ][{
-sf file | -ss h
-so h }][ -vu dx dy
dz ]{ -vd dx dy dz |
-vf file [ -vi{f|d} ]}
DCdirect DCtotal [ skyf ]
dcglare [ -n nsteps ][ -h ][
-i{f|d} ][ -o{f|d} ][
-l val ][ -b val ][{
-sf file | -ss h
-so h }][ -vu dx dy
dz ]{ -vd dx dy dz |
-vf file [ -vi{f|d} ]}
DCdirect Vspec Tbsdf Dmat.dat [ skyf ]
Dcglare generates daylight glare probability (DGP) predictions for multiple points in a space under a variety of daylit conditions. Usually, it is used to produce hourly DGP values for an entire year, or if the -l option is provided, it calculates glare autonomy based on an annual occupancy schedule.
As input, dcglare requires daylight coefficient matrices relating the illuminance at each view point to the brightness of each sky patch. Two such matrices are required. The first, DCdirect , consists of direct views to the sky only and is calculated by rcontrib(1) using a single ambient bounce. The second, DCtotal , includes the total direct and diffuse contribution of each sky patch. The latter can be calculated directly by rcontrib(1) as in the two-phase method, or internally as in the three-phase method if given view, BSDF, and daylight matrices. In this respect, dcglare is similar to dctimestep(1) except that it calculates DGP instead of irradiance. The final input is the sky contribution matrix, usually computed by gendaymtx(1) , which may be passed on the standard input. For efficiency, matrices stored in files can be represented as binary float data if machine byte-order is not an issue.
In the imageless method for calculating DGP, each visible sky patch acts as a glare source if it’s brightness is above a threshold set by the -b option. This option behaves similarly to the option in evalglare(1) as described below. Imageless DGP calculation also requires that the view direction must be specified for each view to orient it relative to the given sky patches. If all views are oriented in the same direction, -vd can be used to specify the view direction vector. Alternatively, a view file can be specified by the -vf option. The format for this file is the same as the input format expected by rcontrib(1) , and for simplicity, the same file can be provided as input to both programs. The -vif or -vid option may be used to specify that view data is in float or double format, respectively. The up vector -vu is used together with the direction vector to calculate the Guth index for each sky patch relative to each view. While each entry in the view file may have a unique view direction, a single up vector is used for all views. The default up vector is in the positive z direction.
Glare autonomy refers to the fraction of occupied hours in which a view is free of glare. When a glare limit is specified with the -l option, dcglare will calculate the fraction of sky conditions from the sky matrix in which DGP is less than this limit. In this case, individual DGP values are not recorded. By default, all entries in the sky matrix are included in the glare autonomy calculation, unless limitted by the -n option. However, you may exclude certain entries by creating an occupancy schedule. This is useful if the sky matrix built with gendaymtx(1) contains all hours of a year, but the space will only be occupied at certain times. You may specify an occupancy schedule file with the -sf option. This file should be in comma-separated value format with the same number of rows as in the sky matrix. The last entry of each line is read as a numeric value that should be greater than zero for occupied times. Lines may be commented with a ’#’ character. This format is compatible with Daysim schedule files. Alternatively, if the sky matrix contains 24 entries per day corresponding to one per hour, uniform daily start and end hours for occupancy can be specified with the -ss and -se options. No adjustment is made for daylight savings time.
In addition to these, you may specify options from dctimestep(1) with the exception of -o because image rendering is not supported.
-l val |
Set the limit for glare occurrence to val . When this option is provided, the program calculates glare autonomy, where any DGP value at or above the limit val indicates the presence of glare. If the option is not provided, the program calculates DGP under each sky condition in the sky matrix instead. |
||
-b val |
Set the threshold factor to val . If val is larger than 100, it is used as constant threshold in cd/m2. If val is less or equal than 100, this factor multiplied by the average luminance in each view will be used as threshold for detecting the glare sources (not recommended). The default value is 2000 (fixed threshold method). |
||
-vf file |
Get the list of views for DGP calculation from file . Each line in file contains six numeric values corresponding to the position and direction of a view. Generally, this is the same file that is used as input to rcontrib(1) to create the daylight coefficient matrices |
-vd xd yd zd
Set the view forward vector (vertical direction) for DGP calculation to xd yd zd . This option is ignored when the -vf option is provided.
-vu xd yd zd
Set the view up vector (vertical direction) for DGP calculation to xd yd zd . The default up vector is the positive z direction.
-vit |
Set the format of the view file to t . Available options are ’f’ for single and ’d’ for double precison IEEE float. The default when no value is provided is to use ASCII. |
||
-sf file |
Set the occupancy schedule file to file . In the event that the sky matrix includes unoccupied hours that should not contribute to the glare autonomy calculation, file will be read to determine which entries from the sky file matrix will be included in this calculation. Each line of file is expected to contain a numeric value at the end of a comma-delimited list, with zero corresponding to unoccupied. This argument is used only if -l is specified. |
||
-ss h |
Set the occupancy start hour to h . This option is provided for expediency when no occupancy schedule file is available. It is assumed that the sky matrix includes 24 entries per day, corresponding to one per hour. This argument is used only if -l is specified. |
||
-se h |
Set the occupancy end hour to h . This option is provided for expediency when no occupancy schedule file is available. It is assumed that the sky matrix includes 24 entries per day, corresponding to one per hour. This argument is used only if -l is specified. |
To generate an hourly matrix of DGP where output columns are time steps and rows correspond to views in the file views.vf:
gendaymtx -of Tampa.wea > sky.smx |
|
rcontrib -e MF:1 -f reinhartb.cal -b rbin -bn Nrbins -m sky_mat -I+ -ab 1 -ad 50000 -lw .00002 -lr -10 -faf scene.oct < views.vf > dc1.mtx |
|
rcontrib -e MF:1 -f reinhartb.cal -b rbin -bn Nrbins -m sky_mat -I+ -ab 8 -ad 50000 -lw .00002 -lr -10 -faf scene.oct < views.vf > dc8.mtx |
|
dcglare -vf views.vf dc1.mtx dc8.mtx sky.smx > dgp.txt |
To calculate glare autonomy based on a 40% DGP limit using the same matrices:
dcglare -vf views.vf -sf 8to6withDST.60min.occ.csv -l .4 dc1.mtx dc8.mtx sky.smx > ga.txt |
To generate an hourly matrix of DGP values from Skylight3 using a 3-phase calculation, where output columns are time steps:
gendaymtx NYCity.wea | dcglare dc1.mtx WPpts.vmx shade3.xml Skylight3.dmx > wp_win3.dat |
Nathaniel Jones
dctimestep(1), gendaymtx(1), rcontrib(1), evalglare(1)