dragonfly-doe2 0.12.9__py3-none-any.whl → 0.12.11__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -37,6 +37,13 @@ def translate():
37
37
  'that Surface boundary conditions are used instead of Adiabatic ones. '
38
38
  'Note that this input has no effect when the object-per-model is Story.',
39
39
  default=True, show_default=True)
40
+ @click.option(
41
+ '--merge-method', '-m', help='Text to describe how the Room2Ds should '
42
+ 'be merged into individual Rooms during the translation. Specifying a '
43
+ 'value here can be an effective way to reduce the number of Room '
44
+ 'volumes in the resulting Model and, ultimately, yield a faster simulation '
45
+ 'time with less results to manage. Choose from: None, Zones, PlenumZones, '
46
+ 'Stories, PlenumStories.', type=str, default='None', show_default=True)
40
47
  @click.option(
41
48
  '--sim-par-json', '-sp', help='Full path to a honeybee-doe2 SimulationPar '
42
49
  'JSON that describes all of the settings for the simulation. If unspecified, '
@@ -67,8 +74,9 @@ def translate():
67
74
  'of the translation. By default this will be printed out to stdout.',
68
75
  type=click.File('w'), default='-', show_default=True)
69
76
  def model_to_inp_cli(
70
- model_file, multiplier, plenum, ceil_adjacency, sim_par_json, hvac_mapping,
71
- include_interior_walls, include_interior_ceilings, equest_version, output_file
77
+ model_file, multiplier, plenum, ceil_adjacency, merge_method,
78
+ sim_par_json, hvac_mapping, include_interior_walls, include_interior_ceilings,
79
+ equest_version, output_file
72
80
  ):
73
81
  """Translate a Dragonfly Model file to a Radiance string.
74
82
 
@@ -85,9 +93,8 @@ def model_to_inp_cli(
85
93
  exclude_interior_walls = not include_interior_walls
86
94
  exclude_interior_ceilings = not include_interior_ceilings
87
95
  model_to_inp(
88
- model_file, full_geometry, no_plenum, no_ceil_adjacency,
89
- sim_par_json, hvac_mapping,
90
- exclude_interior_walls, exclude_interior_ceilings,
96
+ model_file, full_geometry, no_plenum, no_ceil_adjacency, merge_method,
97
+ sim_par_json, hvac_mapping, exclude_interior_walls, exclude_interior_ceilings,
91
98
  equest_version, output_file)
92
99
  except Exception as e:
93
100
  _logger.exception('Model translation failed.\n{}\n'.format(e))
@@ -98,8 +105,9 @@ def model_to_inp_cli(
98
105
 
99
106
  def model_to_inp(
100
107
  model_file, full_geometry=False, no_plenum=False, no_ceil_adjacency=False,
101
- sim_par_json=None, hvac_mapping='Story', exclude_interior_walls=False,
102
- exclude_interior_ceilings=False, equest_version=None, output_file=None,
108
+ merge_method='None', sim_par_json=None, hvac_mapping='Story',
109
+ exclude_interior_walls=False, exclude_interior_ceilings=False,
110
+ equest_version=None, output_file=None,
103
111
  multiplier=True, plenum=True, ceil_adjacency=True,
104
112
  include_interior_walls=True, include_interior_ceilings=True
105
113
  ):
@@ -119,6 +127,20 @@ def model_to_inp(
119
127
  in their floor plate. This ensures that Surface boundary conditions
120
128
  are used instead of Adiabatic ones. Note that this input has no
121
129
  effect when the object-per-model is Story. (Default: False).
130
+ merge_method: An optional text string to describe how the Room2Ds should
131
+ be merged into individual Rooms during the translation. Specifying a
132
+ value here can be an effective way to reduce the number of Room
133
+ volumes in the resulting Model and, ultimately, yield a faster simulation
134
+ time with less results to manage. Note that Room2Ds will only be merged if
135
+ they form a contiguous volume. Otherwise, there will be multiple Rooms per
136
+ zone or story, each with an integer added at the end of their
137
+ identifiers. Choose from the following options:
138
+
139
+ * None - No merging will occur
140
+ * Zones - Room2Ds in the same zone will be merged
141
+ * PlenumZones - Only plenums in the same zone will be merged
142
+ * Stories - Rooms in the same story will be merged
143
+ * PlenumStories - Only plenums in the same story will be merged
122
144
  simulation_par: A honeybee-doe2 SimulationPar object to specify how the
123
145
  DOE-2 simulation should be run. If None, default simulation
124
146
  parameters will be generated, which will run the simulation for the
@@ -159,8 +181,10 @@ def model_to_inp(
159
181
  multiplier = not full_geometry
160
182
  ceil_adjacency = not no_ceil_adjacency
161
183
  inp_str = writer_model_to_inp(
162
- model, multiplier, no_plenum, ceil_adjacency, sim_par, hvac_mapping,
163
- exclude_interior_walls, exclude_interior_ceilings, equest_version)
184
+ model, multiplier, no_plenum, ceil_adjacency, merge_method,
185
+ sim_par, hvac_mapping, exclude_interior_walls, exclude_interior_ceilings,
186
+ equest_version
187
+ )
164
188
 
165
189
  # write out the INP file
166
190
  return process_content_to_output(inp_str, output_file)
@@ -104,7 +104,6 @@ class ModelDoe2Properties(object):
104
104
  detailed = False if raise_exception else detailed
105
105
  msgs = []
106
106
  # perform checks for specific doe-2 simulation rules
107
- msgs.append(self.check_room_2d_floor_plate_vertex_count(False, detailed))
108
107
  # output a final report of errors or raise an exception
109
108
  full_msgs = [msg for msg in msgs if msg]
110
109
  if detailed:
dragonfly_doe2/writer.py CHANGED
@@ -7,7 +7,7 @@ from honeybee_doe2.writer import model_to_inp as hb_model_to_inp
7
7
 
8
8
  def model_to_inp(
9
9
  model, use_multiplier=True, exclude_plenums=False, solve_ceiling_adjacencies=True,
10
- simulation_par=None, hvac_mapping='Story',
10
+ merge_method='None', simulation_par=None, hvac_mapping='Story',
11
11
  exclude_interior_walls=False, exclude_interior_ceilings=False, equest_version=None
12
12
  ):
13
13
  """Generate an INP string from a Dragonfly Model.
@@ -30,6 +30,21 @@ def model_to_inp(
30
30
  be solved between interior stories when Room2Ds perfectly match one
31
31
  another in their floor plate. This ensures that Surface boundary
32
32
  conditions are used instead of Adiabatic ones. (Default: True).
33
+ merge_method: An optional text string to describe how the Room2Ds should
34
+ be merged into individual Rooms during the translation. Specifying a
35
+ value here can be an effective way to reduce the number of Room volumes
36
+ in the resulting Model and, ultimately, yield a faster simulation time
37
+ with less results to manage. Note that Room2Ds will only be merged if they
38
+ form a contiguous volume across their solved adjacencies. Otherwise,
39
+ there will be multiple Rooms per zone or story, each with an integer
40
+ added at the end of their identifiers. Choose from the following options:
41
+
42
+ * None - No merging of Room2Ds will occur
43
+ * Zones - Room2Ds in the same zone will be merged
44
+ * PlenumZones - Only plenums in the same zone will be merged
45
+ * Stories - Rooms in the same story will be merged
46
+ * PlenumStories - Only plenums in the same story will be merged
47
+
33
48
  simulation_par: A honeybee-doe2 SimulationPar object to specify how the
34
49
  DOE-2 simulation should be run. If None, default simulation
35
50
  parameters will be generated, which will run the simulation for the
@@ -103,8 +118,9 @@ def model_to_inp(
103
118
  # convert the Dragonfly Model to Honeybee
104
119
  hb_model = model.to_honeybee(
105
120
  'District', use_multiplier=use_multiplier, exclude_plenums=exclude_plenums,
106
- solve_ceiling_adjacencies=solve_ceiling_adjacencies,
107
- enforce_adj=False, enforce_solid=True)[0]
121
+ solve_ceiling_adjacencies=solve_ceiling_adjacencies, merge_method=merge_method,
122
+ enforce_adj=False, enforce_solid=True
123
+ )[0]
108
124
 
109
125
  # assign the space polygon geometry to the Honeybee Rooms from Dragonfly
110
126
  df_flr_geos = {} # dictionary to hold the DOE-2 space polygon geometry
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dragonfly-doe2
3
- Version: 0.12.9
3
+ Version: 0.12.11
4
4
  Summary: Dragonfly extension for the DOE-2 energy simulation engine.
5
5
  Home-page: https://github.com/ladybug-tools/dragonfly-doe2
6
6
  Author: Ladybug Tools
@@ -18,7 +18,7 @@ Classifier: Programming Language :: Python :: Implementation :: IronPython
18
18
  Classifier: Operating System :: OS Independent
19
19
  Description-Content-Type: text/markdown
20
20
  License-File: LICENSE
21
- Requires-Dist: honeybee-doe2==0.23.1
21
+ Requires-Dist: honeybee-doe2==0.23.2
22
22
  Requires-Dist: dragonfly-energy>=1.34.72
23
23
  Dynamic: author
24
24
  Dynamic: author-email
@@ -0,0 +1,15 @@
1
+ dragonfly_doe2/__init__.py,sha256=Fg3aP_2h6-UD4bqHbFJ3tMbA_ZED5uDGjDedY4XJp8g,40
2
+ dragonfly_doe2/__main__.py,sha256=3FrW6CO-CPoGSXn73hLWCejb0d-qnit6ga_565z49uY,75
3
+ dragonfly_doe2/_extend_dragonfly.py,sha256=_3XebNYHxG__7wxLOtW-aqPV-OIkplvVXgnBEDgrcS0,996
4
+ dragonfly_doe2/writer.py,sha256=m7dlAUrVFwHWpKISWLEzNkDkd9g6XtnO4KJSFnw1IPY,7271
5
+ dragonfly_doe2/cli/__init__.py,sha256=OwTHSsOOEoJjbw5CqPig8Yo7jk1f6m53OFnhuZgPthE,391
6
+ dragonfly_doe2/cli/translate.py,sha256=Brx8p-9tUzrbdNFj_B398EmVQdFIENC-w2qROhkaWx8,9486
7
+ dragonfly_doe2/properties/__init__.py,sha256=0JiyMYGeRlPLcxh1PSr6eJzDGgfrbMivcO9dS1h7wEU,33
8
+ dragonfly_doe2/properties/model.py,sha256=Ho9xSkbhBIoHxJSNnmuTxvMD-I3FiVEzDuTx5hs3D5M,14467
9
+ dragonfly_doe2/properties/room2d.py,sha256=ghKKhcX2TSgPUAdcQk-PPHo_5AilSmTiLElxb8--dkE,12773
10
+ dragonfly_doe2-0.12.11.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
11
+ dragonfly_doe2-0.12.11.dist-info/METADATA,sha256=JvVo_5_PGFZ4caESOv1yZZe9rBF-KVUFBEEtImzoCqk,3103
12
+ dragonfly_doe2-0.12.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
13
+ dragonfly_doe2-0.12.11.dist-info/entry_points.txt,sha256=oBzZOsc8Bs40iHKtuyWGrz_nfLZu1-6cHrBej05ZqrY,59
14
+ dragonfly_doe2-0.12.11.dist-info/top_level.txt,sha256=6CLCvUyl1H2vrbXmeA0ND_znFz4a2oOclc7NMBZxR6c,15
15
+ dragonfly_doe2-0.12.11.dist-info/RECORD,,
@@ -1,15 +0,0 @@
1
- dragonfly_doe2/__init__.py,sha256=Fg3aP_2h6-UD4bqHbFJ3tMbA_ZED5uDGjDedY4XJp8g,40
2
- dragonfly_doe2/__main__.py,sha256=3FrW6CO-CPoGSXn73hLWCejb0d-qnit6ga_565z49uY,75
3
- dragonfly_doe2/_extend_dragonfly.py,sha256=_3XebNYHxG__7wxLOtW-aqPV-OIkplvVXgnBEDgrcS0,996
4
- dragonfly_doe2/writer.py,sha256=Yfs9fEEhX8WrDqhy4nIxeOwMPDKHvu3RoeInz94pGO8,6224
5
- dragonfly_doe2/cli/__init__.py,sha256=OwTHSsOOEoJjbw5CqPig8Yo7jk1f6m53OFnhuZgPthE,391
6
- dragonfly_doe2/cli/translate.py,sha256=gVpMSL074B6YPOe26cD0njGL_durS9lugrenbLoZiUw,7989
7
- dragonfly_doe2/properties/__init__.py,sha256=0JiyMYGeRlPLcxh1PSr6eJzDGgfrbMivcO9dS1h7wEU,33
8
- dragonfly_doe2/properties/model.py,sha256=UGZdCvWyxx8NfYxhjA6fFgwGDpG0P9dbUANQjNvRhpM,14549
9
- dragonfly_doe2/properties/room2d.py,sha256=ghKKhcX2TSgPUAdcQk-PPHo_5AilSmTiLElxb8--dkE,12773
10
- dragonfly_doe2-0.12.9.dist-info/licenses/LICENSE,sha256=hIahDEOTzuHCU5J2nd07LWwkLW7Hko4UFO__ffsvB-8,34523
11
- dragonfly_doe2-0.12.9.dist-info/METADATA,sha256=mdb6wjDa6F7yelGhyf3Iii6CymE-UGUK1Tgnx2Lq8vQ,3102
12
- dragonfly_doe2-0.12.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
13
- dragonfly_doe2-0.12.9.dist-info/entry_points.txt,sha256=oBzZOsc8Bs40iHKtuyWGrz_nfLZu1-6cHrBej05ZqrY,59
14
- dragonfly_doe2-0.12.9.dist-info/top_level.txt,sha256=6CLCvUyl1H2vrbXmeA0ND_znFz4a2oOclc7NMBZxR6c,15
15
- dragonfly_doe2-0.12.9.dist-info/RECORD,,