No matter what CFD platform you are using, you will undoubtedly have to make CAD geometry ready for use in a simulation. This guide details what is involved in preparing the geometry for bramble.
For bramble, CAD needs to be turned into a triangulated mesh format known as STL. STL is a common input format for CFD codes, that is widely used in 3D printing. This is because it provides an efficient representation of the 3D geometry, i.e. it uses fewer triangles to capture features.
STL is a fairly ubiquitous format support by CAD packages and CFD pre-processors. CAD packages such as Rhino will typically have an ‘Export As > STL’ option and many CFD pre-processors will have STL meshing algorithms as an option.
The important thing to remember is ensuring that the STL is sufficiently fine to capture small details, and in particular curved surfaces. If you create a coarse STL mesh, you’ll turn radii into hexagons and those hexagons will be meshed into the model. This may well produce artificial separations when the flow trips over the sharp angles of the hexagon.
Our recommended STL settings for most external flow applications are a maximum edge length = 10mm and a chord deviation of 0.2mm (that is to say, the STL should be more than 0.2mm from the surface of the underlying CAD, important for capturing radii).
Defeature or All-the-Features?
One step that is usually listed in the geometry preparation process is ‘defeaturing’, the act of removing details from the CAD to simplify it. However, as a general rule this isn’t something we would recommend.
First and foremost, if you want an ‘accurate’ model, then it needs to be representative of the real world geometry. If you start removing features, you move further away from reality and so potentially from accuracy.
Defeaturing is usually done to make the model easy to mesh. bramble‘s OpenFOAM® based workflows use the mesher ‘snappyHexMesh‘. snappyHexMesh combined with our custom enhancements is robust enough to handle complex features. Additionally, it is automated, so there’s no man-time cost for meshing in more complex features. In fact you save man-time by not having to remove them.
Overlaps and Intersections
Some meshing processes require CAD surfaces to be turned into a single continuous surface. Thankfully, this is not required in bramble as snappyHexMesh is perfectly happy working with multiple input STL files that overlap and intersect.
In fact, we would encourage building a model made up of multiple input STLs as these are smaller and quicker to upload. In addition, it makes the model more modular, allowing you to easily add and remove components during the development process. To put that in perspective, some of the detailed automotive models run in bramble include 200+ components.
Perhaps the most time consuming stage of preparing geometry for a CFD model is ensuring that it is a watertight. That is to say, that there are no holes allowing flow inside solid geometry, or inside the cabin of a vehicle.
OpenFOAM’s® solvers can handle simulations where the volume mesh has leaked into internal volumes. However, we would recommend avoiding this situation for two reasons. Firstly, it adds unnecessary mesh to the CFD model and this increases the computation time and cost unnecessarily. Secondly, with CFD solvers generally, the mesh inside the internal cavities (particularly small recesses) can be of a poor quality. This can lead to instability in the solution requiring interventions to manage it. This in turn can produce inconsistency in the results from run to run.
bramble has two features to assist with the detection and fixing of holes. When parts are uploaded, there is an option to ‘repair’ the mesh. This will tell bramble to identify any holes in the mesh and fill them. Once uploaded, bramble will also report if any holes have been detected. This can help you identify issues before the simulation is launched.