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!
…
you post a screenshot of what the message coming from its readMe! output looks like?2) Close your Grasshopper and Rhino.3) Download "Revo Uninstaller Pro" from here. It is free for first 30 days, which is what we need.4) Right click on the RevoUninProSetup.exe and check if the file is blocked. If it is, unblock it.5) Run the RevoUninProSetup.exe file and install "Revo Uninstaller Pro".6) Uninstall "MapWinGIS" with "Revo Uninstaller Pro". It is important that "Revo Uninstaller Pro" deletes not only files from MapWinGIS installation folder, but also all other leftovers (as registry inputs). Here is a small tutorial on how to do that. Watch it from 6:10 till the end.7) Restart your PC8) When your Windows boots up, make sure that you are logged in as Administrator!9) In your Start menu's search box type: "UAC", which will find your User Account Control Settings. Click on it, and a new window will open. Set the bar on the left to "Never notify".10) Turn off your Windows Firewall.11) Then turn off your custom Firewall (in case you have another one, besides standard Windows Firewall).12) Completely turn off your Antivirus.13) Download again the MapWinGIS-only-v4.9.4.2-x64.exe.exe file from here.14) Right click on the MapWinGIS-only-v4.9.4.2-x64.exe file and see if it is blocked. If it is, unblock it.15) Right click on MapWinGIS-only-v4.9.4.2-x64.exe file and choose: "Run as"... Administrator.16) One the installation preparation steps start, choose "Full installation". Wait for the MapWinGIS installation to finish.17) Right-click on "Rhino 5" icon and then choose: "Run as administrator".18) Open the the ironpython_admin.gh file again, and again post a screenshot of the message coming from its readMe! output.19) Drop the "Gismo Gismo" component to Grasshopper canvas. Post a screenshot of the message coming out from its readMe! output.
So we will need in total three screenshots of the readMe! output messages.
Thank you once again for being patient, and sorry for the large number of steps.…
Added by djordje to Gismo at 1:52am on April 9, 2017
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
…
asshopper via the user datagram protocol (UDP) was to effectively speed up communication between programs without the use of each program writing and reading a text file. This investigation was begun to open up Grasshopper to the outside world and eventually use it to drive physical associations via arduino and other interfaces. Processing was used initially as it is a very simple platform to used to test communication to and from Grasshopper. The first objective of the investigation was to eventually connect up with a custom plugin which Shajay Bhooshan has been developing.
On the Maya side, Shajay is controlling and augmenting this already vast platform with custom C++ API Nodes. His work can be seen on We Work 4 Her. This particular ‘fluid_UDP_Node’ transmits fluid data per voxel over UDP. Shajay has also taken advantage of the Open Frameworks, leveraging some of the code within the Maya plugin.
On the Rhino Grasshopper side, I have developed a very simple UDP receiver component in vb.net. The data is transmitted as one long string of comma separated values. Currently Shajay can send me fluid density and velocity information per voxel, but really, any type of information could be sent out. This information is parsed in the GH component and used to visualize the fluid as a Surface. As with the rest of the UDP experiments, Giulio Piacentino’s “The Engine” (http://www.giuliopiacentino.com/grasshopper-tools/) component made the refreshing of the Grasshopper canvas possible.
As you can tell, running all of these applications (including screen capturing) start to have an effect on this single processor machine. Maya can effectively optput the data between 8 - 12 frames per second depending on how many applications are running. The promising aspect of using UDP is that data can be sent from one computer to another via a network. This could effectively distribute the workload of complex combinations of processes to many devices.…
minativo (15, 16 y 17 de julio)
- MÓDULO 3. Curso de scripting con Grasshopper, Processing y Arduino: modelado iterativo, interacción y sensorización (22, 23 y 24 de julio)
Más información y reserva de plazas.
¡Consulta los descuentos para estudiantes de grado y posgrado y para más de un miembro del mismo estudio!
Los cursos serán impartidos en Madrid por dos Authorized Rhino Trainers.…
are just the 8 cases, so you're actually doing it right here (scroll down on this page, and you'll see a separate subset all about marching tetrahedrons http://paulbourke.net/geometry/polygonise/). The benefit to using marching tetrahedrons is exactly this: that the number of possible "cuts" through the tetrahedron are dramatically smaller in number than those through a cube.
However, I have found that also what you're seeing that the linear interpolation creates some odd distortions (which is why I went ahead and later did the marching cubes implementation). Some of this comes from the density of the sampling grid: the more dense, the fewer distortions.
What I would suggest, if you want a (relatively) quick way to improve this outcome:
1) build up a full mesh rather that bunch of surfaces, and use Rhinocommon to combine identical vertices, and rebuild the vertex normals
2) run a couple rounds of laplacian smoothing on the mesh to better distribute your vertices (for each vertex, make it equal in location to the average of its neighbours)
3) create a line normal to each vertex roughly the length of your sampling grid and test the endpoints of it against your scalar field formula, and then do one final linear interpolation between those two points for your vertex.
This should give you a smoother mesh for sure.
But good work getting this far! …
Added by David Stasiuk at 1:37am on February 6, 2015
the polygon.
Example with the bare bones below. You'd need to amend/insert a few extra loops to configured which object is copied to which point.
import rhinoscriptsyntax as rs import scriptcontext as sc import math
#Prompt user to select objects to copy and points to copy to. obj = rs.GetObject("Select object", filter = 8) #Change this line to get the different 'polygons' that you want to copy. points = rs.GetObjects("Select points", filter = 1, group = True)
#Get point to copy from for each of your polygons. Using volume centroid to begin with. objCenter, error = rs.SurfaceVolumeCentroid(obj)
#Insert loop to evaluate points based on input image etc. pointAtt = ['default' for pt in points]
for pt, att in zip(points, pointAtt): if att == 'optionA': #Copy relevent geometry to point. Remove 'break' statement' break elif att == 'optionB': #Copy relevent geometry to point. Remove 'break' statement' break elif att == 'default': #They should all be this setting at the moment until you assign a attribute to them. vec = rs.VectorCreate(rs.coerce3dpoint(pt), objCenter) rs.CopyObject(obj, vec) else: #Default catch statement incase it doesn't work. print "Point without attribute found. Can't copy object" break
…
types. Equations currently working:
Constant f(x) = c
Linear f(x) = ax+b
Parabola f(x) = a(x-h)² + k
Polynomial f(x) = a + bx² + cx³ + ...
Hyperbola f(x) = (ax + b) + (d/(x - c))
Reciprocal f(x) = 1/((x - b)^p) + c
Logarithm f(x) = log[base](x-b) + c
Cosine f(x) = a*cos(f(x-b)) + c
Sinc f(x) = a(sin(f(x-b))/x) + c
Gaussian
Block Wave
Sawtooth Wave
TriangleWave
Perlin Noise up to 8 octaves
Interpolation of N points using various interpolation schemes: {Nearest neighbour, Linear, Cubic, Akima, Bulirsch-Stoer, Equidistant polynomial, Floater-Hormann, Neville polynomial}
Rhino Curve (not quite sure yet how to expose control-points on this one)
Grasshopper Expression
Bezier spans, i.e. N sequential points and tangents (still working on this one actually).
I could add more types such as tan, arctan, hyperbolic trig functions, square-roots, etc. etc. but I've got enough for testing purposes now.…
mes complicated, I wish there was a tool (specifically a slider) in grasshopper that when I open a complex file, I could slide back and forth between steps of actions which has been done to make the definition.
lets say we could imagine it as an Undo/Redo slider that starts from the first action till the end of composing the definition. it would be a grate tool for those who want to learn by playing around and see what happens step by step. it might be useful for others too to clearly see the steps and manage more complex systems.
and If undo and redo consumes a lot of processing power (I am not sure) I have another Idea.
The slider could preview or unpreview components and actions from step 1 to N.
but it should hide the components which are unpreviewed so I I can easily see the relation between definition and what happens in rhino view-port.
In other word, when I set the slider on the lets say step 7 , all the components which are made and used after that ( step 8 to N) should be hidden from the grasshopper definition so I could simultaneously follow the steps both in rhino view-port and grasshopper view-port.
thanks guys
cheers…
p; 3D Urban ModelingOn the topography subject I get the next message: "One or more boundaries may be outside the bounds of the topo dataset" I'm not sure if it's the .IMG file I'm loading since I found so many IMG files nearing my polyline area (Miami Lat:26 Lon:-81 aprox.) or maybe my polygon doesn't match the topo area? I have no idea why it isn't working :(On the Shapefile subject, haven't been able to find a Building Height SHP File, so far have downloaded around 8 SHP files which only contain Polylines, my solution is to meanwhile randomize Z heights, but of course this data is not "technically" correct.P.S.: I've already tried all example links and also the ones posted by you and Benjamin in this video.Been strugling last few days, hope you can help me, thanks in advance!!…