90 likes | 249 Views
Using ANN to solve the Navier Stoke Equations. Motivation: Solving the complete Navier Stokes equations using direct numerical simulation is computationally very expensive. A simple three dimensional gas jet might take over one year of CPU time to simulate.
E N D
Using ANN to solve the Navier Stoke Equations Motivation: Solving the complete Navier Stokes equations using direct numerical simulation is computationally very expensive. A simple three dimensional gas jet might take over one year of CPU time to simulate. Approach: Use of ANN to solve these equations is demonstrated using the driven lid cavity problem. (code: drivencavity.m)
Driven lid cavity problem Plate Reynolds no.=70 Cavity
Steady state predictions Where u and v are the x and y velocity components. An MLP using the back propagation algorithm was used to predict the streamfunction at the 64 grid points with just the Reynolds number as input. Predictions with less than 1 percent error were obtained with just one hidden layer containing three neurons. 1000 samples were used to train the network. CFD solution uses the vorticity-streamfunction approach to solve the NS equations. For a particular reynolds number there is only one unique solution. The quantity to be predicted was the streamfunction since all other quantities such as velocity can be derived directly from it: -
Transient predictions • The steady state predictions are not general.i.e. they can be used only at a particular Reynolds number. • To be a useful tool the the network was used to solve for the streamfunction in the code. • This is the same as solving a set of partial differential equations. • The code iterates globally for vorticity and locally for the streamfunction. The streamfunction is solved for, using the Gauss-Siedel method. • For this case the code makes 78,997 local iterations for the streamfunction within 300 global iterations for vorticity.
Neural Net Predictions Percentage error for streamfunction at each grid point
Can we use this model directly? This network had 64 vorticity inputs, 64 streamfunction outputs and 3 hidden layers with 10 neurons each. 1300 samples were used to train and 300 samples to test. If we use this network directly, the final solution will not converge even if there is 1% error. However we can try to replace the initial iterations by the network and restore the initial numerical method at a later time.
Replacing the initial iterations We can let the code skip any number of initial iterations. The solution will always converge as long as we let the original numerical scheme take over at the end. But if we use the neural net for too many iterations, the errors will get stacked up and the numerical scheme will have to do extra iterations to correct the solution. However it was observed that the solution always converges to the one unique solution no matter how long we use the neural network Therefore it becomes an optimization issue; till what point should we use the network and at what point should we changeover?
Results and conclusions At the optimum point, computation time reduces by 76.3%
Results and conclusions This approach is safe. The unique physical solution is always obtainedas long as the original numerical scheme is allowed to kick in at anypoint. Even if we do not find the optimum point and specify an arbitrary high number of neural net iterations, the plot shows a striking 72% reduction of computational time. The neural net developed to solve this set of PDE’s can be used in general in any code using the same governing equations. This technique has potential to be used in direct numerical simulation, the main limiting factor of which is computational time.