Non-convergence of simulations can be caused by the inappropriate setting of numerical parameters. This project aims at tackling this issue through the use of an evolutionary genetic algorithm (EGA).
Context and challenges
TransAT is a software tool that performs high-value Computational Fluid Dynamics simulations in complex industrial scenarios. It uses advanced numerical methods that need to be tuned manually for each case. This is a hard task which requires expert knowledge. Sometime the experts cannot find a solution for a specific experience and the simulation does not converge.
Non-convergence of simulations can be caused by the inappropriate setting of numerical parameters. The “SmartFluid” project aims at tackling this issue through the use of an evolutionary genetic algorithm (EGA). In this project an EGA module called SarP (Smart adaptive run Parametrisation) has been developed to handle convergence problem when running TransAT. To reduce the evaluation time of the fitness function, the EGA has been extended by an approximation function inspired from data mining. The data model is constructed from historical data.
- Observe how the novices and the experts interact with TransAT. This output will be used to choose the parameters to be optimised;
- Develop an evolutionary genetic algorithm to optimise numerical parameters to enhance the convergence.
- Use machine learning approach to reduce the evaluation time of the EGAs fitness function. The prediction model is constructed from historical data;
- Integrate this module in TransAT application.
Partners and funding
The Evolutionary Genetic Algorithm (EGA) was tested with the following set of steady test cases:
- Case3: natural convection;
- Channel_flow_flux_pitched: force convection in an inclined channel;
- Backwardstep: laminar flow past a backward-facing step modelled with an embedded object;
- Ra_10p8: natural convection in a square cavity at a Rayleigh number of 108;
- Impinging_jet: jet impinging on a flat plate.
The original simulations for Backwardstep, Ra_10p8 and Impinging_jet did not converge, the aim was to fix the convergence issue. The remaining cases – i.e. Case3 and Channel_flow_flux_pitched – were already converging. The objective was to enhance the convergence. The Case3 test case was particularly slow.
The results obtained with each of these cases are reported in the following table containing results with and without the use the EGA.
|Without EGA||With EGA|
|Case3||582 iterations||322 iterations|
|Channel_flow_flux_pitched||187 iterations||186 iterations|
|Backwardstep||No Convergence||269 iterations|
|Ra_10p8||No Convergence||857 iterations|
|Impinging_jet||No Convergence||405 iterations|
The EGA was also tested with the following set of unsteady test cases:
- Ra_10p10: natural convection in a rectangular cavity at a Rayleigh number of 1010;
- Network_smart: two-phase flow through a network of pipes;
- Ra_10p5 (Windows only): natural convection modelling in a square cavity at a Rayleigh number of 105 using a compressible flow;
- CapillaryTube: capillary tube flow;
- Elbow_Water_Annulus: two-phase upward flow in an elbow with water air coming in at the centre of the pipe and water in an annulus around air inflow.
The original simulations for CapillaryTube, Elbow_Water_Annulus and Ra_10p5 (Windows only) did not converge. For the Ra_10p5 case, no known set of parameters making it converge was found until then on Windows whereas it converged on Linux with the hypre solver (not available on Windows). Network_smart crashed after running a few time-steps due to the time-step becoming too small. The Ra_10p10 test case is already converging but not optimally.
The results obtained for each of these cases are reported in the following table containing results with and without the use the EGA.
|Without EGA||With EGA|
|Time step||Physical time||Time step||Physical time|
|Elbow Water Annulus||No Convergence||15272||0.3292s|
In all cases the EGA was able to find fitter sets of parameters. With the EGA, test cases that were crashing were made to converge and the ones that already converged were made to converge faster.