In this month’s tips and tricks video, I share a tip I learned last month at the COMSOL Conference in Boston related to model voids. I will explain what voids are and how you can use them to improve your modeling workflow, particularly with the specific types of geometries I demonstrate.
Click below to watch me walk you through the process. We have included the video transcription below to help you follow along.
There’s no reason to learn software programs through trial and error, so in addition to our tips and tricks, our upcoming training classes will support you, the COMSOL user, in utilizing best practices with many of the COMSOL modules. Please visit our training calendar and find the course that is best for you.
Using Voids in COMSOL
Welcome to this COMSOL Tips and Tricks video where I’m going to talk about model voids. After watching this video, you will know what voids are and how you can use them for making efficient and robust selections. And this is a tip I was happy to learn while at the COMSOL Conference in Boston last month.
So, what is a void? In COMSOL a void is an empty space. All COMSOL geometries have at least one void, and they come in two flavors: infinite and finite. And if you look at the graphic right here, you can see outside of our gray model geometry is what would be defined as the infinite void, it is the space that isn’t modeled or meshed outside of our geometry, but then we also have four finite voids that are completely enclosed within this block of gray material. And these voids can be useful in the certain set of scenarios. By definition, these voids don’t have model geometry; therefore, they don’t have a mesh, and therefore we aren’t solving for variables in these regions. That begs the question, why do we care about them? Well, these voids do touch our model geometry at the boundaries, and anytime we need to make selections of the boundaries that touch these voids, it can be helpful to learn about voids and how to use them to make void-based selection. One particular scenario where this is helpful is in radiation. When you’re doing heat transfer analysis with either surface-to-ambient or surface-to-surface radiation or both, where the outside of this body, for example, radiates heat to the ambient based on the surface properties, while each of the finite voids has a different surface property in general and would radiate heat by a surface-to-surface radiation differently, depending on the surface property of the surfaces of these finite voids.
Alright, so let’s look at how we would use these in COMSOL. You may know that every geometry, every geometric entity in COMSOL, has a unique number associated with it, including the voids. So, here’s an example you may already know this, that these three domains – one, two, and three or these surface areas and 2D they would be volumes in 3D. But they have a unique identifier: domain -1, domain-2, domain-3. And then I’ve overlaid the numbering for the voids. So, every COMSOL model has at least an infinite void and it may have finite voids the numbering for the infinite void is Domain zero. Now, the selection list isn’t going to show this, but you can access this infinite void zero through the paste selection feature and I’ll show a demo of this very shortly. You can also access the finite voids numbering, indexing the negative numbers here. So this is finite void minus one, minus two, minus three, minus four, etc. We would use these infinite and finite void selections to create the efficient boundary selections for radiation. And I’m going to do an example of that right now.
And so now we’re jumping over to the COMSOL model and I’m going to save “Model Wizard > 3D” and I’ll click “Done” so we can get straight to the geometry building. And then I’m going to right-click on “Geometry 1,” select “Import” and I’m going to browse for a spacecraft geometry that COMSOL has provided within the application library. And we’ll open this, and we’ll click “Build Selected” so this is a spacecraft that would have surface-to-surface and surface-to-ambient radiation active, and I’m going to also toggle on “Add Clip Plane” to look inside of this. Also, going to turn on “Show Cross Section” so we can see the faces here where we’re slicing through, you can also drag this to see within the slice view a little bit better. Also, going to turn off the “Coloring” so that it’s just gray here. So, this is inside the spacecraft, and so if you’re thinking about this you’ll see – you would know there’s an infinite void outside of the spacecraft and then two finite voids inside, separated by this block here. And so, one thing you might want to do then is apply different surface properties to the exterior or surface-to-ambient radiation to space, and then different service properties in the inside of these finite voids. Maybe this top chamber was painted black, and the bottom chamber was painted white, to give you different thermal characteristics in the design of your spacecraft. If you want to model that, one efficient way of doing this is to under “Definitions” going “Selections,” “Explicit 1” and we can select “All Domains” by putting it into the selection list and then use this “Output Entities,” “Adjacent Boundaries” and then we’re going to color those – why don’t we go ahead and color those this kind of cyan color. And so, we can see that this selection has picked all of the outside boundaries, the exterior boundaries, to those domains but there’s no distinguishing between the boundaries touching the infinite void and then the two finite voids. And so I’ll show you instead what we might want to do is, and I have mentioned that these – each of these domains has a positive number that you can use. I’m going to clear this selection and then I’m going to click “Paste Selection” and here I can do zero so this is Domain 0, which is going to be our infinite void. And then we’ll click “OK”, and now we can see that it’s only selected these boundaries in cyan that are touching the infinite void. And so now if I had a surface property there that was maybe silver or some particular emissivity, I could distinguish between that and the finite voids that are inside. I mentioned as well, it could add an “Explicit” selection again and this time I’m going to select “Paste Selection” -1 should give us our first finite void. Let’s make that the output entities “Adjacent Boundaries” the color let’s make it this purple and we can see there that now we’ve picked this particular enclosure. Let’s do that again to select the third, the third void which is our second finite void, -2. Let’s give it this yellowish color here “Adjacent Boundaries”. OK so now we can use these explicit selections if and when we’re ready to build our surface-to-surface radiation conditions or surface-to-ambient radiation condition.
Now you might say, well I could have just manually clicked on each of these boundaries. Maybe so, this is in my view, a more efficient way of doing it. And I’d also like to show, let’s say we had a very complicated geometry that was then added inside of the second chamber here. Let’s go ahead and do that now; I’ll show you how simple this can be. You can import a PCB, click “browse” and we’re going to import this “spacecraft PCB.X_B”, which is a parasolid file of a printed circuit board so some type of circuitry you can see a pop in there. And now if I needed to put surface-to-surface radiation conditions on this, I could manually come in here and one by one click on all these boundaries, and that wouldn’t be a very fun thing to do; I might make mistake. But you’ll notice that all of these are touching the finite void number two and so all I would need to do would be to come back to Explicit 3 and adjust the settings here so that’s just the finite void and look at that all of those boundaries are already included for me. And so this is feature, this tip, is what I learned at the COMSOL Conference in Boston last month. And I feel like it’s going to improve my modeling workflow, particularly when I’m doing these types of geometries. So hopefully you found it helpful, and you learned something that you can use. Thanks.