Commit 2d3e92d7 authored by Bognár, Á.'s avatar Bognár, Á.
Browse files

Small bug fixes

Removing unnecessary print() from grid_2d func.
parent 3f97e6be
......@@ -59,7 +59,7 @@ def grid_2d(bbox_2d, d):
x2 = y2* a/b
y = max(y1, y2)
x = y * a/b
print('a={}; b={}; x={}; y={}; n={}'.format(a,b,x,y,n))
#print('a={}; b={}; x={}; y={}; n={}'.format(a,b,x,y,n))
xs = (bbox_2d.vertices_list[0][0], bbox_2d.vertices_list[2][0])
ys = (bbox_2d.vertices_list[0][1], bbox_2d.vertices_list[2][1])
xv = np.linspace(xs[0], xs[1], round(x+1, 0))
......
%% Cell type:markdown id: tags:
## Before we start
Make sure that DASIM, Radiance, EnergyPlus and the following Python dependencies are installed:
* pandas
* numpy
* matplotlib
* geomeppy
* eppy
* plotly
%% Cell type:markdown id: tags:
## Importing necessary modules
Check if bin_dir is actually your DAYSIM bin folder and change it if necessary.
Also copy the "obj2rad.exe" from your "...\Radiance\bin" directory to your "...\DAYSIM\bin" directory.
%% Cell type:code id: tags:
``` python
import pandas as pd
from matplotlib import pyplot as plt
from geomeppy import IDF
from geomeppy import view_geometry
import os
import sys
sys.path.append(os.path.dirname(os.getcwd()) + r'\\daypym')
from daypym import *
from geomeppy.geom.polygons import (break_polygons, Polygon2D, Polygon3D, Vector2D, Vector3D)
from geomeppy.geom.transformations import align_face, invert_align_face
## DAYSIM bin folder path:
bin_dir=r'c:\DAYSIM\bin\\'
## Managing folder structure
cwd = os.getcwd()
for f in os.listdir():
if f.endswith('.idf'):
project_name = f[:-4]
# create folders if they don't exist yet
for folder in ['res', 'tmp', 'wea', 'geo', 'pts', 'res\\vis']: # res: final results from Daysim with .ill and .dc files, tmp: Daysim poops temp files here, wea: converted wea file, geo: obj rad and pts files. Inputs, such as the idf and sketchup files are in the working directory
pathlib.Path(folder).mkdir(exist_ok=True)
```
%% Cell type:markdown id: tags:
## Reading IDF geometry with Geomeppy
**Set the correct path for the EnergyPlus .idd**
For making this example easier to work, I uploaded an EnergyPlus.idd file to the repository, but under normal use the iddfile path should point to your EnergyPlus installation's .idd
%% Cell type:code id: tags:
``` python
source_idf_name = r'{}.idf'.format(project_name)
iddfile = r'Energy+.idd'
IDF.setiddname(iddfile)
source_idf = IDF(source_idf_name)
source_idf.to_obj(fname=cwd + r'\geo\\'+ project_name +'.obj', mtllib=None)
```
%% Cell type:markdown id: tags:
## Finding PV surfaces in the IDF and putting them in a list
When we made the IDF, we made sure that all the surfaces that represent PV modules in the IDF file have the construction: 'PV_Construction'.
We use Geomeppy to filter for the surfaces with this construction name, because we only want to generate sensorpoints over surfaces that are representing PV modules.
%% Cell type:code id: tags:
``` python
surfaces = surface=source_idf.idfobjects['BUILDINGSURFACE:DETAILED']
act_surf_id = 'PV_Construction' # 'BIPV_Construction' this is the active (PV) surface identifier. Surfaces with construction names like this will get a sensor point mesh over them
act_surfs = [surface for surface in surfaces if surface.Construction_Name == act_surf_id]
```
%% Cell type:markdown id: tags:
## Creating DAYSIM sensorpoints
Now we loop through the active surfaces and create sensorpoints over each cell of the modules.
We have to provide the number of cell rows and columns in the module. Interpret rows and columns as n_row > n_col!
Currently this implementation only works with rectangular modules that have a horizontal edge-pair. That is, it can have any tilt or orientation, but its "top" and "bottom" edges shoud be horizontal.
%% Cell type:code id: tags:
``` python
n_row = 10
n_col = 6
sps = []
for surface in act_surfs:
poly = IDFsurf_to_poly(surface=surface) # make poly from idf (daypym)
poly_trans = align_face(poly).order_points('upperleftcorner') # translate poly to the x-y plane (geomeppy)
poly_trans_2d = poly_trans.project_to_2D() # make the poly 2D (geomeppy)
poly_trans_bbox_2d = poly_trans.bounding_box.project_to_2D() # make a 2d bbox of the translated surface on the xy pane (geomeppy)
test_grid = grid_2d_pvmodule(n_row=n_row, n_col=n_col, bbox_2d=poly_trans_bbox_2d) # makes an offset grid over the cells (daypym)
pip = gridpoints_in_poly_2d(grid_2d=test_grid, poly_2d=poly_trans_2d) # makes a list of points, that are inside the 2D poly (daypym)
ri, ci = pos_in_module(n_row=n_row, n_col=n_col, test_grid_transp=test_grid) # this is for keeping track of in which row and column of the module the sensorpoint is. This will be useful later when we want to use these results for cell-level PV system simulations (daypym)
sp = create_sensor_points(surf_name=surface['Name'], points_in_poly_2d=pip, row_index=ri, col_index=ci, original_poly=poly, sp_offset=0.01, sp_pos_round=3) # sensor point data dict (daypym)
sps.append(sp)
translate_to_ds_pts(surf_sensor_points=sps, p_name=project_name) # use the sensor-point data dicts to make .pts file (That DAYSIM needs) and and a csv, which as additional info about the sensorpoints for postprocessing
```
%% Cell type:markdown id: tags:
Each sensorpoint here is now saved by the "translate_to_ds_pts" function to a .pts file (that DAYSIM will use) and also a .csv is saved that contains supplementary information about the sensorpoints (e.g. in which row and column of the corresponding PV module they are) which can be useful if we later want to use the simulated irradiance for cell-level PV system simulations.
%% Cell type:markdown id: tags:
## Visualizing the sensorpoints
This will plot the IDF geometry (with Geomeppy) and add the sensorpoints to the plot
%% Cell type:code id: tags:
``` python
view_idf_and_sps(p_name=project_name, idf_name=source_idf_name, sps=sps) # plot the sensorpoints and the idf together (daypym-geomeppy)
```
%%%% Output: display_data
![](data:image/png;base64,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)
%% Cell type:markdown id: tags:
Here is a larger image where the individual sensorpoints are visible:
![alt text](sensor_points.PNG)
%% Cell type:markdown id: tags:
## Making the .wea file and writing the .hea file that DAYSIM uses as input for the simulations
%% Cell type:code id: tags:
``` python
# make wea file from epw
wea_data = ds_epw2wea('NLD_Amsterdam.062400_IWEC.epw', project_name) # maybe check for negative altitude!
# make a rad file form obj (this is a Radiance program. Put this one to the Daysim bin folder)
rad_obj2rad(input_obj=project_name + r'.obj', output_rad=project_name)
# we make the site info dict. This is all the input we set here, the rest are default values
site_info = {
'ground_eflectance':0,
'first_weekday':1,
'time_step':5, # if this is not 60, we need to run the ds_ds_shortterm
'wea_data_file':cwd + '/wea//' + project_name + '.wea', # this needs full abs path
'weather_data_file_units':1,
'wea_data_short_file':'/wea//' + project_name + '_short.wea', # this is an output and an input in this case
'wea_data_short_file_units':1,
'lower_direct_threshold':2,
'lower_diffuse_threshold':2
}
# add wea file data to the site info
site_info.update(wea_data)
# write hea
write_ds_hea(p_name=project_name, p_dir=cwd, bin_dir=bin_dir, uni_mat_file=r'daysim_all_mat.rad', site_info=site_info, model_info=None, radiance_params=None)
```
%% Cell type:markdown id: tags:
## Running conversion, ds_shortterm, gen_dc and ds_illum
There are quite a lot of sensorpoints in the model, so ds_gen_dc might run for several minutes.
Check the terminal window where you started this notebook from. DAYSIM is probably printing messages there. You can check there when it finishes.
%% Cell type:code id: tags:
``` python
#run conversion, dc and ill
ds_radfiles2daysim(p_name=project_name, hea_file_name=None)
ds_ds_shortterm(project_name, hea_file_name=None)
ds_gen_dc(p_name=project_name, hea_file_name=None)
ds_ds_illum(p_name=project_name, hea_file_name=None)
```
%% Cell type:markdown id: tags:
## Checking results
After the simulation finished, the .ill results (in W/m2) are in the .../res folder.
......@@ -30,24 +30,25 @@
from geomeppy.geom.transformations import align_face, invert_align_face
## DAYSIM bin folder path:
bin_dir=r'c:\DAYSIM\bin\\'
## navigate to the working folder and run
## Managing folder structure
cwd = os.getcwd()
for f in os.listdir():
if f.endswith('.idf'):
project_name = f[:-4]
## create folders if they don't exist yet
# create folders if they don't exist yet
for folder in ['res', 'tmp', 'wea', 'geo', 'pts', 'res\\vis']: # res: final results from Daysim with .ill and .dc files, tmp: Daysim poops temp files here, wea: converted wea file, geo: obj rad and pts files. Inputs, such as the idf and sketchup files are in the working directory
pathlib.Path(folder).mkdir(exist_ok=True)
```
%% Cell type:markdown id: tags:
## Reading IDF geometry with Geomeppy
**Set the correct path for the EnergyPlus .idd**For making this example easier to work, I uploaded an EnergyPlus.idd file to the repository, but under normal use the iddfile path should point to your EnergyPlus installation's .idd
**Set the correct path for the EnergyPlus .idd**
For making this example easier to work, I uploaded an EnergyPlus.idd file to the repository, but under normal use the iddfile path should point to your EnergyPlus installation's .idd
%% Cell type:code id: tags:
``` python
source_idf_name = r'{}.idf'.format(project_name)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment