Printer-friendly versionPDF version

I don’t know how many hours I have spent in the last ten years watching STAR-CCM+ build meshes.  If there were a test I think I could recite the output logs by heart for most of the meshing steps.  95% of the time, the only reason the mesh needs to be rebuilt is because one surface was a bit too coarse or the designer came back with a slight tweak to the geometry.  So as an engineer this always bothered me, ‘Why do I need to re-mesh the whole thing if I just changed that little bit?’  

This year, for Valentine’s Day, we are giving everyone who builds surface meshes in STAR-CCM+ the gift of time.  Gone are the days spent watching the slider bar bounce for hours because you wanted to tweak one surface setting.  Gone are the days when a new design meant regenerating a whole new surface mesh.  Local surface remeshing will allow the user to choose what is remeshed, be it a single surface or most of the model and it will only change the mesh in the area specified by the user.  To me this means I can spend more time getting engineering results and less time waiting for a mesh to finish.

The first question I always get when I talk about this feature with users is: ‘Well what about the volume mesh?’, so I figure I will get that one out of the way first.   Local surface remeshing is the first step in a series of enhancements to STAR-CCM+, which at the end of the day will allow users to wrap, remesh and volume mesh all on a local basis.  Remeshing currently is one of the most time consuming steps for the most users, followed closely by wrapping and finally volume meshing.  So that is precisely the order we will be releasing the enhancements.  Local wrapping is targeted for mid to late 2016 and local volume meshing should follow in early to mid 2017.   The end goal is that a user should only ever need to generate a complete mesh once, even if the geometry changes!

So now that you know the plan for future, let’s talk about what you can look forward to today.  Local surface remeshing was the best place for us to start, mainly because that is where time is lost for most of our users, tweaking settings and refining geometry. The goal that we set out for is a pipelined process that would allow users to leverage local remeshing as part of every model building process.  To ensure this, the process needed to work for 3 main user scenarios:

  • Scenario 1: “I have a geometry where only a few small areas change”

  • Scenario 2: “The mesh settings aren’t exactly right on this one part, I want to change it”

  • Scenario 3: “The model is so complex, I need to work through the different areas piece by piece”

With these guiding scenarios we devised a method that gives you all the control you need and a workflow that can help you tackle the toughest challenges. 

Local surface remeshing is a ‘mode’ that can be switched on for an Automated Mesh Operation (AMO), when the switch is on, the AMO gets a new icon and will always behave in a local mode.  Now that the AMO is in local mode, the question is ‘Where to remesh?’  You are given 2 different ways of specifying the extent of the local remeshing changes: surface extent and volume extent.  Just like custom settings or volumetric controls, you can have as many or as few extents as you need.

Surface extent allows you to simply supply a part surface and the code will use the bounds of that surface to delineate the edges of the surface swap.  Under the hood, the code will go off and remesh just that single part surface and stitch the new version into the old mesh.  This is the best method to use for tweaking surface settings as you can have the same part surfaces in your custom control as in your local surface extents. The second method for defining your area of change is called volume extent and this can be imagined just like volumetric controls.  You can specify a part and anything inside of that part will be locally remeshed.  This is great when your changes either span part surfaces or encompass just a small part of a part surface. 

If your changes are well within the surface or volume extent and the perimeters aren’t changing, then you should be good to go, but more often than not you need to ‘blend’ the changes into the surrounding mesh.  Here we have also given you two ways to control what gets remeshed.  Inflation distance acts volumetrically: the user specifies an inflation distance and the extent is inflated by that value.  Any surfaces that are encompassed by the inflation are then locally remeshed.  This setting is useful when the extent could be moving in proximity to another surface.  The second option acts on a surface crawling basis and is called inflation layers.  This mode will grow from the perimeter of the surface or intersection of the volume by X layers where X is specified by the user. 

In both extent types, the entire surface is pulled out and the new one sewn in so it doesn’t matter if you are just changing a mesh size or completely changing the design. Changing the geometry is a key component for design exploration and this approach can reduce the meshing time by an order of magnitude.   Between local remeshing, parallel volume meshing and scalable solvers, the cost of design exploration has dropped to the point where the question is: ‘Why not run design exploration?’

The final piece in our user scenarios was to be able work your way through the model and, piece by piece, build the right mesh. Each extent can be activated and deactivated individually so that you can work on one area of the model until you are happy, de-activate the extent, create another one and work with that until you are happy. This workflow helps users break down the very complex problems into consumable pieces. 

Now that you know the nuts and bolts, let us apply it to a real case.  What we have below is a dummy LeMans car.  LeMans cars have notoriously huge surface meshes due to the fact that they are all smooth aerodynamic surfaces, so this means re-running a surface mesh can take a very long time.  In practice, 99% of the car remains the same and only small portions are changed at any given time.  Given these two stipulations, this is a prime candidate for design exploration leveraging local surface remeshing.  Our original coarse mesh takes about 600 seconds to complete.  At first glance, it is obvious we need to refine the front wing as that is the area we intend to investigate.  So we use surface extent and refine the front wing, taking about 60 seconds instead of 600+60 seconds without local remeshing.   Now that we have the mesh we want, we can de-activate the surface extent for the front wing.  The next step is to find the best design for centerline wing height.  We can employ either surface or volume extent here. Personally, I want to use volume since the center section is just a small part of the front wing part surface and I want to be as efficient as possible.  Locally remeshing each design now takes 29 seconds, so this means when running, lets say 100 designs, we have cut about 16 hours off just in surface meshing time alone.

So whether you are trying to build to right mesh or find that right design, local surface meshing can turn hours into minutes.  Keep your eyes peeled as this is only the first step in our march towards local everything, from wrap to volume mesh. 





Matthew Godo's picture
Matthew Godo
STAR-CCM+ Product Manager
Stephen Ferguson's picture
Stephen Ferguson
Marketing Director
James Clement's picture
James Clement
STAR-CCM+ Product Manager
Dr Mesh's picture
Dr Mesh
Meshing Guru
Joel Davison's picture
Joel Davison
Lead Product Manager, STAR-CCM+
Ravindra Aglave's picture
Ravindra Aglave
Director - Chemical Processing
Sabine Goodwin's picture
Sabine Goodwin
Director, Product Marketing
Karin Frojd's picture
Karin Frojd