Tower Bridge Meets CFD
Complete, watertight, complex geometry is a rare but welcome find in Computational Fluid Dynamics (CFD). However, thanks to the steering committee of the upcoming 23rd International Meshing Roundtable, such a geometry, in various formats, is freely available for their meshing contest. The star of the contest is London's Tower Bridge, I presume in honor of the conference's host city. So to the bat cave to see what Caedium Professional can do with this model.
For a challenge I decided to make the STL (.stl) model for the meshing contest the basis of my work - usually I recommend STEP (.stp). The model was complete and watertight. The import process grouped the facets according to an angle constraint of 40 degrees. To complete the flow domain I created a cylinder and subtracted the two bases of the bridge pylons from the ground circle, then stitched all the faces into a single watertight flow volume.
As with any complex geometry I first created just the surface mesh (with its relatively short generation time) to minimize the overall turnaround time. If you focus on creating a good surface mesh then usually a good volume meshing leading to a successful flow simulation will follow. If you jump straight to the volume mesh creation then you often have to remedy surface mesh problems while repeatedly waiting for the more time-consuming volume mesh to complete.
Looking at the surface mesh metric (Scalar Fields->E Ratio) provided an indication of where extra mesh resolution was required. Also while creating the surface mesh some faces reported mesh failures due to mesh sizing too large for the face. This was evident on all the tie-rods supporting the road deck. To remedy the mesh failures I assigned an appropriate mesh sizing (using the Accuracy tool) constraint on all the tie-rod faces. I also applied sizing constraints on the faces with poor (low) mesh metrics. All these constraints propagate according to a growth rate across nearby faces and to the localized volume elements.
The final surface mesh had 979,032 triangle elements on 2,780 geometry faces. It retains all the original sharp feature edges.
Converted from Triangle Surface Mesh
Creating the volume mesh just required a request for the volume mesh metric (Scalar Fields->Vol Ratio), which showed some poor individual elements but no clusters and was therefore deemed good enough to proceed to the flow simulation stage. With conversion to a dual mesh (polyhedra) the poor elements usually do not cause problems.
The final volume mesh had 13,826,169 tetrahedra elements using 2,567,895 nodes. After conversion to the dual mesh there were approximately the same number of polyhedra as nodes.
Prior to polyhedra conversion
No mesh is an island, so to evaluate its suitability for a simulation I proceeded to set up and run a simulation.
The physics setup was relatively straightforward. I assigned every face to be a wall boundary condition (BC) and then re-assigned the outer circumference faces to be free-stream BCs. I also assigned the top circular face as a slip BC. This setup is similar to the Caedium tutorial "Flow Over a Double-Sided Membrane". I created a residual monitor to provide feedback on the progress of the flow solver and also added a force monitor to measure the drag.
Ready to run
While this is not a rigorous study of bridge aerodynamics, it shows in principle how to prepare the geometry, control the mesh, and set up a simulation for a complex configuration starting with an imported model.
- The bridge geometry can be downloaded from "Meshing Contest".
- The simulation was created in Caedium Professional using the incompressible, steady-state RANS solver with the k-omega turbulence model.
Recent blog posts
- External Aerodynamics with CFD
- A Case for Renaming the Navier-Stokes Equations
- Ludwig Prandtl: Real Fluids Explained
- Osborne Reynolds: A Giant in Fluid Dynamics
- Sliver Treatment Strategies for CFD
- How to Fix Small Acute Angles for CFD
- Small Feature Removal for CFD
- Fluid Visualization in Nature
- Design is Compromise
- CFD Is Not Enough