your case), then subtract one and select the item at that index. Remember that items in lists are accessed using a zero-based system, so the first item is at index 0, the second item at index 1 and so on.
It's easier however to cheat and use an index of -1 and make sure Wrap is set to True. This will allow you to select the last item in a list without measuring the length of the list first. If you use -2 you'll select the second to last item, and so on and so forth.
--
David Rutten
david@mcneel.com
Tirol, Austria…
Added by David Rutten at 12:29pm on August 30, 2013
Loop'. The fun part of the slower version is that you can see what it's doing while it's running. 'Fast Loop' gives no indication that it's working, so you want to test it with small numbers and be sure it's coded properly before bumping the iteration count up.
The GH profiler running the slow version showed between 1 and 1.5 seconds per loop, but the reality was more like ~10 seconds per loop toward the end of an 11 X 11 grid, or ~20 minutes total. It's easier to be patient because you know it's working.
The 'Fast Loop' finished the same grid in 1.6 minutes! An impressive improvement. I've been running it on a 30 X 30 grid (900 points) for ~23 minutes so far and see nothing yet. Not the ~12 minutes I had hoped for... Now 36 minutes on this loop for 900 points... hope it's not stuck. Not fast! Later - DONE!! Profiler says 59 minutes for 900 points but it was more like an hour and twenty minutes total. It succeeded, I have a single 'Closed Brep' from 900 extruded rings, baked to Rhino.
Another strategy to explore would be doing 'SUnion' on a smaller grid using the Anemone loop, then replicate it by moving it as needed to form a larger grid; then run the copies through another 'SUnion' loop. I went ahead and implemented that while waiting. It works and is fast! Started with 3 X 3 and ran the result again as 5 X 5 (9 X 25 = 225 total) in barely ~70 seconds!? Trying 36 X 36 now... 1,296 points appears to have succeeded in less than ten minutes! Though it seems to take quite awhile after the loop ends before control is restored to GH/Rhino. I'll let you do your own experiments and benchmarks.
I encapsulated the loop in a cluster called 'suLoop' (blue groups).
Internal of 'suLoop' cluster:
…
Added by Joseph Oster at 11:14pm on March 22, 2017
r [String Split] in version 0.9.0014)
The [Timer] prompts a component to up date at the set interval. in this case every 1 seconds.
The [Time] param is a placeholder for a time in the same way that a [Number] param can hold real numbers.
By using "Now" as the input to the [Time] param you will get the current time when the param updates. therefore every second it resets to the current time.
The [Text Split] is there to separate the output of [Time] in a string format at every colon ":"
Therefore "Monday, 13-MAY-2013 (11:23:30)" would become:
0 Monday, 13-MAY-2013 (1
1 23
2 30)
The next two components use this to convert it into the current seconds. Because we are after the last item "30)" we can use [List Item] on a reversed list to get the last item.
Now we have to remove the ")" with [Replace String] but we are replacing it with nothing so it disappears.
The Arrow is part of the Sketch Tool Functionality of the canvas.
Lastly the 3 different inputs should go into the three different Inputs of the [Stream Filter]
…
be done easier, but later on the geometry will change and therefore this seems the better option. But coming back to the problem
First, there were some problems concerning the zone, although it seems solved still the “runenergysimulation” gives the following warning:
1. The simulation has not run correctly because of this severe error:
** Severe ** UpdateZoneSizing: Cooling supply air temperature (calculated) within 2C of zone temperature
Do one of you know what went wrong? It probably will solve most of it.
Second, “set Zone Thresholds” gives the following warning:
1. Solution exception:global name 'maxHumidity_' is not defined
However, the component is missing the max humidity input on the list, has this to do something with the error?
All the components are up to date.
I hope it will be an easy fix.
Gr Lars
“set Zone Thresholds” runtime error
{0;0;0}0. Runtime error (UnboundNameException): global name 'maxHumidity_' is not defined1. Traceback: line 80, in checkTheInputs, "<string>" line 282, in script
"runenergysimulation” report
{0;0}0. Current document units is in Meters1. Conversion to Meters will be applied = 1.0002. TypeError('Waarde kan niet null zijn.\r\nParameternaam: source',)3. Failed to copy the object. Returning the original objects...This can cause strange behaviour!4. [1 of 8] Writing simulation parameters...5. [2 of 8] No context surfaces...6. [3 of 8] Writing geometry...7. [4 of 8] Writing Electric Load Center - Generator specifications ...8. [5 of 8] Writing materials and constructions...9. [6 of 8] Writing schedules...10. [7 of 8] Writing loads and ideal air system...11. [8 of 8] Writing outputs...12. ...... idf file is successfully written to : c:\ladybug\unnamed\EnergyPlus\unnamed.idf13. 14. Analysis is running!...15. c:\ladybug\unnamed\EnergyPlus\eplusout.csv16. ......
Done! Read below for errors and warnings:
17. 18. Program Version,EnergyPlus, Version 8.3.0-6d97d074ea, YMD=2016.03.02 20:55,IDD_Version 8.3.019. 20. ** Warning ** IP: Note -- Some missing fields have been filled with defaults. See the audit output file for details.21. 22. ************* Beginning Zone Sizing Calculations23. 24. ** Warning ** GetInternalHeatGains: People="CLASSROOMOFFICEPEOPLE", Activity Level Schedule Name values25. 26. ** ~~~ ** fall outside typical range [70,1000] W/person for Thermal Comfort Reporting.27. 28. ** ~~~ ** Odd comfort values may result; Schedule="SCHOCCUPANCYSCHEDULE".29. 30. ** ~~~ ** Entered min/max range=[0.0,1.0] W/person.31. 32. ** Warning ** Calculated design heating load for zone=CLASSROOM is zero.33. 34. ** ~~~ ** Check Sizing:Zone and ZoneControl:Thermostat inputs.35. 36. ** Severe ** UpdateZoneSizing: Cooling supply air temperature (calculated) within 2C of zone temperature37. 38. ** ~~~ ** ...check zone thermostat set point and design supply air temperatures39. 40. ** ~~~ ** ...zone name = CLASSROOM41. 42. ** ~~~ ** ...design sensible cooling load = 25499.10 W43. 44. ** ~~~ ** ...thermostat set point temp = 0.000 C45. 46. ** ~~~ ** ...zone temperature = 15.334 C47. 48. ** ~~~ ** ...supply air temperature = 15.000 C49. 50. ** ~~~ ** ...temperature difference = -0.33433 C51. 52. ** ~~~ ** ...calculated volume flow rate = 197273.21341 m3/s53. 54. ** ~~~ ** ...calculated mass flow rate = 237634.19357 kg/s55. 56. ** Warning ** ManageSizing: For a plant sizing run, there must be at least 1 Sizing:Plant object input. SimulationControl Plant Sizing option ignored.57. 58. ************* Testing Individual Branch Integrity59. 60. ************* All Branches passed integrity testing61. 62. ************* Testing Individual Supply Air Path Integrity63. 64. ************* All Supply Air Paths passed integrity testing65. 66. ************* Testing Individual Return Air Path Integrity67. 68. ************* All Return Air Paths passed integrity testing69. 70. ************* No node connection errors were found.71. 72. ************* Beginning Simulation73. 74. ************* Simulation Error Summary *************75. 76. ** Warning ** The following Report Variables were requested but not generated77. 78. ** ~~~ ** because IDF did not contain these elements or misspelled variable name -- check .rdd file79. 80. ************* Key=*, VarName=ZONE PACKAGED TERMINAL HEAT PUMP TOTAL COOLING ENERGY, Frequency=Hourly81. 82. ************* Key=*, VarName=ZONE PACKAGED TERMINAL HEAT PUMP TOTAL HEATING ENERGY, Frequency=Hourly83. 84. ************* Key=*, VarName=CHILLER ELECTRIC ENERGY, Frequency=Hourly85. 86. ************* Key=*, VarName=BOILER HEATING ENERGY, Frequency=Hourly87. 88. ************* Key=*, VarName=FAN ELECTRIC ENERGY, Frequency=Hourly89. 90. ************* Key=*, VarName=ZONE VENTILATION FAN ELECTRIC ENERGY, Frequency=Hourly91. 92. ************* Key=*, VarName=EARTH TUBE FAN ELECTRIC ENERGY, Frequency=Hourly93. 94. ************* Key=*, VarName=PUMP ELECTRIC ENERGY, Frequency=Hourly95. 96. ************* Key=*, VarName=ZONE VENTILATION TOTAL HEAT LOSS ENERGY, Frequency=Hourly97. 98. ************* Key=*, VarName=ZONE VENTILATION TOTAL HEAT GAIN ENERGY, Frequency=Hourly99. 100. ************* Key=*, VarName=EARTH TUBE ZONE SENSIBLE COOLING ENERGY, Frequency=Hourly101. 102. ************* Key=*, VarName=EARTH TUBE ZONE SENSIBLE HEATING ENERGY, Frequency=Hourly103. 104. ************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors.105. 106. ************* EnergyPlus Sizing Error Summary. During Sizing: 3 Warning; 1 Severe Errors.107. 108. ************* EnergyPlus Completed Successfully-- 5 Warning; 1 Severe Errors; Elapsed Time=00hr 00min 4.65sec109.…
em as data to inform agents behaviour in processing. The difference is that i need the whole 3d volume of the shadow and not only the projection on the ground. Is this possible with Grasshopper+ghowl?
Another thought that i had for doing this, was to construct an array of meshes in witch each mesh would represent the shadow volume for every quarter of an hour through the day (8.00 to 18.00,september 11 so aprox 48 meshes) and construct a definition in grasshopper with a slider that would control witch mesh (geometry) would be connected each time in processing for simulation.
I know that i ask a lot but any information on how to proceed with any of my 2 approaches would be very helpful.
Thank you very much in advance.
…
Added by Yiannis to gHowl at 4:47pm on December 15, 2012
ay be other issues with your geometry, but this is usually the issue people run into.)
Rays will lose energy much more slowly when a room is very reflective, but such conditions only really exist with polished painted concrete. I don't know how many such rooms you've ever been in. I can count them on one hand - and I've been to acoustic reverberation chambers on 3 continents.
Pachyderm works with a ray decimation algorithm. This means that a ray will be traced out to the cutoff time, unless it has lost enough energy that its further contribution to the impulse response is negligible. At this time, the ray is discontinued. So, the more absorption in the room, the less time it will take to run the simulation. So, more realistic absorption coefficients will allow a model to run in a more reasonable amount of time.
Gypsum board/Plasterboard will typically be between 8 and 11 percent at mid and high frequencies, and higher at low frequencies, for example. Concrete, unless polished and painted, is still a little porous, so you can probably make it 3 to 5 percent.
Regarding sources and receivers, adding more receivers adds almost nothing to calculation time (until the every end, when it extrapolates a pressure response, anyway). This is because the receivers are entered into a spatial partition system, which allows it to be done in an optimized way. Adding multiple sources will effectively multiply the calculation time by the number of sources, because the simulation needs to be repeated for each source individually.
Hopefully this helps you figure out how to run simulations with reasonable run times.
Arthur…
gh, when I bake, the geometry suddenly exists in rhino.
Second, I can seem to figure out how to set default numeric values in the component.
Protected Overrides Sub RegisterInputParams(pManager As Grasshopper.Kernel.GH_Component.GH_InputParamManager)
pManager.AddPointParameter("Focal Point", "FP", "The focal point", GH_ParamAccess.item)
pManager.AddNumberParameter("Focal Point Horiz Dist", "D", "Focal point distance from performance boundary", GH_ParamAccess.item)
pManager.AddNumberParameter("Focal Point Height", "H", "Focal point height above performance boundary", GH_ParamAccess.item)
pManager.AddPointParameter("First Row Start Point", "FR", "Location of first row in tiered seating", GH_ParamAccess.item)
pManager.AddNumberParameter("First Row Horiz Dist", "FRD", "First row distance from performance boundary", GH_ParamAccess.item)
pManager.AddNumberParameter("First Row Height", "FRH", "First row height above performance boundary", GH_ParamAccess.item)
pManager.AddNumberParameter("C Value", "C", "C value", GH_ParamAccess.item)
pManager.AddNumberParameter("Row Width", "RW", "Row width", GH_ParamAccess.item)
pManager.AddIntegerParameter("Number of Rows", "RN", "Number of Rows", GH_ParamAccess.item)
pManager.AddIntegerParameter("Construction Tolerance", "CT", "Construction Tolerance: 1=1in, 2=1/2in, 4=1/4in, 8=1/8in", GH_ParamAccess.item)
pManager.AddNumberParameter("Max Riser Height", "MR", "Maximum riser height allowed", GH_ParamAccess.item)
pManager.AddGeometryParameter("Spectator", "S", "Seated/Standing spectator", GH_ParamAccess.item)
End Sub
Protected Overrides Sub RegisterOutputParams(pManager As Grasshopper.Kernel.GH_Component.GH_OutputParamManager)
pManager.AddLineParameter("Sightlines", "SL", "Sightlines", GH_ParamAccess.list)
pManager.AddLineParameter("C Value", "CL", "Line represents C value height", GH_ParamAccess.list)
pManager.AddLineParameter("Ground Line", "GL", "Ground Line", GH_ParamAccess.list)
pManager.AddLineParameter("Tier tread", "TR", "Line represents tier treads", GH_ParamAccess.list)
pManager.AddLineParameter("Risers", "RI", "Line represents risers", GH_ParamAccess.list)
pManager.AddGeometryParameter("Spectators", "SP", "Seated Standing Spectators", GH_ParamAccess.list)
End Sub
Protected Overrides Sub SolveInstance(DA As IGH_DataAccess)
Dim newLine As New List(Of Line)
Dim newCValue As New List(Of Line)
Dim rowWidthLineList As New List(Of Line)
Dim floorLineList As New List(Of Line)
Dim riserLineList As New List(Of Line)
Dim leghtList As New List(Of String)
Dim newSeated As New List(Of GeometryBase)
Dim inputPoint As Point3d
If (Not DA.GetData(0, inputPoint)) Then Return
Dim viewPointY As Double
If (Not DA.GetData(1, viewPointY)) Then Return
Dim viewPointZ As Double
If (Not DA.GetData(2, viewPointZ)) Then Return
Dim firstRowPoint As Point3d
If (Not DA.GetData(3, firstRowPoint)) Then Return
Dim firstRowY As Double
If (Not DA.GetData(4, firstRowY)) Then Return
Dim firstRowZ As Double
If (Not DA.GetData(5, firstRowZ)) Then Return
Dim cValue As Double
If (Not DA.GetData(6, cValue)) Then Return
Dim rowWidth As Double
If (Not DA.GetData(7, rowWidth)) Then Return
Dim numberOfRows As Integer
If (Not DA.GetData(8, numberOfRows)) Then Return
Dim M As Integer
If (Not DA.GetData(9, M)) Then Return
Dim maxHeight As Double
If (Not DA.GetData(10, maxHeight)) Then Return
Dim seated As GeometryBase
If (Not DA.GetData(11, seated)) Then Return
Call addNewRow(newLine, newCValue, inputPoint, viewPointY, viewPointZ, firstRowPoint, firstRowY, firstRowZ, cValue, numberOfRows, rowWidth, rowWidthLineList, floorLineList, riserLineList, M, maxHeight, seated, newSeated)
DA.SetDataList(0, newLine)
DA.SetDataList(1, newCValue)
DA.SetDataList(2, rowWidthLineList)
DA.SetDataList(3, floorLineList)
DA.SetDataList(4, riserLineList)
DA.SetDataList(5, newSeated)
End Sub
Public Sub addNewRow(---constructor----)
---additional code----
end Sub…
chedule
02:00 pm final Jury and Student Presentation | Vorhoelzer Forum, 5th floor south
04:00 pm discussion and drinks | roofterrace, 5th floor south
05:00 pm exhibition | institute of emerging technologies room 4119, 4th floor north
06:00 pm party and leaving drinks for Prof. C. Walker | roofterrace, 5th floor north
Jury for the TUM Summer Pavilion 2011
Prof. Richard Horden | Horden Cherry Lee Arcitects, London
Prof. Dr. Tina Wolf | Institute for Technology and Design of Shell Constructions
Prof. Hermann Kaufmann | Institute for Timber Construction
Prof. Dr. Kristina Shea | Institute for Virtual Product Development
Prof. Amandus Sattler | Allmann Sattler Wappner Architekten
Prof. Manfred Grohman | Bollinger + Grohman
Dipl.-Ing. Anne Steinberger | BDA Bayern
Marcus Fischer | FinnForestMerc
Dipl. Des. Thomas Häussler | Spatialdesign
Walter Fahrenschon | Hundegger GmbH
Dipl.-Ing. Susanne Schaubeck | Institute for Urban Design and Regional Planning…
j.
if the item 0 is (16.76159) in the original list and in the reorderd list is the item n4 (16.76159) I want in a new list that integrates both indices of the number (16.76159) using the structure of the reordered list and replacing the decimal numbers for the corresponding index in the original list.
the new list would look like.
reordered index - original index
0. 11
1. 19
2. 8
etc.
as always, any help is useful.
thanks!
federico
argentina.…