the bubble diagram. This algorithm works by a set of attractive and repulsive forces (as in Equation 9) acting recursively on graph vertices, seeks a ‘relax’ situation for a graph, and reaches to a graph drawing. This tool is quite intuitive and shows in real-time bubble diagrams neatly according to the specified areas and the connectivity graph.
Equation 9
Attraction: 〖AF〗_ij=ka ∆x_ij for all linked (i,j)
Repulsion: 〖RF〗_ij=kr /x_ij for all (i,j)
The attraction/repulsion strength inputs are denoted as ka and kr
in the above equations. If some configuration is very messy, you need to have a high repulsion first to untangle it. I have not tried Angel's method but it is very similar to the method we have scripted for this component.
I hope this helps.
Best regards,
Pirouz…
nnot calculate (too many digits).
Or you want just to fill that space with random configuration and find some good for you?
Here's my first thoughts:
Again, as some other cases, iterative process.
(Conway's game of life, a cellular_automata-like process (?)... Install anemone.)
I would create 3 grids:
1 - grid of 100 values, cell's center points
these values can have more integer values like 0=free 1=occuped
2 - grid of 81 values, grid vertex points (excludig perimeter)
these values are where the center of 2x2 cells could be. 0=possible location 1=not possible location
3 - "grid" of 180 values, grid segment center, where 1x2 center could be
again 0 and 1
Then it's needed a "topology" between those 3 grids:
At each iteration those values updates each other by basing on placed cells and adjacent values.
At each iteration a new cell (random from A or B) is placed in a random possible location.
This is just my madness, and maybe I'm already far away from a result.
For sure a fasterst, simpler, smarter solution exists.…
rsity building with 81 thermal zones. I wanted to use this model on my master thesis, but I am afraid I won't be able. So I would really appreciate some help.
The purpose was to set different insulation thicknesses and glazing types depending on the orientation. Therefore I created every zone by using "createHBsrfs" components. At the same time different zones would have different "building programs".
I created all the zones, I added windows as "child surfaces" for every zone. And I created the adjacencies. No errors or whatsoever.
But from this point I cannot connect the model to any other component without GH being frozen. So although the model is correct maybe it is to heavy for the software, however I am not sure if that is the reason.
Is it stupid what I have done? Is there any easier way to accomplish my purpose?
Any thought or help will be much appreciated.
I attach the GH file.
Thank you,
Eduard
Version: HB 0.0.59 / LB 0.0.62…
n make it possible to Motivation generate
a variety of interesting objects, from abstract fractals to plant-like
branching structures, their modeling power is quite limited. A major
problem can be traced to the reduction of all lines to integer multiples
of the unit segment. As a result, even such a simple figure as an
isosceles right-angled triangle cannot be traced exactly, since the ratio
of its hypotenuse length to the length of a side is expressed by the irrational
number √2. Rational approximation of line length provides only
a limited solution, because the unit step must be the smallest common
1
1
√2
denominator of all line lengths in the modeled structure. Consequently,
the representation of a simple plant module, such as an internode, may
require a large number of symbols. The same argument applies to angles.
Problems become even more pronounced while simulating changes
to the modeled structure over time, since some growth functions cannot
be expressed conveniently using L-systems. Generally, it is difficult
1.10. Parametric L-systems 41
to capture continuous phenomena, since the obvious technique of discretizing
continuous values may require a large number of quantization
levels, yielding L-systems with hundreds of symbols and productions.
Consequently, model specification becomes difficult, and the mathematical
beauty of L-systems is lost.
In order to solve similar problems, Lindenmayer proposed that numerical
parameters be associated with L-system symbols [83]. He illustrated
this idea by referring to the continuous development of branching
structures and diffusion of chemical compounds in a nonbranching filament
of Anabaena catenula.
The following is an example of its application:
starting string: A
p1: A F(1)[+A][-A]
P2: F(s) F(s*R)
which I think is basically trying to say
F(s) = move forwar a step of length s > 0.
Thanks again,
Mateo…
see in my bottom post image there is only one isocurve showing in U and V.
In Grasshopper there's no surface rebuild? Well, the same old Grasshopper Patch command will let you specify spans I guess, to make a surface from a planar curve, but it won't work for things with holes since they will just fill in!
You can recreate a surface painfully by untrimming, adding many UV points, rebuilding from those points, then retrimming with the original surface info, but the retrimming simply fails.
If you make a planar surface from a curve in Rhino, you end up with utterly no point editability:
No wonder my CreatePatch tests were a failure. The starting surface could not be distorted except in the extreme case of moving four corner points!
I have no idea how to successfully rebuild a surface akin to the Rhino rebuild command. It's great to be able to prototype in Grasshopper, but with Python I can rebuild easily ( http://4.rhino3d.com/5/rhinocommon/?topic=html/M_Rhino_Geometry_Surface_Rebuild.htm ;), so I guess I should start a collection, like peter, of little script components for prototyping with.…
Added by Nik Willmore at 6:18am on February 26, 2016
on this, but to my understanding, the Δt_pr used is the same - the equations used to calculate are not. Take a look at this (from EN 7730 as well):
If I can make some wishes too; it would be cool, if you included the last local comfort metrics from EN7730 in LB/HB as well. Besides the local asymmetry there are: an equation for warm/cold floors, stratification and draught. I know, that you will need preform a CFD simulation to properly calculate stratification and draught, but the comfort equations are really simple and seeing that you have(might have) a CFD tool under way it could be useful. Anyways I think it would possible to import external generated CFD data to grasshopper.
The pictures in my previous post are from a paper called: "A simplified calculation method for checking the indoor thermal climate" by B.W. Olesen, it can be found in ASHRAE 1983, vol. 25, issue 5. I don't know if there have been any updates to it since '83.
Looking forward for the new components, and if there is anything I can help with please let me know.
/Christian
…
[2 of 8] No context surfaces...5. [3 of 8] Writing geometry...6. [4 of 8] Writing Electric Load Center - Generator specifications ...7. [5 of 8] Writing materials and constructions...8. [6 of 8] Writing schedules...9. [7 of 8] Writing loads and ideal air system...10. [8 of 8] Writing outputs...11. ...... idf file is successfully written to : C:\Users\Personal\Desktop\TESI\x006\THOR001\EnergyPlus\THOR001.idf12. 13. Analysis is running!...14. C:\Users\Personal\Desktop\TESI\x006\THOR001\EnergyPlus\eplusout.csv15. ......
Done! Read below for errors and warnings:
16. 17. Program Version,EnergyPlus, Version 8.3.0-6d97d074ea, YMD=2016.01.17 17:56,IDD_Version 8.3.018. 19. ** Warning ** IP: Note -- Some missing fields have been filled with defaults. See the audit output file for details.20. 21. ************* Beginning Zone Sizing Calculations22. 23. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)24. 25. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=00126. 27. ** ~~~ ** because vertex 1 of back surface=PELLE_NORD1 is in front of receiving surface=PELLE_COMUNIONE00128. 29. ** ~~~ ** (Dot Product indicator=184.4593)30. 31. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.32. 33. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)34. 35. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=00136. 37. ** ~~~ ** because vertex 2 of back surface=PELLE_NORD1 is in front of receiving surface=PELLE_COMUNIONE00138. 39. ** ~~~ ** (Dot Product indicator=184.4593)40. 41. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.42. 43. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)44. 45. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=00146. 47. ** ~~~ ** because vertex 3 of back surface=PELLE_NORD1 is in front of receiving surface=PELLE_COMUNIONE00148. 49. ** ~~~ ** (Dot Product indicator=184.4593)50. 51. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.52. 53. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)54. 55. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=00156. 57. ** ~~~ ** because vertex 4 of back surface=PELLE_NORD1 is in front of receiving surface=PELLE_COMUNIONE00158. 59. ** ~~~ ** (Dot Product indicator=184.4593)60. 61. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.62. 63. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)64. 65. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=00166. 67. ** ~~~ ** because vertex 1 of back surface=PELLE_NORD2 is in front of receiving surface=PELLE_COMUNIONE00168. 69. ** ~~~ ** (Dot Product indicator=184.4593)70. 71. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.72. 73. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)74. 75. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=00176. 77. ** ~~~ ** because vertex 2 of back surface=PELLE_NORD2 is in front of receiving surface=PELLE_COMUNIONE00178. 79. ** ~~~ ** (Dot Product indicator=184.4593)80. 81. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.82. 83. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)84. 85. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=00186. 87. ** ~~~ ** because vertex 3 of back surface=PELLE_NORD2 is in front of receiving surface=PELLE_COMUNIONE00188. 89. ** ~~~ ** (Dot Product indicator=184.4593)90. 91. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.92. 93. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)94. 95. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=00196. 97. ** ~~~ ** because vertex 4 of back surface=PELLE_NORD2 is in front of receiving surface=PELLE_COMUNIONE00198. 99. ** ~~~ ** (Dot Product indicator=184.4593)100. 101. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.102. 103. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)104. 105. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001106. 107. ** ~~~ ** because vertex 1 of back surface=PELLE_COMUNIONE002 is in front of receiving surface=PELLE_COMUNIONE001108. 109. ** ~~~ ** (Dot Product indicator=184.4593)110. 111. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.112. 113. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)114. 115. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001116. 117. ** ~~~ ** because vertex 2 of back surface=PELLE_COMUNIONE002 is in front of receiving surface=PELLE_COMUNIONE001118. 119. ** ~~~ ** (Dot Product indicator=184.4593)120. 121. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.122. 123. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)124. 125. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001126. 127. ** ~~~ ** because vertex 1 of back surface=WIN_006_GLZP_0 is in front of receiving surface=PELLE_COMUNIONE001128. 129. ** ~~~ ** (Dot Product indicator=182.6148)130. 131. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.132. 133. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)134. 135. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001136. 137. ** ~~~ ** because vertex 2 of back surface=WIN_006_GLZP_0 is in front of receiving surface=PELLE_COMUNIONE001138. 139. ** ~~~ ** (Dot Product indicator=92.2297)140. 141. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.142. 143. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)144. 145. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001146. 147. ** ~~~ ** because vertex 3 of back surface=WIN_006_GLZP_0 is in front of receiving surface=PELLE_COMUNIONE001148. 149. ** ~~~ ** (Dot Product indicator=92.2297)150. 151. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.152. 153. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)154. 155. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001156. 157. ** ~~~ ** because vertex 1 of back surface=WIN_006_GLZP_1 is in front of receiving surface=PELLE_COMUNIONE001158. 159. ** ~~~ ** (Dot Product indicator=182.6148)160. 161. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.162. 163. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)164. 165. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001166. 167. ** ~~~ ** because vertex 2 of back surface=WIN_006_GLZP_1 is in front of receiving surface=PELLE_COMUNIONE001168. 169. ** ~~~ ** (Dot Product indicator=92.2297)170. 171. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.172. 173. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)174. 175. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001176. 177. ** ~~~ ** because vertex 3 of back surface=WIN_006_GLZP_1 is in front of receiving surface=PELLE_COMUNIONE001178. 179. ** ~~~ ** (Dot Product indicator=182.6148)180. 181. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.182. 183. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)184. 185. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001186. 187. ** ~~~ ** because vertex 1 of back surface=WIN_006_GLZP_2 is in front of receiving surface=PELLE_COMUNIONE001188. 189. ** ~~~ ** (Dot Product indicator=92.2297)190. 191. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.192. 193. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)194. 195. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001196. 197. ** ~~~ ** because vertex 2 of back surface=WIN_006_GLZP_2 is in front of receiving surface=PELLE_COMUNIONE001198. 199. ** ~~~ ** (Dot Product indicator=1.8446)200. 201. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.202. 203. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)204. 205. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001206. 207. ** ~~~ ** because vertex 3 of back surface=WIN_006_GLZP_2 is in front of receiving surface=PELLE_COMUNIONE001208. 209. ** ~~~ ** (Dot Product indicator=1.8446)210. 211. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.212. 213. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)214. 215. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001216. 217. ** ~~~ ** because vertex 1 of back surface=WIN_006_GLZP_3 is in front of receiving surface=PELLE_COMUNIONE001218. 219. ** ~~~ ** (Dot Product indicator=92.2297)220. 221. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.222. 223. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)224. 225. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001226. 227. ** ~~~ ** because vertex 2 of back surface=WIN_006_GLZP_3 is in front of receiving surface=PELLE_COMUNIONE001228. 229. ** ~~~ ** (Dot Product indicator=1.8446)230. 231. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.232. 233. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)234. 235. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001236. 237. ** ~~~ ** because vertex 3 of back surface=WIN_006_GLZP_3 is in front of receiving surface=PELLE_COMUNIONE001238. 239. ** ~~~ ** (Dot Product indicator=92.2297)240. 241. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.242. 243. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)244. 245. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001246. 247. ** ~~~ ** because vertex 3 of back surface=PELLE_COMUNIONE003 is in front of receiving surface=PELLE_COMUNIONE001248. 249. ** ~~~ ** (Dot Product indicator=184.4593)250. 251. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.252. 253. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)254. 255. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001256. 257. ** ~~~ ** because vertex 4 of back surface=PELLE_COMUNIONE003 is in front of receiving surface=PELLE_COMUNIONE001258. 259. ** ~~~ ** (Dot Product indicator=184.4593)260. 261. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.262. 263. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)264. 265. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001266. 267. ** ~~~ ** because vertex 1 of back surface=PELLE_EST is in front of receiving surface=PELLE_COMUNIONE001268. 269. ** ~~~ ** (Dot Product indicator=184.4593)270. 271. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.272. 273. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)274. 275. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001276. 277. ** ~~~ ** because vertex 2 of back surface=PELLE_EST is in front of receiving surface=PELLE_COMUNIONE001278. 279. ** ~~~ ** (Dot Product indicator=184.4593)280. 281. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.282. 283. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)284. 285. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001286. 287. ** ~~~ ** because vertex 1 of back surface=WIN_001_GLZP_0 is in front of receiving surface=PELLE_COMUNIONE001288. 289. ** ~~~ ** (Dot Product indicator=180.7210)290. 291. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.292. 293. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)294. 295. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001296. 297. ** ~~~ ** because vertex 3 of back surface=WIN_001_GLZP_0 is in front of receiving surface=PELLE_COMUNIONE001298. 299. ** ~~~ ** (Dot Product indicator=180.7210)300. 301. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.302. 303. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)304. 305. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001306. 307. ** ~~~ ** because vertex 2 of back surface=WIN_001_GLZP_1 is in front of receiving surface=PELLE_COMUNIONE001308. 309. ** ~~~ ** (Dot Product indicator=180.7210)310. 311. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.312. 313. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)314. 315. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001316. 317. ** ~~~ ** because vertex 3 of back surface=WIN_001_GLZP_2 is in front of receiving surface=PELLE_COMUNIONE001318. 319. ** ~~~ ** (Dot Product indicator=180.7210)320. 321. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.322. 323. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)324. 325. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001326. 327. ** ~~~ ** because vertex 3 of back surface=PELLE_OVEST is in front of receiving surface=PELLE_COMUNIONE001328. 329. ** ~~~ ** (Dot Product indicator=184.4593)330. 331. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.332. 333. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)334. 335. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001336. 337. ** ~~~ ** because vertex 4 of back surface=PELLE_OVEST is in front of receiving surface=PELLE_COMUNIONE001338. 339. ** ~~~ ** (Dot Product indicator=184.4593)340. 341. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.342. 343. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)344. 345. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001346. 347. ** ~~~ ** because vertex 1 of back surface=WIN_002_GLZP_0 is in front of receiving surface=PELLE_COMUNIONE001348. 349. ** ~~~ ** (Dot Product indicator=180.7210)350. 351. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.352. 353. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)354. 355. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001356. 357. ** ~~~ ** because vertex 3 of back surface=WIN_002_GLZP_0 is in front of receiving surface=PELLE_COMUNIONE001358. 359. ** ~~~ ** (Dot Product indicator=180.7210)360. 361. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.362. 363. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)364. 365. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001366. 367. ** ~~~ ** because vertex 2 of back surface=WIN_002_GLZP_1 is in front of receiving surface=PELLE_COMUNIONE001368. 369. ** ~~~ ** (Dot Product indicator=180.7210)370. 371. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.372. 373. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)374. 375. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001376. 377. ** ~~~ ** because vertex 1 of back surface=WIN_002_GLZP_2 is in front of receiving surface=PELLE_COMUNIONE001378. 379. ** ~~~ ** (Dot Product indicator=180.7210)380. 381. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.382. 383. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)384. 385. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001386. 387. ** ~~~ ** because vertex 3 of back surface=PELLE_SOTTO is in front of receiving surface=PELLE_COMUNIONE001388. 389. ** ~~~ ** (Dot Product indicator=184.4593)390. 391. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.392. 393. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)394. 395. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001396. 397. ** ~~~ ** because vertex 4 of back surface=PELLE_SOTTO is in front of receiving surface=PELLE_COMUNIONE001398. 399. ** ~~~ ** (Dot Product indicator=184.4593)400. 401. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.402. 403. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)404. 405. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001406. 407. ** ~~~ ** because vertex 7 of back surface=PELLE_SOTTO is in front of receiving surface=PELLE_COMUNIONE001408. 409. ** ~~~ ** (Dot Product indicator=184.4593)410. 411. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.412. 413. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)414. 415. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001416. 417. ** ~~~ ** because vertex 8 of back surface=PELLE_SOTTO is in front of receiving surface=PELLE_COMUNIONE001418. 419. ** ~~~ ** (Dot Product indicator=184.4593)420. 421. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.422. 423. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)424. 425. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001426. 427. ** ~~~ ** because vertex 1 of back surface=PELLE_SOPRA_DUP is in front of receiving surface=PELLE_COMUNIONE001428. 429. ** ~~~ ** (Dot Product indicator=184.4593)430. 431. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.432. 433. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)434. 435. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001436. 437. ** ~~~ ** because vertex 4 of back surface=PELLE_SOPRA_DUP is in front of receiving surface=PELLE_COMUNIONE001438. 439. ** ~~~ ** (Dot Product indicator=184.4593)440. 441. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.442. 443. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)444. 445. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001446. 447. ** ~~~ ** because vertex 5 of back surface=PELLE_SOPRA_DUP is in front of receiving surface=PELLE_COMUNIONE001448. 449. ** ~~~ ** (Dot Product indicator=184.4593)450. 451. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.452. 453. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)454. 455. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001456. 457. ** ~~~ ** because vertex 8 of back surface=PELLE_SOPRA_DUP is in front of receiving surface=PELLE_COMUNIONE001458. 459. ** ~~~ ** (Dot Product indicator=184.4593)460. 461. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.462. 463. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)464. 465. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001466. 467. ** ~~~ ** because vertex 1 of back surface=PELLE_NORD2 is in front of receiving surface=PELLE_COMUNIONE002468. 469. ** ~~~ ** (Dot Product indicator=167.5695)470. 471. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.472. 473. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)474. 475. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001476. 477. ** ~~~ ** because vertex 2 of back surface=PELLE_NORD2 is in front of receiving surface=PELLE_COMUNIONE002478. 479. ** ~~~ ** (Dot Product indicator=167.5695)480. 481. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.482. 483. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)484. 485. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001486. 487. ** ~~~ ** because vertex 3 of back surface=PELLE_NORD2 is in front of receiving surface=PELLE_COMUNIONE002488. 489. ** ~~~ ** (Dot Product indicator=195.1092)490. 491. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.492. 493. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)494. 495. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001496. 497. ** ~~~ ** because vertex 4 of back surface=PELLE_NORD2 is in front of receiving surface=PELLE_COMUNIONE002498. 499. ** ~~~ ** (Dot Product indicator=195.1092)500. 501. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.502. 503. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)504. 505. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001506. 507. ** ~~~ ** because vertex 3 of back surface=PELLE_COMUNIONE001 is in front of receiving surface=PELLE_COMUNIONE002508. 509. ** ~~~ ** (Dot Product indicator=167.5695)510. 511. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.512. 513. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)514. 515. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001516. 517. ** ~~~ ** because vertex 4 of back surface=PELLE_COMUNIONE001 is in front of receiving surface=PELLE_COMUNIONE002518. 519. ** ~~~ ** (Dot Product indicator=167.5695)520. 521. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.522. 523. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)524. 525. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001526. 527. ** ~~~ ** because vertex 1 of back surface=WIN_005 is in front of receiving surface=PELLE_COMUNIONE002528. 529. ** ~~~ ** (Dot Product indicator=32.0568)530. 531. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.532. 533. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)534. 535. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001536. 537. ** ~~~ ** because vertex 2 of back surface=WIN_005 is in front of receiving surface=PELLE_COMUNIONE002538. 539. ** ~~~ ** (Dot Product indicator=139.1556)540. 541. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.542. 543. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)544. 545. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001546. 547. ** ~~~ ** because vertex 3 of back surface=WIN_005 is in front of receiving surface=PELLE_COMUNIONE002548. 549. ** ~~~ ** (Dot Product indicator=139.1556)550. 551. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.552. 553. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)554. 555. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001556. 557. ** ~~~ ** because vertex 4 of back surface=WIN_005 is in front of receiving surface=PELLE_COMUNIONE002558. 559. ** ~~~ ** (Dot Product indicator=32.0568)560. 561. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.562. 563. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)564. 565. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001566. 567. ** ~~~ ** because vertex 1 of back surface=PELLE_COMUNIONE003 is in front of receiving surface=PELLE_COMUNIONE002568. 569. ** ~~~ ** (Dot Product indicator=167.5695)570. 571. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.572. 573. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)574. 575. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001576. 577. ** ~~~ ** because vertex 2 of back surface=PELLE_COMUNIONE003 is in front of receiving surface=PELLE_COMUNIONE002578. 579. ** ~~~ ** (Dot Product indicator=167.5695)580. 581. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.582. 583. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)584. 585. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001586. 587. ** ~~~ ** because vertex 3 of back surface=PELLE_COMUNIONE003 is in front of receiving surface=PELLE_COMUNIONE002588. 589. ** ~~~ ** (Dot Product indicator=167.5695)590. 591. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.592. 593. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)594. 595. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001596. 597. ** ~~~ ** because vertex 4 of back surface=PELLE_COMUNIONE003 is in front of receiving surface=PELLE_COMUNIONE002598. 599. ** ~~~ ** (Dot Product indicator=167.5695)600. 601. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.602. 603. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)604. 605. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001606. 607. ** ~~~ ** because vertex 1 of back surface=PELLE_EST is in front of receiving surface=PELLE_COMUNIONE002608. 609. ** ~~~ ** (Dot Product indicator=195.1092)610. 611. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.612. 613. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)614. 615. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001616. 617. ** ~~~ ** because vertex 2 of back surface=PELLE_EST is in front of receiving surface=PELLE_COMUNIONE002618. 619. ** ~~~ ** (Dot Product indicator=195.1092)620. 621. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.622. 623. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)624. 625. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001626. 627. ** ~~~ ** because vertex 3 of back surface=PELLE_EST is in front of receiving surface=PELLE_COMUNIONE002628. 629. ** ~~~ ** (Dot Product indicator=195.1092)630. 631. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.632. 633. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)634. 635. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001636. 637. ** ~~~ ** because vertex 4 of back surface=PELLE_EST is in front of receiving surface=PELLE_COMUNIONE002638. 639. ** ~~~ ** (Dot Product indicator=195.1092)640. 641. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.642. 643. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)644. 645. ** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone=001646. 647. ** ~~~ ** because vertex 5 of back surface=PELLE_EST is in front of receiving surface=PELLE_COMUNIONE002648. 649. ** ~~~ ** (Dot Product indicator=195.1092)650. 651. ** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.652. 653. ** Severe ** Problem in interior solar distribution calculation (CHKBKS)654. [...]
thisthe errorthat appen when i lunch E+ with only one zone....what is going on???? …
(twice the amount of lines, it'll take twice as long).
If you nest two loops you're iterating over each line, and then you iterate again over each line. So when you now have twice as many lines, it takes four times as long O(N*N) or O(N²)
With an octree you can reduce the second iteration from O(N) to O(log N). The reason octrees are fast is because they allow you to quickly reject large amounts of lines in your set. Lines are no longer stored in a list, but rather in recursive spatial buckets. If we determine that a certain bucket is too far away to possibly yield any valid results, we can instantly skip all the lines in that buckets and any sub-buckets. If you're lucky, you can reject ~85% of the local data in every iteration, which means even large collections of lines are reduced to only a few potential candidates very quickly.
Thinking about this I'm actually not sure now whether lookup in my Tree3d class is O(log N) or O(sqrt N), but the basic principle holds. The reason the resulting algorithm is O(N * log N) is because the outer loop is still O(N) but the inner loop is now replaced with an O(log N) searcher, so you end up with O(N) * O(log N) = O(N log N)
At least that's how I think it works, computational theory has never been my strong suit.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 4:55pm on November 29, 2012