Input output update across scripts and computers


I am trying to use two computers in a massing design and simulation workflow where a user can design freely on one computer and send their geometry to a second computer over a shared network where it will be simulated automatically in Energyplus using Honeybee.

I have been trying a few ways using the input output components and excel sheets to send data but it always seems to need someone on the second computer to update the input to start the simulation.

I would very much appreciate any suggestions on how to do this, or if there are any ways to have the second computer constantly reading a folder of GHdata files and queuing them up for simulation?

Thank you!

“Read File” component auto expire/refresh itself when the targeted file is edited…
Is this not working for you?

From this you can trigger any other stuff…

Do you really need multiple computers to do this? There would be lots less overhead if the simulation software ran on the same system as the design software and the 2 communicated by a set of files on disk.

Most applications today are still single-threaded, which means they can use only one CPU at a time. And most Intel processors have multiple CPUs - my i7-8700 has 12 of them! My guess is it should be possible to write some sort of interface program that looked for a Rhino output file and then started an instance of a post-processor app (perhaps another instance of Rhino) that did the simulation work you need.

If someone needs to watch the simulation while it happens you could set up 2 or more monitors on the system, with the secondary ones linked to the simulation software.

Thank you for the suggestion @Birk_Binnard !

It does make more sense to have it all running on one computer. I guess I was concerned about overwhelming the user (we’re hoping to make it user friendly for non-grasshopper users) and so was trying to hide as much of the back end as possible.

I did find a sort of solution to the manual update situation though, I rigged up a counter to a list component that cycles through true/false to refresh the data input component.

I think a queuing method using the “directory contents” component would make more sense in the future though, to @maje90 's point