Hello All! First post here, but I’ve been hacking on this same challenge for a few years now! As an ecological designer, I needed a tool to help me map the movement of energy and resources through many inter-dependent sub-systems, both conceptually and over time. I find most mind mapping software to be oddly hierarchical, and drawing by hand to be tedious to the point of futility, so my roommate and I put together this little tool. We call it permablocks or SIM-biosis, but those are just place holder names. Here’s a screenshot. It’s a visual mapping/circuit diagramming tool for designing whole ecosystems out of open-source and/or readily available sub-systems.
It’s only partially functional right now, but you can poke around with a working version here. Drag inputs/outputs on top of each other to create “containers” that map the net-flow of resources between systems. Hit play to see how your simulation does over simulated time-steps (currently days). If your containers run out of resources, they’ll go gray and the simulation will stop (you can ignore container qtys by hitting the option box in the top left, and you can adjust container capacity limits by clicking on a container)
The software is open source (git repo here) and if you want to add your own systems to it you just need to edit the Library.yaml file, which is fairly self explanatory if you happen to be code-savvy person.
This is very much a work in progress, and I would love to both submit it as a tool for y’all to use if it meets your needs as is, and invite others to help make it better.
With a few improvements, it could be a really disruptively useful tool, giving us all a common, open-source, visual and interactive language to map, simulate, and share potential ecosystem designs made up of many interdependent open-source sub-systems.
I’m not attached to using the code we have, but there needs to be an open source tool like this. Perhaps we could have a hackathon to improve our code or build new versions from the ground up. I feel no ownership over the project or idea, I just want a working version I can use!
Potential improvements:
- A front-end editable form so non-programmers can add new systems to the library
- Automatic unit conversions between equivalent units of measure.
- A pop dialogue when incompatible units are connected (do you really want to convert kWh to gallons? If so, how exactly?)
- If/then relationships and triggers, like (EX: If qty of rain barrel > 55 gal, then turn on “sump pump” until qty= 10gal)
- Currently all calculations are +/- linear addition, which limits usefulness. But if we can create models of systems with non linear functions (Ex: Biodigester, Input= [UP TO 2] kilograms food scraps per day, Output= (Input QTY * Modifier coefficient) Biogas per day) then we can simulate complex if/then interactions over time. Obviously accuracy of data is crucial, but even fairly accurate ballpark numbers would let us calculate ballpark answers to complex questions like “If I need x kWh of electricity, and I know this type of generator can produce X kWh per m3 of biogas, how many IBC biodigesters will I need to build, and how many kg of biodigestable biomass will I need to feed them in order to meet 100% of my electrical needs from biogas?”
This has the benefit of letting us try out and explore potential connections between systems, and also share interactive diagrams of systems that already exist. We could test our theories against real-life performance, and systematically work to reduce the performance gap between the two. If these library items were then linked to the open-source documentation of these sub-systems (EX: IBC biodigester, Showerloop, Precious Plastic Machines) then you could design a whole ecosystem and have the software auto-generate you a PDF build document complete with BOMs, estimated cost of materials, required tools, CAD files for CNC manufacturing, 3D models, and tutorials.
Excited to see this conversation happening! Onward!