53 → 53 → 63 → 74 → 74 → 84 → 9
As you can see from the above list the connection sequence comes in waves of three, where each group of similar indices on the left is associated with a group of three incrementing indices on the right.
Some combination of Series components will probably generate this list, but it'll only work for the first ring, the second one will need a different connection pattern. It is perhaps better to just encode the integer pairs by hand. But then you cannot change your mind about the number of sides later.…
Added by David Rutten at 10:39am on October 21, 2015
rom the tree and work with it in the script. I'm then able to output new information as a data tree. My only issue is that I'm not sure how to make the paths of my new data tree match those the input tree(in the image, the input path on the left is {19:0}, {19;1} etc. and the output is {0;0},{1;0} etc (this was an arbitrary path i made in the script when adding items to the tree. I basically want the circled parts to match each other).I've been able to fix this by using the "match tree" component, but I'm wondering if there is a way to do this within the python script itself, so I don't have to have Match tree components all over. Thanks!…
Added by Dennis Goff at 3:34pm on November 5, 2015
ay how many valid permutations exist.
But allow me to guesstimate a number for 20 components (no more, no less). Here are my starting assumptions:
Let's say the average input and output parameter count of any component is 2. So we have 20 components, each with 2 inputs and 2 outputs.
There are roughly 35 types of parameter, so the odds of connecting two parameters at random that have the same type are roughly 3%. However there are many conversions defined and often you want a parameter of type A to seed a parameter of type B. So let's say that 10% of random connections are in fact valid. (This assumption ignores the obvious fact that certain parameters (number, point, vector) are far more common than others, so the odds of connecting identical types are actually much higher than 3%)
Now even when data can be shared between two parameters, that doesn't mean that hooking them up will result in a valid operation (let's ignore for the time being that the far majority of combinations that are valid are also bullshit). So let's say that even when we manage to pick two parameters that can communicate, the odds of us ending up with a valid component combo are still only 1 in 2.
We will limit ourselves to only single connections between parameters. At no point will a single parameter seed more than one recipient and at no point will any parameter have more than one source. We do allow for parameters which do not share or receive data.
So let's start by creating the total number of permutations that are possible simply by positioning all 20 components from left to right. This is important because we're not allowed to make wires go from right to left. The left most component can be any one of 20. So we have 20 possible permutations for the first one. Then for each of those we have 19 options to fill the second-left-most slot. 20×19×18×17×...×3×2×1 = 20! ~2.5×1018.
We can now start drawing wires from the output of component #1 to the inputs of any of the other components. We can choose to share no outputs, output #1, output #2 or both with any of the downstream components (19 of them, with two inputs each). That's 2×(19×2) + (19×2)×(19×2-1) ~ 1500 possible connections we can make for the outputs of the first component. The second component is very similar, but it only has 18 possible targets and some of the inputs will already have been used. So now we have 2×(18×2-1) + (18×2-1)×(18×2-1) ~1300. If we very roughly (not to mention very incorrectly, but I'm too tired to do the math properly) extrapolate to the other 18 components where the number of possible connections decreases in a similar fashion thoughout, we end up with a total number of 1500×1300×1140×1007×891×789×697×...×83×51×24×1 which is roughly 6.5×1050. However note that only 10% of these wires connect compatible parameters and only 50% of those will connect compatible components. So the number of valid connections we can make is roughly 3×1049.
All we have to do now is multiply the total number of valid connection per permutation with the total number of possible permutations; 20! × 3×1049 which comes to 7×1067 or 72 unvigintillion as Wolfram|Alpha tells me.
Impressive as these numbers sound, remember that by far the most of these permutations result in utter nonsense. Nonsense that produces a result, but not a meaningful one.
EDIT: This computation is way off, see this response for an improved estimate.
--
David Rutten
david@mcneel.com
Poprad, Slovakia…
Added by David Rutten at 12:06pm on March 15, 2013
rce',)Failed to copy the object. Returning the original objects...This can cause strange behaviour!Duplicate surface name! Name is changed to: Overhang (roof)_DupDuplicate surface name! Name is changed to: Adiabatic walls_DupDuplicate surface name! Name is changed to: Adiabatic walls_Dup_DupDuplicate surface name! Name is changed to: Adiabatic walls_Dup_Dup_DupDuplicate surface name! Name is changed to: Adiabatic walls_Dup_Dup_Dup_DupDuplicate surface name! Name is changed to: Adiabatic walls_Dup_Dup_Dup_Dup_DupDuplicate surface name! Name is changed to: Adiabatic walls_Dup_Dup_Dup_Dup_Dup_DupDuplicate surface name! Name is changed to: Adiabatic walls_Dup_Dup_Dup_Dup_Dup_Dup_Dup[1 of 7] Writing simulation parameters...Ground temperature data contains monthly average temperatures at 3 different depths .5 meters (1st)2 meters (2nd)4meters (3rd)respectively[2 of 6] No context surfaces...[3 of 6] Writing geometry...[4 of 6] Writing materials and constructions...[5 of 7] Writing schedules...[6 of 7] Writing loads and ideal air system...[7 of 7] Writing outputs......... idf file is successfully written to : c:\ladybug\unnamed\EnergyPlus\unnamed.idf
Analysis is running!...c:\ladybug\unnamed\EnergyPlus\eplusout.csv......
Done! Read below for errors and warnings:…