CDFAM Amsterdam 2025 · Amsterdam · 9–10 July 2025

Rhino, Grasshopper 2, and TRfem: Computing Heat Flow Inside Solids

Abstract

focus on surfaces and 2D domains, optimization workflows in design for additive manufacturing often require analyzing physical properties inside solids. In this talk, we introduce some of the key novelties of

Grasshopper 2 for Rhino, we show why its concept of field manipulation is an ideal platform for such tasks, and present TRmesh and TRfem – a pair of finite element plugins for Grasshopper 1 and 2 that compute heat conduction within volumetric/tetrahedral domains, natively in

Rhino. We focus on typical applications such as the design of heat exchangers or, conversely, insulation. Covering both geometric modeling and accurate simulation, GH2, TRmesh and TRfem together enable a slick physics-informed topology workflow.

Interview: TRfem: Thermal Simulation in Grasshopper II with Mathias Fuchs

Transcript

From YouTube’s automatic captions, lightly cleaned; expect some errors. Each timestamp opens the video at that moment.

Read the full transcript · 2,432 words

0:00 It’s my pleasure to introduce Philip Schneider from Scawo3D and my name is Matias. I’m from McNeel and we have the pleasure to demonstrate some thermal analysis of a very cool printed project and Philip is going to introduce. Thanks a lot. So before Matias goes into the wonderful crazy stuff that goes on inside Grasshopper 2, I’ll quickly show the use case that he’ll demonstrate it on and I’ll dive into or quick deviation into architecture.

0:31 You see a conventional wall detail. What if you combine this with a novel method for additive manufacturing of concrete in a powder bed at large scale? This method is a video called selective paste intrusion. We’re based in South Terrell, Italy. We have 15 cubic m of available space. This is the secret source that we’re cooking with, which is not so secret because it’s cement. And we’re injecting it into a particle bed of dry powder.

1:02 And here you can see some of the wall elements that we’ll be showing later. Exactly. And what does this allow us to do? Well, it allows us to build in a different way. Here we’re using spherine as the infill of wall elements that we’re printing in one piece to combine load bearing capacity to bring down the compressive strength inside the bound volume and inside the clue is that we trap the particles.

So high highly porous, low density and low thermal conductivity inside the bound cement to produce ball elements in one go and then assemble them on site. This has been a trade fair booth that we’ve been doing as a kind of test for this method where the infill is actually shown. And we’re going to apply this at a different scale now where we’re going to build a small office structure in at our facility with only 3D printed walls with spirine as the infrastructure.

2:10 And Matias will show how on earth we actually simulate this because we need it cheap, we need it fast. And this is where, let me quickly switch. Grasshopper 2 comes in. I hope I don’t mess anything up. And this is just one segment of this larger wall. Where you can see the the outer shell, the inner shell and the spirine interior structure. And you have to think about in the void here being loose particles of low low thermal conductivity aggregates.

2:42 And Matias will continue to show the crazy stuff he’s been working on. Thanks, Phillip. All right. So yeah, the task is we are being given this really nice geometry here where you can just see the concrete and the rest is loose gravel insulation and yeah so you might know ladybug, you might know a lot of thermal analysis, but this is a 3D problem. Okay. So let me give away the main result that I do want to drive home and namely these are thermal iso surfaces here.

3:30 I’m not very much a fan of slicing. I think that our brain likes transparency much more for displaying actual volutric analysis and due to some GPU thing that we have no influence on the the order there’s some very slight flickering but I think we you get a very good impression of what the thermal iso surfaces here are doing. All right. So, how does all of this A, how is all of this done?

4:05 And B, how does it fit into the overall philosophy of Grasshopper 2 where you have fields as first class citizens. So, of course, the temperatures here are a field, but that’s not the only field that’s in play here. Of course, the geometry itself is made from the iso surface of the SDF, the signed distance field of the central surface here. So, let me demonstrate for example how the basic geometric process of thickening would be done.

4:52 We would have so let me increase the transparency of these ones here. We would for example in Grasshopper 2 just have this mesh that we have referenced u you have a distance field you have a fall off and then you have the isocurse. For some reason I have to bake them here right now. Due to some display glitch, but you can still see what’s going on. I can, increase the density a bit.

And, Ah yeah just moved. So yeah this is already very nice because the field itself is not voxalized. The field itself here that we are talking about is just if you like programming then it’s would be a closure object. It’s just something that has a promise to be evaluated at later times whenever you like. So it’s just something that you can evaluate at XY Z. It’s a it’s a present that says evaluate me at XY Z.

And this concept has existed in Grasshopper one already but was not very well known. And in Grasshopper 2, it is a full first class citizen. So, so you can see it’s just a display setting here that doesn’t allow me to preview those isoccur, but you see that they do update here with a fall off function of the distance field. So this is how this geometry is processed.

6:56 And let me now try to explain how we use this concept to arrive at the actual thermal analysis. So there is first of all yeah we can generate a structured grid right. So one thing you can do or one thing we are doing is we just take a mesh and we interpret the four indices of the mesh face as tetrahedral corners and this gives you the notion of a truly voluometric entity in Rhino for free.

7:49 All right. So this works without any plug-in. You just can take this and interpret it as a tetrahedral mesh and that’s what we’re doing here. And that’s what TFM, this plug-in we’re talking about, operates on. So, if we apply for instance these transformations here. So you have twists in Grasshopper and you could for instance perfectly well just bend such a mesh around an axis with an angle one and an angle two and you would sorry.

9:21 So, so you can just interpret these meshes as Rhino meshes and then the usual all usual Rhino operations continue to work. So you can delete faces, you can edit all these you have all of these mesh editing functions here at your disposal. So when we now try to make this such a mesh available for an actual finite element analysis then what do we do? Well, okay. Let me disable this one here.

10:26 And let’s turn off the preview for this one so that we see what’s going on again here. All right. So we need this tetrahedral mesh for the thermal analysis and we just plug it into a solver component which just takes such a mesh interpreted as a tetra regional mesh. It takes the material conductivities and it gives you the temperatures which we can then plug into a usual marching cubes or isosurface component and this is done in such a way that you don’t need to do you don’t need to wait overnight for a find element analysis like this.

11:15 This can be done in real time. So for example, let me try to see what happens when we modify the material properties here. So for example, you might be interested in trying to optimize the infill material here of this gravel in this case. This is a non-trivial engineering. So I really want to make clear that this is on the one hand geometrically very nice and obviously a very powerful concept to play with in particular since these isurfaces that you see here are not at all ner surfaces right there’s no no way to generate these smoothly interpolating iso surfaces other than through this mechanism basically so but I want to make clear that this has an actual impact on the engineering aspect here.

12:18 So you might know the whole story about the U value about insulation about all the practical problems in construction and here we actually do get the power loss of the structure in yeah in watt per kelvin. So you can directly convert that to money if you want. Right? So the per kelvin means the temperature difference between inside and outside and what is basically euro per hour or something.

12:51 Right? So this has direct impact on the efficiency and on how you can sell your geometry to the customers. So for instance you want to optimize the thermal design here and what we can do is we can parametrically update the conductivities of these materials. Let me show you how this is done. So this also serves as a kind of reality check. If both materials are just the same and have just the same conductivity measured in what per meter kelvin then the iso surfaces are just parallel to the xy plane right because then there is no thermal information and the more we let this ratio of the two materials tend to well let’s let’s t them to something so something a bit more drastical maybe some 5,000.

13:58 So for the sake of this argument then we can see how the how we in the limit approach the case where one material just acts as a perfectly aiabetic insulator. So in this case it converges. Yeah. Well there’s there’s a certain limit here to until which we can apply it. But the more we act the slider the more we will converge towards the case where where the iso surfaces meet the boundary just perpendicularly.

14:40 So by Joseph Fur’s law on heat transfer on the a diabetic boundary the gradient of the temperature needs to be parallel to the tension plane at the boundary because it cannot leak heat through the boundary. And this is the limit case that we can observe here for instance or just for just for playing. We can also just hypothetically try out what would happen if the situation was reversed and the concrete infill here was actually just a vacuum.

15:24 And then the rules of these two materials here would be reversed. And let’s try to modify in the other direction. Okay. Well, so there’s a certain limit until until what we can until which we can drive this. But yeah, here you can perfectly well simulate what would happen if you introduced more insulation material here. Wherever. And I want to point out all of this is just done including the meshing step just obviously live here.

15:58 I mean obviously I can’t do all of this in the live demo but it works. It obviously works interactively. All right so I do want to say something about the meshing aspect here because you might know that territoal meshes have this kind of very bad reputation right the territoal mesh. Oh my goodness. But it is not without reason that they are the industry standard for more than half a century in all kinds of finite element analysis computational symposium.

16:35 Of course you can say oh there’s a boundary boundary element method here and to learn about you can avoid real meshing and that’s cool in the future and everything. Okay fine but then how do you do the structural algorithms? All right. So there is a very good point to be made that tetrahedral meshes in 2025 should no more be something to be scared of. Now a computer can only be a Mac or Windows but not both at the same time.

17:02 So due to MFC problems TR mesh the actual measure only works on Windows but I chose to use the Mac for the presentation on which is faster. But for the actual meshing, I recommend you check out the TR mesh plugin, which gives you a very nice Windows GUI for the actual hard treel meshing problems. And what I’m doing here, well, I could just have imported such a mesh as a 3DM file, but that would have been a little boring.

17:31 So what I’m doing here is just I’m modeling myself through without an actual measure. I’m just doing structured measures, right? So this box mesh is obviously just a structured mesh. And if you know the finite element aspects here, then you say, “Oh, it’s it’s just a structured mesh. It’s just a lettuce.” Well, then it’s just a finite difference method. Well, yeah, sure. Then you would be right, right?

17:52 But that’s not the point here. The point is that the actual mesh here is just used as the demonstration for for the capabilities of a general very general thermal solver in Grasshopper. And yeah to conclude this I do want to make one practical point clear and this is the materials. So you somehow have your mesh, you have the tetridal mesh and each single tetrahedron needs to be in one material either in the infill or in the gravel or in the concrete and it needs to be associated with one terminal conductivity value.

18:38 How is this done in a way such that you don’t get too much headaches about doing this? Well, if you use TR mesh on the Windows interface, then you will get your materials directly from the Rhino materials. So there’s a very seamless workflow that’s documented on YouTube and I’ll put more documentation on the on the website over the weekend. Please read it and you will see that it’s very easy to just get the Rhino materials from the layers right into this TR mesh.

19:08 So this is a very seamless workflow. And here what I’m doing right here if I can find the component it’s somewhere somewhere somewhere somewhere. Here is temperature shape. Yeah, it’s okay. It’s it’s what it’s actually apply containment material. Okay. So this is this the component here that will take a mesh such a TR fem or TR mesh tetrahedral mesh and it will take a mesh that encloses the volume we’re talking about and we’ll just apply all these material indices.

20:13 So this is also extremely painless. There’s no fumbling around with any kind of large indices or very obscure VTK file formats. I mean, I love VTK file for so on, but I think this one is a little easier. Cool. Thanks. Check it out and let me know what to learn more about the CDFM computational design symposium series to see the archives of previous presentations and to learn about future events visit CDFAM.com.

More from CDFAM Amsterdam 2025

Computational Design, Evolutions

Computational Design, Evolutions

Mathew Vola · ARUP

Injecting AM into shoes

Injecting AM into shoes

René Medel · Framas

Computational design and optimization of vascular stents

Computational design and optimization of vascular stents

Dario Carbonaro · Politecnico di Torino

Open Source CDFAM

Open Source CDFAM

Aaron Porterfield · F=F

Design for Viscosity, Not Gravity

Design for Viscosity, Not Gravity

Hamilton Forsythe · RLP

Manufacturing Driven Design

Manufacturing Driven Design

Rhushik Matroja · Cognitive Design Systems

Strategic Urban Foresight

Strategic Urban Foresight

Ben Dru; Julia Barashkov · Urban Futures Lab

Register for Updates and Discounts on CDFAM events.