Adaptive Meshing using STAR-CCM+ Weekly meeting – 05.12.2010 Victor Pépin Plan Curriculum Problem Software presentation Solution Results Next steps Curriculum Student at Ecole Centrale Paris French engineering school Non-specialized school 6 months internship in Manchester • February to mid-July Problem How to improve the use of computation resources over the geometry of the simulation ? Particularly, how to share resources relevantly, depending on the interest each area of the simulation represents ? A solution : adaptive meshing Software presentation Star-CCM+, v4.04.011 (CD-Adapco) Allows the use of macros, written in Java A macro is a list of instructions, forming an algorithm It interacts with the software via the user interface The software is seen like a “black box” Example of macro instructions // Define the simulation as a variable Simulation simulation_0 = getActiveSimulation(); // Define the Stopping Criterion as a variable StepStoppingCriterion stepStoppingCriterion_0 = ((StepStoppingCriterion) simulation_0. getSolverStoppingCriterionManager(). getSolverStoppingCriterion("Maximum Steps")); // Set the value of the Stopping Criterion to 1000 stepStoppingCriterion_0.setMaximumNumberSteps(1000); // Run the simulation simulation_0.getSimulationIterator().run(); Solution Scheme 1/2 Choose a quantity of interest, which will be the criterion of your refinement: e.g. velocity Launch the simulation with a coarse mesh Export a table containing the velocity in each cell of the mesh Consider each cell, and compare its velocity with a reference velocity • Vref = Vmin + percentage x (Vmax – Vmin) Solution 2/2 If V > Vref : • Create a box (Volume Shape), centred on the cell, • whose size is approximately the size of the cell Add the Volume Shape to a Source Volume Set a smaller base size for the mesh upon the Source Volume Re-mesh the simulation Run the simulation Repeat the process Results 1/3 2D lid-driven cavity test case Re = 50 Steady state of the flow Results 1/3 Results 2/3 2D turbulent lid-driven cavity Re = 15 000 Establishing flow The mesh follows the flow Results 3/3 3D cylinder Re = 10 Flow entering the pipe on the left Other features of the macro Adapt easily to any case (shape, boundaries, type of mesh…) Take user-defined field functions as a criterion for mesh refinement • Gradients, • Convergence between 2 times steps… Refine the mesh considering several field functions Next steps Measure the gains and loss of accuracy Measure the benefits in terms of time, and memory The end Thank you for listening !