On the 28th of October 2021, I presented at the International Astronautical Conference 2021 in DUBAI my most recent project IAC-21-B3.7.10 “Using Computational Techniques for the Optimal Design of Evolving Habitats”
And on the 12th of Jully 2022, at the ICES 2022, I presented “Human outpost creation using multiple data sets and computational design” ICES-2022-181
There are two versions of this code, one for native Rhino and one for Rhino.inside.Revit.
This is the first step on the way to a much bigger project that welcomes everyone.
I would like to invite people with experience/interest in simulation, computational design to read/use my code, use it and improve it.
I hope you will benefit from it. please reach out to me if you have any question or if you would like to collaborate.
Great, thank you! I stored it in my digital IKEA-box under the folder “Things you might need once in a while…”. By the way, do you know when the next rocket is going to Mars? Unfortunately, due to Corona, my local spaceport cancelled all interplanetary flights…
Wow, it is very interesting and exciting at the same time. I feel like I have been living under a rock as I did not know that humanity has already embarked upon establishing structures for inhabitation of humans in alien environments, at least virtually. I have one question though: How did you manage to get the weather file for Mars and how does Grasshopper evaluate the sun-path to conduct solar analysis?
Thank you so much for this amazing piece.
Hehe, we all remember the voronoi years
Thanks for the comments, next rocket to Mars for humans should depart in 2035 (If Elon Tusk stops twitter)
Have you tried it, the learning curve to use it might be too steep for now, next version should be easier.
Thank you for your comment, those are good but tough questions.
The Mars weather file I simply created by using data sets and research that is public and open source, here’s my references :
[14] Atmosphere relative humidity Gale crater, NASA - Humidity in Gale Crater - Scant and Variable, (last accessed 21.08.21).
[4] Álvaro VICENTE-RETORTILLO, Mark T. LEMMON, Germán M. MARTÍNEZ, Francisco VALERO, Luis VÁZQUEZ, Mª Luisa MARTÍN, Seasonal and interannual variability of solar radiation at Spirit, Opportunity and Curiosity
landing sites, Física de la Tierra 126 Vol. 28 (2016) 111-127
[5] D.Viúdez-Moreiras, J.Gómez-Elviraa, C.E.Newman, S.Navarroa, M.Marina, J.Torresa, M.de la Torre-Juárez, the MSL team, Gale surface wind characterization based on the Mars Science
[13] Amber Thomas homepage for code, data/mars-weather at master · the-pudding/data · GitHub, (last accessed 15.08.21).
That’s the science part, the code part can be downloaded from my github SpaceArchitecture (SPACE ARCHITECTURE) · GitHub
Regarding the sun path that’s a little bit more kitchen work, I used the ladybug/honeybee modules and fed them data from Gale crater radiation. It worked well but the results are not 100% accurate, we’re talking about atmosphere dispersion, reflection of mars particles etc.
I talked with the Ladybug team but they were not super interested, so until I get a real team working behind it it will be sufficient.
More updates coming soon
13 more years of Home-Office . I must admit, I have already met so many Martians that it feels like I’m the strange guy… Anyway, maybe if we can’t build that outpost within this decade, I might be a good thing to get rid of as many compiled dependencies as early as possible, so that it easily migrates to Rhino 15 and Grasshopper 3. You have more dependencies that I’m using in my project with 500 code-files. I’m pretty sure you can get rid of half of them by very few lines of code. E.g. JSON Deserializaition in modern .Net is quite straightforward, and it always feels quite weird if someone introduces an extra library, for these type of basic tasks. On a longer term, the cost of dependency maintenance is higher than spending some hours or days in reinventing the wheel. I guess it’s early research, so it’s ok. But since I work in industrial R&D for a decade, I have seen many great projects ended up in the trash bin for very stupid reasons. But one of the most common things is that people couldn’t make it run anymore. So they either ended up in redoing anything or just abandoned a great idea forever. What you want is that somebody clones your code-base, hit the build-script (or opens Grasshopper) and that it’s. Not registering on a platform and downloading from 10 different places. And ideally this should also work in 10 years with you having minimal effort in keeping things up-to-date.
I agree, I already started investigating the code to be able to do it myself, I just have to get my coding boots cleaned again, What languages do you know ? I only did C+ and I would like to switch to Python and C# but I don’t know which one will be better in the long run
You sooner or later will come across any of these languages, so my advice is always to focus on the underlying concepts and not the syntax. Meaning, learn what something is about and not how it looks like.
E.g. If you know what a “callback” is, or a “constructor”, then the syntax becomes secondary.
I’m quite divided into Python and C#, I usually prefer Python on smaller scoped things, and C# on more advanced projects. It’s good that I know both well enough. I personally also like PowerShell and modern C. Many things are web-based, so learning a bit of JavaScript is not the worst decision either. So, learn more than one language and technology…
But be aware, just because a language or a framework has a solution to a common problem, it may not be the simplest, more straightforward solution. Software development is also about filtering the essential information from an almost infinite pool of knowledge. Otherwise, you get lost and demotivated quickly.
So for me, it’s always important to make things easy enough to explain it in a couple of sentences. Almost so that a brain-dead person can understand. Overengineering is the norm and this something bad! But just using libraries, without understanding anything, is as stupid.
In reality, most code you’ll do will end up in the trash bin anyway. So essentially, I was joking about making the script runnable for Rhino 15. Somehow persist your work and use it as a reference, but also throw things away and make them better the next time. You will get a better feeling about what you essentially need or not. But as I said, making it as simple as possible for yourself and others is the key to successful work, no matter what you do.