ld work.
For example there's a grid shell and I've got a number of control points (for example 3) that can move up and down.
Depending on the control points I get forms that are structurally good and some that are bad.
In my office we've got a GH-Component, which leads the geometry in structural members and solves the structural forces and so on through an external Software called Sofistik and afterwards gives back to GH some Values, for example maximum bending moments. (Like Karamba)
Now I want to create this optimization component or something like that to minimize e.g. the bending moments in the given geometry.
Let's start with the work of the component.
So when I've three control points that can only move in z-direction.
P1(0,0,Z1), P2(10,0,Z2), P3(5,5,Z3)
They only depend on Z, so everything depends on Z1 to Z3 which have a range between 0 and 10 f.e.
First I want to get some (between 9 and 15) random Particles, one particle consists of this 3 different Z's.
So for example the first particle Part1 is [Z1=10, Z2=5, Z3=7]
and the second particle Part2 is [Z1=7, Z2=1, Z3=9]
and so on.
I created these Start Particles in a Cluster. See attached file.
I also tried this in C#, but thought it is easier in GH.
After I've got the Start Particles I want to give out the first particle and evaluate with its including Z's the target value in GH. Therefore I had to take the first branch and graft this branch (Discussion before)
Afterwards I want to save this Target Value that depends on the first starting Particle. Then I want to give out the second starting Particle to evaluate its target Value and store it. And so on till the last target Value of the last Starting Particle got assigned.
Then I want to assign the particles with its target values. E.g. part1: t=0.9, part2: t=1.8...
Then I want to define neighborhoods or the count of the expected local minima.
These neighborhoods can look like: Each neighborhood has to include not less than 3 particles. And the particles have to be next to each other.
E.g. if there are 12 particles and I want to have a look for 3 local minima, I need 3 or 4 neighborhoods. Then I would take 3 neighborhoods, because the more particles in one neighborhood, the better.
So the Count of the neighborhoods would be N=min{(Count of Part/3)& N_min}
How to define these neighborhoods I don't know at the moment. I think it has to be searched for the distance between the particles. E.g. part1 with (9,9,9) and part2 with (9,9,8) are next to each other but part 3 with(1,1,2) is far away.
Then each StartParticle is set to Partx_localbest.
And in each Neighbourhood the best of these localbeststs is Part_NyBest. (The best ist the one with the smallest target Value)
Loop:
Now I want to create new Particles. These Particles don't change their Z-values randomly. They change their Z-Values depending on Part_NxBest and Part_localBest. Therefore it has to be evaluated a new velocityfactor with v_Partx_new=0,792*v_PartxOld+1,5*random(0,1)*(partx_localbest-partx)+1,5*random(0,1)*(part_NyBest-partx)
The new particles will then be partx_new=partx+v_Partx_new.
The new Particle partx_new will be set to partx and then set in the output.
then there has to be caught the targetValue of part1 afterwards part2 can be put out and its target value caught and so on.
Then it has to be looked for the Partx_localbest through comparing the partx_localbest and its target value with the new part_x and its target value. If the target value of the new partx is smaller than partx_localbest,
then partx_localbest is the new partx.
This has to be done for each partx. Afterwards the same for neighborhoods best (best of all partx_localbest in one neighborhood)
Endloop if velocity gets small.
Output all part_NxBest
Output all targetvalues of the part_NxBests.
So in the Input there have to be:
StartParticles if they are given through the cluster attached.
Device on the target Value like in the attached gh.file from David Rutten I found in the discussions
Count of neighborhoods
And in the output
Output particle for evaluation
Output all part_NxBest
Output all targetvalues of the part_NxBests
Hope didn’t forget anything. And hope it isn’t crushed to badly. Sorry for my bad English by the way ;-)
For more explanation, how the PSO works in other programs. There’s attached a workflow script (is it called like that?) I think for GH it should be a little bit changed like I tried in my explanations.
So if you can help me a in some parts or you have any advices would be great, otherwise thank you nevertheless!!!!
Thankfully there’s no limit for the words in the discussions :-D
Best, Heiko
…
geode. The faceting system also references the original use of triangulation for mapping three dimensional landscapes.
My question responds to the need to control the edges lengths and angles within the triangles to make the process of construction possible. We are hoping to keep the edges under 28 inches and the minimum angle more than 15 degrees. What would be your suggestion in grasshopper?
Our process for getting the facet was also... the long way.
1. draw curves based on three dimension measurements of interior
2. networks surface the four curves
3. mesh surface
4. triangulate mesh
5. reduce polygons
6. splitmeshedge where necessary to make quadrilaterals triangles once more
Any suggestions?…
Added by Amanda Gann at 8:57pm on December 4, 2013
TB of RAM. I think I'm going to start a GoFundMe campaign to buy one for myself :)
2- The server's cost is about $13 an hour. I get free access to supercomputer through my university and xsede.org because I earned an NSF Honorable mention last March, however, the supercomputers available through both resources are a little complicated for me to use, as opposed to the one available from amazon that has Microsoft server 2012 already installed.
3- I wanted to run 400 annual glare simulations for 400 different views.
4- I tried a to perform annual glare simulation for one view on my Dell XPS that has Intel Core i7-6700HQ processor and 16GB of system memory. The simulation took 2 hours to complete. Radiance parameter ab was set to 6.
5- I wanted to obtain the batch file for each view so I can run them on the server. So I used the fly component to run all 400 simulations and closed the cmd windows, that wasn't bad ( for me at least) because I asked my son to this job for me, he was just glad to help me :)
6- I created one batch file using this cmd command:
dir /s /b *.bat > runall.bat
This created a file with the path to each .bat file. I edited this file in Notepad++ to include the word "start" at the beginning of each line. This was done using the "find and replace" dialogue box.
7- I split my newly created batch file into 3 batch files, each one has about 130 file names and " start" before the file names.
8- installed radiance on my server
9- Ran the first batch file on the server, this started 130 cmd windows performing my simulations, CPU usage was anywhere between 90% to 100% and about 105 GB of RAMs were used.
10. It took about 5 hours to complete all 130 simulations, I expected to run all in 2 hours but can't complain because this would've taken about 260 hours to run on my laptop. After the simulations done I ran the second and then the third batch files ( total of about 15 hours).
11. I got 400 valid dgb files. Couldn't be happier!
…
looking to achieve is to replace every 25 value in a list with 0, 40 with 1, 15 with 2 and 60 with 3. This is what I have so far:
listArray = x
searchList = y
writeList = z
for n, i in enumerate(listArray):
if i == searchList[0]:
listArray[n] = writeList[0]
elif i == searchList[1]:
listArray[n] = writeList[1]
elif i == searchList[2]:
listArray[n] = writeList[2]
elif i == searchList[3]:
listArray[n] = writeList[3]
a = listArray
Any help appreciated,
Cheers,
…
ocessed once Grasshopper is done with whatever it's doing now.
3) Grasshopper tells the Slider object that the mouse moved and the slider works out the new value as implied by the new cursor position.
4) The slider then expires itself and its dependencies ([VB Step 1] in this case, but there can be any number of dependent objects).
5) When [VB Step 1] is expired by the slider, it will in turn expire its dependencies (VB Step 2), and so on, recursively until all indirect dependencies of the slider have been expired.
6) When the expiration shockwave has subsided, runtime control is returned to the slider object, which tells the parent document that stuff has changed and that a new solution is much sought after.
7) The Document class then iterates over all its objects (they are stored in View order, not from left to right), solving each one in turn. (Assuming the object needs solving, but since in your example ALL objects will be expired by a slider change, I shall assume that here).
8) It's hard to tell which object will get triggered first. You'd have to superimpose them in order to see which one is visually the bottom-most object, but let's assume for purposes of completeness that it's the [VB Step 1] object which is solved first.
9) [VB Step 1] is triggered by the document, which causes it to collect all the input data.
10) The input parameter [x] is asked to collect all its data, which in turn will trigger the Slider to solve itself (it got expired in step 4 remember?). This is not a tricky operation, it merely copies the slider value into the slider data structure and shouts "DONE!".
11) [x] then collects the number, stores it into its own data structure and returns priority to the [VB Step 1] object.
12) [VB Step 1] now has sufficient data to get started, so it will trigger the script inside of it. When the script completes, the component is all ready and it will tell the parent document it can move on to the next object (the iteration loop from step 7).
13) Let us assume that the slider object is next on the list, but since it has already been solved (it was solved because [VB Step 1] needed the value) it can be skipped right away, which leaves us with the last object in the document which is still unsolved.
14) [VB Step 2] will be triggered by the document in very much the same way as [VB Step 1] was triggered in step 9. It will also start by collecting all input data.
15) Since all the input data for [VB Step 2] is either defined locally or provided by an object which has already been solved, this process is now swift and simple.
16) Upon collecting all data and running the user script, the component will surrender priority and the document becomes active again.
17) The document triggers a redraw of the Grasshopper Canvas and the Rhino viewports and then surrenders priority again and so on and so forth all the way up the hierarchy until Grasshopper becomes idle again.
[end boring]
Pretty involved for a small 3-component setup, but there you have it.
To answer somewhat more directly your questions:
- The order in which objects are solved is the same as the order in which they are drawn. This is only the case at present, this behaviour may change in the future.
- Adding a delay will not solve anything, since the execution of all components is serial, not parallel. Adding a delay simply means putting everything on hold for N milliseconds.
- [VB Step 1] MUST be solved prior to [VB Step 2] because otherwise there'd be no data to travel from [GO] to [Activate]. The only tricky part here is that sometimes [VB Step 1] will be solved as part of the process of [VB Step 2], while at other times it may be solved purely on its own merits. This should not make a difference to you as it does not affect the order in which your scripts are called.
--
The Man from Scene 24…
Added by David Rutten at 4:43pm on December 10, 2009
unity in Ukraine, which is orientated to contemporary architecture.
The results of CANactions will be published in ACC magazine (link), on the web-sites of “Architectural club” (link), AB "ZOTOV&CO" (www.zotov.com.ua),
Theme
Theme of CANactions 2009 is emergent design techniques.
This theme could include following architectural branches as Digital design, sustainable architecture and other sectors, which by the participants’ opinions, could be EMERGENT.???
Any architectural projects made earlier of specially for the CANactions’09 are allowed for submission.
Presentation
All the projects will be submitted in two phases:
Phase 1 – selection of 10-15 participants of CANactions.
Project has to be sent by e-mail to: (__) in PDF (not less then 300 dpi, not more then 10 Mb).
Phase 2 –the CANactions participants prepare 15-20 min presentation of their projects (screen projector, microphone) and materials for the exhibition in House of Architect, Kyiv. The project has to be presented by author. -> exhibition is the first architecture biennale
Presentation requirements: file should be composed in PDF format on A0 sheets, placed horizontal (not more then 1 sheets). This file should contain sufficient amount of the presentation graphic material, including text explanation up to 300 words.
The raster images should have printing definition not less then 300 dpi. It’s recommended to avoid solid black fillings, because the projects will be printed on ink-jet printer.
The presentation requirements could be changed after phase 1 results.
The presentation materials should be made in Ukrainian (or Russian) and English. Verbal part can be presented in any language.
Tarek Naga, Naga Studio, Los Angeles / USA (I can contact him - he will do it for free)
Awards
DIA (Dessau Institute of Architecture), Germany gives a prize: certificate for the education for 1 (2) semesters of Master-program in DIA for students and young architects (up to 30 years) from Ukraine. The decision about the prize winners will be made by selection board.
Guests presentations
- Daniel da Rocha DIA /Germany/ (flights, accommodation?). Theme: (scripting???)
- Aleksandr Kalachev DIA /Riussian Federation/, Tudor Cosmatu DIA /Romania/, Irina Bogdan DIA /Romania/ - "Parametrically Defined Urban Patterns".
- Grygorii Zotov DIA /Ukraine/ - “The Multicultural Columbarium”.
- Armen Menendian /USA/ - "Blending Parametric Methods With Traditional Design:
"The Danish Pavilion at Shanghai EXPO 2010".
Exhibitions
1. Projects of 10 (15) CANactions participants
2. other projects: Zotov+Co
Bollinger+Grohmann - structural eng.
the very many
C-Space Pavillon / alvin huang
ala _ amanda levete studio
anOtherArchitect
student work, Charles Walker, AA Unit Pavillon
Event schedule
Phase 1: 01.07.2009 – start of the CANactions 2009 and beginning of projects submission.
16.08.2009 - dead-line of the project submission of phase 1.
Phase 2: 17.08.2009 – announcement of the CANactions 2009 participants.
30.08.2009 – dead-line of submission of the CANactions 2009 exhibition materials.
14-26.09.2009 – exhibition of the CANactions 2009 projects in House of Architect, Kyiv.
25-26.09.2009 – CANactions 2009.
26.09.2009 - finnissage / announcement of competition winners for DIA study
Contacts: canactions2009@gmail.com…
Added by Grisha Zotov at 6:32am on August 10, 2009
ation production and consumption that represent our physical world in numbers and complex networks. The advent of computational systems has not only helped in developing data production but also in transmitting data between different disciplines including architecture through fields of numbers/codes. Historically, numbers and proportions played a vital role in architectural production, now; the complex flow of data is opening unexpected territories for architects. Data Flow is an advanced computational design workshop that focuses on capturing, processing and utilizing real time data from the surrounding environment by means of physical computing and parametric design tools, enabling the participants to develop informed design solutions that adapt to the environment. The workshop knowledge objective is to reconsider abstract data as a design opportunity by developing the quantitative flow of data as a qualitative design approach. /// Application To apply, please follow this link to fill the application form https://docs.google.com/forms/d/1xzKn-cZzfvu24ktTNP1ElGBAufdryfLNCXvpheucrS8/viewform /// Fees* 1700 EGP for students / 2000 EGP for graduates and young professionals * 20 % discount for early registration and payment before 22 nd of August 2014 more info on the workshop webpage: http://www.encodestudio.net/#!dataflow/cslb…
have some spare time please fill in my 3D Printing Open Survey - If you could make almost anything, what would it be ? Updated results are publicly available after completing questionnaire (Please press "Wyślij" - Send button and "Wyniki ankiety" - Results button at the end). This survey will be used to evaluate demand for 3d printing services globally. It consist of 30 questions about: - open-source 3d printers - future of additive manufacturing - 3d printing services - ecology in 3d printing - copyright issues and 3d printing Three example questions: 2. Which of the following 3d printing applications is the most interesting? * - Things personalization - Printing food - Attempts to print structures resembles in functioning living tissues or blood vessels - Creating impossible or difficult to create by using conventional technology things - Printing rooms or buildings on earth/moon - Printing chemical compounds (for example drugs) - Using in renewable energy sources - Printing parts and/or mechanical vehicles 3 . Have you ever heard about cheap DIY 3D Printers (for example RepRap, PrintrBot, MakiBox A6) ? * DIY - Do It Yourself - Yes - No 4 . When 3D Printers will become one of the typical household appliances ? * - After 5 years - After 10 years - After 15 years - After 20 years or later - Never - I don't know Feel free to ask questions!…
tar Digital Process: Generative Design Technologies Workshop; Taller especializado que se llevara a cabo en 4 de las ciudades mas importantes de la republica mexicana [Puebla] [Mexico DF] [Guadalajara] [Leon] en Enero y Febrero de 2012.http://gendesigntech.wordpress.com/
Enfocado principalmente a arquitectos, diseñadores industriales, diseñadores de interiores, Urbanistas, Artistas digitales, estudiantes y profesionistas afines al diseño; este Workshop tiene como objetivo proporcionar a los participantes los conocimientos y recursos tecnológicos que les permitan desarrollar los elementos de un proyecto desde la concepción hasta su aplicación de manera completa.Apoyándose en un conjunto potente y flexible de plataformas, los participantes aprenderán a generar, analizar y racionalizar morfologías complejas, formas orgánicas libres y algoritmos computacionales avanzados así como a producir visualizaciones fotorealístas aplicables en diversos proyectos de Diseño.A lo largo de 5 dias de intenso trabajo, exploración y retroalimentación los participantes seran guiados en el desarrollo de un flujo de trabajo mas dinamico, que les permitira explotar al maximo el potencial de las herramientas y potencializar sus habilidades, aptitudes y capacidades.Instructores:Leonardo Nuevo Arenas [Complex Geometry]José Eduardo Sánchez [DesignNest]Daniel Camiro/Luis de la Parra [Chido Studio]http://issuu.com/chidostudiodiseno/docs/digproworkConoce el programa aquí.http://gendesigntech.wordpress.com/program/Para registrarte por favor visita.http://gendesigntech.wordpress.com/registro…