Constructal Theory and Infrastructure

November 5th, 2011, code

Recently, I’ve been digging around in Constructal Theory, mainly because it provides a “predictive” framework for natural growth unifying – in a sense – physics and life. As it is now, constructal law theoretically accounts for all design phenomena in nature. It states that “For a finite-size system to persist in time (to live), it must evolve in such a way that it provides easier access to the imposed currents that flow through it.”.

I’ve got a huge interest in anthropic growth – namely growth enabled by humanity – and the rules behind its development. More importantly, we can now see a new materialist framework being contoured by philosophers like Manuel DeLanda together with Adrian Bejan and Constructal Theory, framework which encompasses both natural and anthropic growth and development under the same paradigm. The world is no longer split into Nature and Culture – Modernity’s dichotomy is being erased by rules and principles which guide both, making the distinction irrelevant.

Anyway, the main reason for this post is not to blabber about modernity and its dissolution (maybe that will come in the future in the writings section), but to share with you a processing implementation of RRT (Rapidly-exploring Random Trees) which is repurposed to grossly simulate growth through the perspective of Constructal Theory.

If you have a given surface (or volume) consisting of a population and the main goal of that population is to reach, or flow towards a specific point in the given surface, the most efficient structure, imposing the least flow resistance, is a dendritic one as shown in the video below.

[kml_flashembed movie="http://vimeo.com/moogaloop.swf?clip_id=31643911&server=vimeo.com&show_title=1&show_byline=1&show_portrait=1&color=00adef&fullscreen=1&autoplay=0&loop=0" height="590" width="590" /]

In the case of a city (or the built environment), the main difference between it and a tree is that it does not have a single attractor, and flow is not linear in one direction. A city is composed of many attractors of different forces, each generating a different type of traffic flow which can be described as having different velocities, therefore requiring different flow resistances. For example, the average traveling speed in a medieval city was low, therefore the highly tortuous street network. As travel velocity increased, so the need for less flow resistance, which ultimately resulted in the Manhattan Grid. In this way you can differentiate between layers and layers of infrastructure. The video below shows how the networks of five different attractors merge with each other. Flow resistance is slowly decreased as the simulation progresses.

[kml_flashembed movie="http://vimeo.com/moogaloop.swf?clip_id=31643343&server=vimeo.com&show_title=1&show_byline=1&show_portrait=1&color=00adef&fullscreen=1&autoplay=0&loop=0" height="590" width="590" /]

Finally, here’s a zipped processing sketch which contains a basic implementation of Constructal Theory generating infrastructure (based on this sketch). Of course, this can be enhanced further by limiting growth to certain angle variations and a host of other tricks which would more accurately simulate infrastructural growth. Each infrastructure type has different needs and limitations which can be transformed into parameters for this sketch.

You can play with an online version here!

Enjoy, and share alike. I am sharing out of goodwill, please do the same and do not abuse. Everything here is released under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Licence if not specified otherwise.

9 Comments. Wow. What do you think? Add your voice to the conversation below. Should be fun! Click to show the comments.

I do not understand why you see Constructal Theory as “a new materialist framework being contoured by philosophers like Manuel DeLanda”. Michael Polanyi also developed a morphogenetic to epistemology and was not a materialist.

i don;t see it as a framework per se, but it does support the discourse of materialism, even if indirectly… (so this might be some unconscious rhetoric on my side). Thanks for the addition – i was not aware of Polanyi’s work before…

Hi Dimitrie,
First off, SUPERB WORK!!! Love it! The possibile applications for Constructal Theory within urban design are quite exciting, especially with the over use of everything voronoi……

I’ve downloaded your Constructal Theory and Wetgrid2 sketches but I’m a complete novice with Processing. I get a whole range of error messages when attempting to run your sketches and I was hoping you could perhaps provide me with a more step-by-step set of instructions so I can start researching the possibilities.

Any help would be fantastic and much appreciated!

Keep up the good work my friend!


Dear Craig,

Thanks for your kind words. It’s true – this is a generative process which does have a relation with the way infrastructural networks are formed, as opposed to voronoi or other variations. I’m glad I’m not the only one seeing this.

Regarding the errors, there’s plenty of places they can come from. First off, try to see if you have all the libraries that the sketches are using (they’re at the top, the import bla.bla.*; statements) and if not, head over to the processing website and download&install them (there’s instructions there on how to do that). If this is not the case, then something might be more seriously wrong – so if you hit me (preferably in an email) with the specific errors it would be great.


Amazing investigation Dimitrie, will be interesting to see final result, but the way you relate this to urbanism already impressed me a lot… Will try to dig the code later ;] Keep going.

Hello Matas,
Thanks for your praise! I find it really interesting as well. The code has improved a lot lately, I’ll have to find some time at one point to polish and share (there’s even a gh version).

Hi Dimitrie,
Excellent job. I have looked for a number of years into applications for Bejan’s Constructal Theory and associated models. I appreciated the visual and specially the interactive simulation you have provided. I am working (hard) on applying some of the Constructal Theory models in other areas (health related) and I see the growth of cities and, generally, social life as an extension of biological patterns.
Would like to follow up on on your progress and will do my best to learn as much as I can out of it.

With sincere appreciation,

Bogdan Motoc
Director, Integration
Alberta Health Services, Canada

C'mon, write your thoughts in the box below.