Allowing flow between multiple regions OR self-contacting regions OR zero-thickness walls within a region?


In the thermal simulation linked below, I’m modelling a completely sealed metal box. I’ve got one solid representing the air inside the box, another solid representing the air outside the box, and the “walls” of the box are represented using a “No-Slip” “Specific Conductance Interface Thermal” Contact between these two solids. The reason I don’t have a solid for the box is because the walls are very thin (~1mm in a ~1m sized sim); I had great trouble getting the mesh to represent this configuration without using vastly more cells.

This simulation seems to work fine as it is. But now, I want to add vents (i.e., holes) to the box. Here are the options I can think of, along with why they don’t feel suitable:

  • Configure certain contacts to allow air flow between them (afaict this is not allowed, as the options seem to only be no-slip walls and slip walls?)
  • Create a single region which has self-contacting faces (I’m not sure it’s possible to coax OnShape into outputting this, and it feels like a cruel case to subject the mesher to)

Any ideas or suggestions would be most appreciated!

My current project is at the link below, but there’s really not much to see because I haven’t attempted to represents the vents at all yet (although it does illustrate my infinitesimally thin walled box):

Hey again, @rs20

You lost me for a second on this one… you want to allow “air exchanges” between the inner and the outer boxes? As in, air from the inner box can go out to the outer box through vents and vice versa?
If that’s the case, simply open holes on the inner box. There’s no need to set any extra BCs to the hole.

The problem is that in my simulation, I have no region representing the box at all. If I were to simply cut holes in my box, that means my two air regions would become a single region (which is of course correct, the air is free to flow in and out of the box), but the issue is that I can’t see how to model the walls of the box anymore. Because, as things stand at the moment, the wall is modelled simply as the no-slip contact between the inner and outer regions. I don’t want to introduce a third region representing the walls of the box, because it is so thin that it’s excessively expensive to mesh (in fact, I never succeeded at meshing such a thin box at all).

Put another way, my walls are modelled as contacting faces. If there’s only one region, I have no contacting faces, so I’ve lost my walls.

A third way to re-state my basic question would be to ask a totally different question: If I have a single air region, is it possible to introduce a infinitesimally thin wall into it? (think: paper plane)

To be honest your mesh, cell count-wise, is quite small when compared to other conjugate heat transfer meshes that I’ve seen. It has just 300k cells.
If you want to re-do the geometry capturing the inner box wall thickness, you can link it here and I’ll try and mesh it (you can also add the vents if you wish) :stuck_out_tongue_winking_eye:

Edit: here’s the mesh It’s at a manageable 3.9M cell size. It’s currently capturing all of the interfaces correctly and it has 0 errors. You can tweak it a bit by adding extra refinements if you want.

That’s a very kind offer, thank you! Here’s a new project, this time with some basic vent holes (not necessarily the shape I want ultimately, but I’m sure whatever tricks I’m about to learn will be transferable!):

Using a surface refinement level of 5 to 6, it gets the following message:

The following mesh operation(s) failed:

  • Mesh 1
    • The geometry could not be resolved properly in the mesh. Increasing the mesh fineness on the respective bodies potentially fixes this issue. Please contact our support for further assistance.

And from the log:

Finalising parallel run
Detecting interfaces between regions...
  index  region:face (master)    region:face (slave)
-------  ----------------------  ---------------------
      0  solid1:face68@solid1    solid2:face553@solid2
      1  solid1:face1@solid1     solid2:face549@solid2
      2  solid1:face122@solid1   solid2:face545@solid2
      3  solid1:face124@solid1   solid2:face540@solid2
      4  solid1:face126@solid1   solid2:face536@solid2
      5  solid1:face128@solid1   solid2:face531@solid2
      6  solid1:face384@solid1   solid2:face521@solid2
      7  solid1:face236@solid1   solid2:face517@solid2
      8  solid1:face233@solid1   solid2:face513@solid2
      9  solid1:face230@solid1   solid2:face509@solid2
     10  solid1:face227@solid1   solid2:face504@solid2
     11  solid1:face224@solid1   solid2:face500@solid2
     12  solid1:face221@solid1   solid2:face495@solid2
The following face pairs could not be resolved into interfaces. You can explicitly create them when setting up simulations:
  index  region:face            region:face
-------  ---------------------  ---------------------
      0  solid1:face399@solid1  solid2:face526@solid2
Detected 13 valid interfaces. 1 interfaces failed to be resolved with the applied mesh fineness.
0 interfaces are only partial and are not taken into account.

A fair while ago, I tried a surface refinement of 10, which seemed necessary to me (1 m / 1 mm = 2^10), but this went out of memory IIRC.

1 Like

Thank you so much for taking the time to do that; I’m still a little confused why the non-parametric meshing works and the parametric one didn’t, but that doesn’t matter. What’s important is that you’ve unblocked by analysis, thank you very much!

However, I still think this is a little bit of an imperfect ‘hack’, in the sense that we’ve gone from 300k cells to 3M cells, even though adding a vent should barely increase the complexity of the problem at all (just a touch more refinement around the edges of the vent should be all that’s needed). The fact that we “need” an incredibly fine mesh across all the faces just because the wall is very thin just ain’t necessary in reality for the simulation to work.

CFD Squad, is there a way to perform a conjugate thermal simulation in which a single air region has within it a surface* which is modelled as a no-slip wall with a particular thermal conductance?

*A surface in the OnShape sense; i.e. not a watertight solid, just a surface.

Edit: In OpenFOAM parlance, I think I want baffles / thermal baffles.