ow the steps of the successful run when step 1.2 is bypassed (note that the and OpenFOAM session is open in the background while running the Butterfly demo file):
1. create wind tunnel, and use different parameters of (4,4) for _globalRefLevel_ as suggested by Theodoro in this post
2. run blockMesh:
3. run snappyHexMesh:
4. run checkMesh:
5. connect the case from checkMesh to simpleFOAM and run the simulation:
6. the simulation converged at 1865 iteration, but the results visualization part has some problem:
7. so I revised this part according to suggestions from Hagit:
8. and the results can be visualized for P and U values:
The GH file used for the successful run shown above is attached here.
Now, the following is the error I got when the case from the update fvScheme component is used for simpleFOAM simulation:
the warning message on the simpleFOAM component is:
1. Solution exception: --> OpenFOAM command Failed!#0 Foam::error::printStack(Foam::Ostream&) in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #1 Foam::sigFpe::sigHandler(int) in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #2 ? in "/lib64/libc.so.6" #3 double Foam::sumProd<double>(Foam::UList<double> const&, Foam::UList<double> const&) in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #4 Foam::PCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #5 Foam::GAMGSolver::solveCoarsestLevel(Foam::Field<double>&, Foam::Field<double> const&) const in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #6 Foam::GAMGSolver::Vcycle(Foam::PtrList<Foam::lduMatrix::smoother> const&, Foam::Field<double>&, Foam::Field<double> const&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::Field<double> >&, unsigned char) const in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #7 Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #8 Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so" #9 Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/bin/simpleFoam" #10 Foam::fvMatrix<double>::solve() in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/bin/simpleFoam" #11 ? in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/bin/simpleFoam" #12 __libc_start_main in "/lib64/libc.so.6" #13 ? in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/bin/simpleFoam"
The error message from the readMe! output node is attached below as a text file.
Hope you can kindly advise what the important steps or parameters I might have missed here. I assume it might be related to OpenFOAM rather than with the Butterfly workflow...
Thank you very much!
- Ji
…
2. See this? It's a abstract (for the moment) layout of some WIP thing: Imagine a region where "evenly" random points are placed (and then a random zNoise is added) - then a ball-pivot/delauney triangulation is applied ... then ... :
2. I use my method to create "even" points (I suspect that David's is way better/faster/cooler ... but anyway): after a random point is found (inside the region) an additional check is performed: think of the point as a "candidate" that must "pass" a 2nd constrain: if the min distance from all the already found (random) points is smaller than a user defined one > reject and try again (the "try-again" thing [call it: min distance "loops"] is also user controllable). Thus that C# captured attempts to place 122 points but due to (a) the min distance constrain AND (b) the low (about 8 in this case) amount of "try-again" loops it finishes with "only" 59 (not a big deal for this case). The interesting part is that the attempts required are 1573 (~30 times the random points returned). Of course there's a lot of factors affecting this 1573 (variable) thing ... but don't stick to that.
3. So if David uses a "similar" culling method (add some " " more, he he) ... for 80K points ... well we are talking about a BIG number of attempts.
I can provide you with a "no-even" random points C# that (I assume/guess/hope) can speed things a bit (after all: who's gonna notice an "even" random distribution of 80K points within a micro cube?).
best, Peter
…
, 2013)
The most popular year was 2008 (5 responses)
Note: According to Wikipedia: "The first version of Grasshopper, called Explicit History at the time, was originally publicly released in September 2007." Interesting coincidence.
The response to question #2 by those that began before 2007 (How long did it take for you to feel comfortable with designing computationally?):
- Years
- Don't remember, but it felt like a natural way to relate to cad.
- After a few projects
- A month.
Compared to some of the responses of those that began since 2007:
- A month
- A few months
- After 6 weeks
- About 8 weeks
- Within my second design project with GH
- five to six months
- after 1 years of self learning + over 2 years of multiple projects and continuous self learning = Computation skill is comfortable but Computational Design can not be comfortable, Crazy learning curve.
There is much diversity, but some patterns begin to emerge.
Looking forward to more responses!…
been covered since 0051 (correct me if I'm wrong):
1) Shoot for the moon first -- "Control Panel Mode" which allows for advanced interface design. See Max/MSP for example of modal function. I spent a lot of time laying out control panels so they are nice for clients and team members to look at. I spend a lot of time disabling wire display and dragging sliders and panels and graphs around into nice little clusters. Could be something as simple as a mode that disables the view of all component handles, cleans up graph objects, sliders, etc. I know the Remote Control Panel has been requested over and over again since it disappeared, but honestly it wouldn't be much use to me unless it was a full blown customizable interface. In the meantime I'll stick to my own "Canvas Control Panel" methods. (See below...)
2) More control over graph objects. Right now the bar graph for instance automatically sets the lowest and highest value displayed. Would be nice to be able to set extents manually so that you can compare apples to apples on two different lists that have different extents. Also would love to force the bar graph to show all values along x axis, not just first and last. Same goes for showing the numbers of instances for each value. Now it only shows instance numbers in oddball cases. Would like to force them to show for statistical purposes. Love percentages, but usually I also want accurate tallies. I tend to use a member index sets to generate my own lists.
3) Color input for Vectors -- there are fakey fake workarounds but none that are as versatile as simply having a color input.
4) COLOR INPUT FOR TEXT TAGS -- sorry to yell... this one really frustrates me. I often build interactive feedback systems that involve a lot of different types of data, and it is difficult to convey that input when all text is red (or green when selected).
5) Ability to justify text tags using paragraph controls -- currently default is left-justified. Would like to be able to center text horizontally and vertically, among other things.
6) Ability for text tags to handle multi-line text. Not sure the best way to implement this, but often I find myself wanting to attach 3 items of information to a particular object, and I have to string it all together in one line. Would be great if I could insert a "^M" character that stands for carriage return and have that display as multiline text (used in conjunction with above justification controls).
7) More control over Text panels. Thank you for including justification options... but sadly now it begs the question for margin and header control. Text slammed up against the left edge is pretty unsightly. Moreover, if you have labeled a text box, the drop shadow from the title bar tends to overshadow the first line of text if you have Path display turned off. Would like to add some header space to fix the problem and create a cleaner look.
8) Easier access to text font size. Buried in a Special Font... menu. I want to be able to up up down down (left right left right select start) if you know what I mean.
I guess that's it for now... just the things on the top of my head in this category. Looking forward to installing the new release, have to wait until this major project is over though.
Cheers,
Marc
…
ion y fabricación en un mismo proceso.
Para este taller se han seleccionado un conjunto de técnicas y estrategias para resolver problemas que hoy se presentan en el diseño y fabricación digital de formas complejas y euclidianas.
Bajo dos entornos de trabajo, entre técnicas interactivas y soluciones algorítmicas, se examinan conceptos y casos de estudio que le permitirán al participante decidir como y en que momento estas tecnologías pueden ser utilizadas como aliadas en los procesos de diseño y fabricación. Tomando como plataforma básica Rhino, se explora y optimiza el diseño y fabricación de topologías complejas bajo los entornos de Grasshopper, RhinoNest y RhinoCam.
En el mes de Febrero de 2010 (23 al 26 de febrero) se realizará el Workshop D.O.F Diseño-Optimizacion-Fabricacion en McNeel Argentina,
Está abierto para todas las personas y al participar obtendrás una licencia de Rhino 4.0.
Para hacer el workshop se requiere un conocimiento basico de Rhino 3.0 o 4.0
Contenidos:
1. Modelado Avanzado y sus Tecnicas. Aplanado y Desarrollo de Superficies.Anidado y distribución Nesting.
2. Introducción al Diseño Paramétrico.Definiciones Avanzadas de Grasshopper,posibilidades y limitaciones. Ajustes de escala para impresión y corte.
3. Introducción a la Manufactura en CNC - RhinoCAM 2.0. Visita al laboratorio CAM.
4. Guía Paso a Paso para la realización de un Renderizado usando Brazil 2.0. Presentación DIGITAL de proyectos.
El workshop tiene una duracion de 32 hrs. (4 dias x 8 horas por dia, horario 9 a 13 hrs y 15 a 19hrs)
Docentes
Andres Gonzalez Posada - McNeel Miami. - Grasshopper - RhinoCAM - RhinoNest
Facundo Miri - McNeel Argentina - Brazil for Rhino.
Se dictara en McNeel Argentina
Ciudad de la paz 2719 3A. - Belgrano - Capital Federal.
Costo del Curso
U$S250+IVA Curso D-O-F SIN entrega de licencia de Rhino 4
U$S350+IVA Curso D-O-F con entrega de licencia de RHino 4 Educativa (solo para docentes y estudiantes).- Precio de la licencia sola U$S195
U$S995+IVA Curso D-O-F con entrega de licencia de Rhino 4 Comercial. (profesionales y empresas) - Precio de la licencia sola U$S995
Contactos:
Facundo Miri
Facundo Miri (54-011) 4547-3458
facundo@mcneel.com
McNeel Argentina
Robert McNeel & Associates
McNeel Seattle - Miami - Buenos Aires
Ciudad de la Paz 2719 3A
www.rhino3d.TV - www.rhinofablab.com
Las personas interesadas pueden llamar al 4547-3458 o enviar mail a facundo@mcneel.com
Quienes esten fuera de la ciudad podran hacer un deposito bancario (solicitar datos de la cuenta por mail) y enviar por mail el comprobante de deposito con siguientes datos:
Nombres completos - DNI - Fecha de Nacimiento - Teléfono fijo - Celular - Correo Electrónico.
Muchas Gracias
You can find the prices at: http://www.rhino3d.com/sales/order-la.htm just click on the "Commercial" o "Student" tab.…
Added by Facundo Miri at 1:10pm on December 10, 2009
workshop setting. The workshops are open to the public. Register: http://2012.acadia.org/workshops.html Date: Sunday, Oct 21 (8:30am - 5:30pm) Workshop Location: CCA San Francisco
01. "ALGORITHMS & MATHEMATICS"
Instructors: Edmund Harriss with David Celento, Brian Lockyear Synopsis: This workshop will be collaboratively taught by both mathematicians and architects exploring what happens when "Form Follows Functions". (Grasshopper)
02. "5 AXIS ROBOTIC FABRICATION"
Instructors: Brandon Kruysman and Jonathan Proto (SCI-Arc) Synopsis: Instructors will be bringing their 5-axis Staubli TX60L robot up from the SCI-Arc Robot House. They will lead a hands-on workshop focused on its technical and creative applications. (Maya based)
03. "CASE STUDIES IN PARAMETRIC DESIGN"
Instructors: Andrew Kudless (Matsys) and Andrew Heumann (NBBJ) Synopsis: Case Studies in Parametric Design - The use of precedents in the design process has been driven by their transformative potential. (Grasshopper based)
04. "ROBOTIC PROTOTYPES"
Instructors: Michael Shiloh, Ripon DeLeon and Jason Kelly Johnson (Future Cities Lab) Synopsis: The Robotic Prototypes workshop will explore the use of Grasshopper, Firefly and Arduino as creative and technical tools in the design, simulation and prototyping of intelligent building skins.
05. "COMPUTATIONAL DESIGN STRATEGIES WITH DESIGNSCRIPT"
Synopsis: The objective of this workshop is to help participants develop appropriate design strategies using advanced computational tools based on the DesignScript language.
06. "PYTHON SCRIPTING WITH REVIT / VASARI"
Instructors: Nathan Miller (C.A.S.E.) Synopsis: The workshop will introduce users to Python-based automation and generative techniques for Conceptual Modeling in Revit and Vasari.
07. "GIS DRIVEN PARAMETRIC DESIGN"
Instructors: Sandoval, Faichney, de Monchaux (UC Berkeley) Synopsis: This workshop will introduce a design process that implements Finches and the LocalCode components, a suite of tools for working with GIS data in Rhino/Grasshopper.…
hit Commit.
I'm wondering how hard it would be to have an edit box which shows the
number the user could click inside of then type in a new number, then
hit enter. :)
2) How would I go about using one line from a table and assign each
field to a variable? Then, move a slider or something and use the values
from the next row?
background: I'm recreating elbows, Tees, and other fittings using
paramatric scripts, then baking and exporting them. Here's one source
table, http://www.wardfittings.com/Assets/PDFs/0902CatalogColorOld.pdf
page 5, the uniform elbows.
Current Setup: the attached ghx file. Create a point at 0,5,0 in a blank
document with units set to inches, then assign that point to the top
left 'Center Pnt' in the ghx file.
Current workflow:
a) Modify variables A, B, H, and Nominal Dia to match one line from the
table in the linked PDF file, page 5, table of regular elbows.
b) Select the 'Nodes' and 'Surfaces' with a drag box
c) Click 'Bake'
d) Switch to Rhino window, do the 'sellast' command.
e) Drag baked objects along Y axis so the center point is at 0,0,0
f) Run 'Join'
g) Run 'Cap'
h) set the 'node' points to a layer called 'nodes'
i) set the surface to a layer called 'fit-3d'.
j) select the surfaces and nodes
k) export selected
This elbow that I'm doing only has 12 rows, so doing it the above method
doesn't take THAT long. I'm also going to be doing a couple with larger
tables like the Tee on page 8, and in other spec files. As you can
imagine, entering in EACH value into a slider is a bit tedious.
I'd love to take the pdf table, run it through an OCR program to convert
to excel, modify the headers so the ghx script knows what they are, then
paste it into grasshopper, or save it and have grasshopper read it, and
I be able to move a slider or something to to select one line at a time.
Has anyone done something similar? ie: assigned one row in a table to a
predefined set of variables, each variable coming from one field in the row?
Thanks for taking the time to read this message. :)
I'm making a rhino script to do steps d-k, so that part will be much faster.
-Suthern…
lName, signalValue, operationMode):
sigV=signalValue
if sys.version_info[0] == 3:
if type(signalName) is str:
signalName=signalName.encode('utf-8')
if type(signalValue) is bytearray:
sigV = (ct.c_ubyte*len(signalValue))(*signalValue)
if type(signalValue) is str:
signalValue=signalValue.encode('utf-8')
sigV = (ct.c_ubyte*len(signalValue))(*signalValue)
else:
if type(signalValue) is bytearray:
sigV = (ct.c_ubyte*len(signalValue))(*signalValue)
if type(signalValue) is str:
signalValue=bytearray(signalValue)#<========This is line 1052
sigV = (ct.c_ubyte*len(signalValue))(*signalValue)
sigV=ct.cast(sigV,ct.POINTER(ct.c_ubyte)) # IronPython needs this
return c_WriteStringStream(clientID, signalName, sigV, len(signalValue), operationMode)
It displays the following error:
Program started
Connected to remote API server
Runtime error (TypeErrorException): unicode argument without an encoding
Traceback:
line 1052, in simxWriteStringStream, "C:\Program Files (x86)\V-REP3\V-REP_PRO_EDU\programming\remoteApiBindings\python\python\vrep.py"
line 70, in script
Any hint?…