-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path3pm
More file actions
101 lines (83 loc) · 4.3 KB
/
3pm
File metadata and controls
101 lines (83 loc) · 4.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#!/bin/csh -f
mkdir 3PM
if (-e 3PM/3pm_dmx.opt && -e 3PM/3pm_vmx.opt && -e 3PM/3pm_dvmx.opt) goto skip
cp $HOME/Projects/lib/Radiance/3pm_dmx.opt 3PM/3pm_dmx.opt
cp $HOME/Projects/lib/Radiance/3pm_vmx.opt 3PM/3pm_vmx.opt
cp $HOME/Projects/lib/Radiance/3pm_dvmx.opt 3PM/3pm_dvmx.opt
skip:
echo 'RADIANCE AMBIENT PARAMETERS FOR THE 3-PHASE METHOD (VMX):'
cat 3PM/3pm_vmx.opt
echo ''
echo 'RADIANCE AMBIENT PARAMETERS FOR THE 3-PHASE METHOD (DMX):'
cat 3PM/3pm_dmx.opt
echo ''
mkdir 3PM/vmx
mkdir 3PM/dmx
mkdir 3PM/ill
oconv -f $MAT $MOD >! 3PM/$PRJ.oct
cd 3PM
# black model for the direct component only
echo void plastic black 0 0 5 0 0 0 0 0 >! $PRJ-black.rad
xform -m black ../$PRJ/*.rad >> $PRJ-black.rad
cat ../$PRJ/*.win >> $PRJ-black.rad
# Daylight matrix
set i = 1
foreach w ( ../$WINDOWS/*.surf )
printf "#@rfluxmtx h=kf u=Z o=vmx/window_$PRJ-$i.vmx" >! window_$PRJ-$i.rad
printf "\nvoid glow window_$PRJ-$i 0 0 4 1 1 1 0 \n" >> window_$PRJ-$i.rad
xform -m window_$PRJ-$i $w >> window_$PRJ-$i.rad
printf "#@rfluxmtx h=kf u=Z o=vmx/window_$i-d.vmx" >! window_$i-d.rad
printf "\nvoid glow window_$i-d 0 0 4 1 1 1 0 \n" >> window_$i-d.rad
xform -m window_$i-d $w >> window_$i-d.rad
setenv T0DC_3PM `date '+%s'`
rfluxmtx -n 4 -fff @3pm_dmx.opt -c 10000 window_$PRJ-$i.rad $HOME/Projects/lib/Radiance/3pm_skies/MF$M.sky -i $PRJ.oct >! dmx/$PRJ-MF$M-$i.dmx
setenv T1DC_3PM `date '+%s'`
setenv T0DC_5PM `date '+%s'`
rfluxmtx -n 4 -fff @3pm_dmx.opt -ab 0 -c 10000 window_$i-d.rad $HOME/Projects/lib/Radiance/3pm_skies/MF$M.sky ../$MAT $PRJ-black.rad >! dmx/$PRJ-MF$M-$i-d.dmx
setenv T1DC_5PM `date '+%s'`
@ i++
end
cat window_$PRJ-?.rad >! window_$PRJ-all.rad
cat window_?-d.rad >! window_dir.rad
# View matrix
setenv T2DC_3PM `date '+%s'`
rfluxmtx -n 4 -I+ @3pm_vmx.opt -y `wc -l < ../$GRID` < ../$GRID - window_$PRJ-all.rad -i $PRJ.oct
setenv T3DC_3PM `date '+%s'`
setenv T2DC_5PM `date '+%s'`
rfluxmtx -n 4 -faa -I+ @3pm_dvmx.opt -y `wc -l < ../$GRID` < ../$GRID - window_dir.rad ../$MAT $PRJ-black.rad
setenv T3DC_5PM `date '+%s'`
set i = 1
foreach w ( ../$WINDOWS/*.surf )
rmtxop vmx/window_$PRJ-$i.vmx $GLAZ3 dmx/$PRJ-MF$M-$i.dmx ../$SMX | rmtxop -fa -c 47.4 119.9 11.6 - >! ill/$PRJ-$CLIM-MF$M-t$T-$R-$i.ill
rmtxop vmx/window_$i-d.vmx $GLAZ3 dmx/$PRJ-MF$M-$i-d.dmx ../$SMXD | rmtxop -fa -c 47.4 119.9 11.6 - >! ill/$PRJ-$CLIM-MF$M-t$T-$R-$i-d.ill
@ i++
end
# TODO find a way to recognise multiple orientations glazings and add them together
@ i--
if ($i == 1) then
mv ill/$PRJ-$CLIM-MF$M-t$T-$R-$i.ill ill/$PRJ-$CLIM-MF$M-t$T-$R.ill
mv ill/$PRJ-$CLIM-MF$M-t$T-$R-$i-d.ill ill/$PRJ-$CLIM-MF$M-t$T-$R-d.ill
else if ($i == 2) then
rmtxop -fa ill/$PRJ-$CLIM-MF$M-t$T-$R-1.ill + ill/$PRJ-$CLIM-MF$M-t$T-$R-2.ill >! ill/$PRJ-$CLIM-MF$M-t$T-$R.ill
rmtxop -fa ill/$PRJ-$CLIM-MF$M-t$T-$R-1-d.ill + ill/$PRJ-$CLIM-MF$M-t$T-$R-2-d.ill >! ill/$PRJ-$CLIM-MF$M-t$T-$R-d.ill
else if ($i == 3) then
rmtxop -fa ill/$PRJ-$CLIM-MF$M-t$T-$R-1.ill + ill/$PRJ-$CLIM-MF$M-t$T-$R-2.ill + ill/$PRJ-$CLIM-MF$M-t$T-$R-3.ill >! ill/$PRJ-$CLIM-MF$M-t$T-$R.ill
rmtxop -fa ill/$PRJ-$CLIM-MF$M-t$T-$R-1-d.ill + ill/$PRJ-$CLIM-MF$M-t$T-$R-2-d.ill + ill/$PRJ-$CLIM-MF$M-t$T-$R-3-d.ill >! ill/$PRJ-$CLIM-MF$M-t$T-$R-d.ill
else if ($i == 4) then
rmtxop -fa ill/$PRJ-$CLIM-MF$M-t$T-$R-1.ill + ill/$PRJ-$CLIM-MF$M-t$T-$R-2.ill + ill/$PRJ-$CLIM-MF$M-t$T-$R-3.ill + ill/$PRJ-$CLIM-MF$M-t$T-$R-4.ill >! ill/$PRJ-$CLIM-MF$M-t$T-$R.ill
rmtxop -fa ill/$PRJ-$CLIM-MF$M-t$T-$R-1-d.ill + ill/$PRJ-$CLIM-MF$M-t$T-$R-2-d.ill + ill/$PRJ-$CLIM-MF$M-t$T-$R-3-d.ill + ill/$PRJ-$CLIM-MF$M-t$T-$R-4-d.ill >! ill/$PRJ-$CLIM-MF$M-t$T-$R-d.ill
else
echo "More than four glazing orientations in the building -- correct the script"
endif
cd ..
# ================================ Elapsed Time Log ============================
mkdir logs
if (! -e logs/$PRJ-MF$M-t$T-$R.log) then
echo `date` > logs/$PRJ-MF$M-t$T-$R.log
else
echo `date` >> logs/$PRJ-MF$M-t$T-$R.log
endif
printf "\n3PM\n" >> logs/$PRJ-MF$M-t$T-$R.log ; cat 3PM/3pm_vmx.opt >> logs/$PRJ-MF$M-t$T-$R.log
@ TDC_3PM = $T1DC_3PM - $T0DC_3PM + $T3DC_3PM - $T2DC_3PM ; printf "\n$TDC_3PM\n" >> logs/$PRJ-MF$M-t$T-$R.log
printf "\n5PM\n" >> logs/$PRJ-MF$M-t$T-$R.log ; cat 5PM/5pm_vmx.opt >> logs/$PRJ-MF$M-t$T-$R.log
@ TDC_5PM = $TDC_3PM + $T1DC_5PM - $T0DC_5PM + $T3DC_5PM - $T2DC_5PM ; printf "\n$TDC_5PM" >> logs/$PRJ-MF$M-t$T-$R.log