http://www.deskeng.com/de/the-sweet-side-of-simulation-behind-the-scenes-at-nestle/
Well thats how CFD can play a big role in product design and development.
Computational fluid dynamics, usually abbreviated as CFD, is a branch of fluid mechanics that uses numerical methods and algorithms to solve and analyze problems that involve fluid flows.With the increase in the computing speed and new hardware's CFD has increased its application domain in each and every field like bio-medical,electrical,civil,finance etc. My blog mainly deals with the latest development in CFD as well as CAD software in windows and Open Source softwares.
Tuesday, April 5, 2016
Saturday, February 13, 2016
Love for Fighters
My love for aircrafts and fighter planes was altogether put into a completely different level during my Under Graduation days. All thanks to my friend Mr. Neil Mehta, this guy since then has been a source of motivation for me and many others as well. This one is for you buddy.
The Sukhoi Su-30MKI (NATO reporting name: Flanker-H) is a twinjet multirole air superiority fighter developed by Russia's Sukhoi and built under licence by India's Hindustan Aeronautics Limited (HAL) for the Indian Air Force (IAF). A variant of the Sukhoi Su-30, it is a heavy, all-weather, long-range fighter. (source wiki).
GrabCAD has been my best source for finding CAD models and it never disappoints me. The actual CAD model was quite big so I had to scale it down to fit the geometry in my domain and mesh it.
Finally simulations were complete. Presenting to you Flow over an Sukhoi Su 30 MKI with Streamlines.
The Sukhoi Su-30MKI (NATO reporting name: Flanker-H) is a twinjet multirole air superiority fighter developed by Russia's Sukhoi and built under licence by India's Hindustan Aeronautics Limited (HAL) for the Indian Air Force (IAF). A variant of the Sukhoi Su-30, it is a heavy, all-weather, long-range fighter. (source wiki).
GrabCAD has been my best source for finding CAD models and it never disappoints me. The actual CAD model was quite big so I had to scale it down to fit the geometry in my domain and mesh it.
![]() |
| Actual CAD geometry : GrabCAD |
![]() |
| snappyHexMesh_1 |
![]() |
| snappyHexMesh_2 |
![]() |
| Streamlines over Sukhoi Su 30 MKI |
Thursday, February 11, 2016
OpenFOAM Simulation of flow past FERRARI F 50
snappyHexMesh proves to be a big boon when you have a CAD file ready. Yesterday I tried to study the external aerodynamics of flow past a FERRARI F 50. To get CAD files use this website ( https://sites.google.com/site/garcfd/stl ), you can find some cool CAD files.
I would like to share some of the important things I learnt while using snappyHexMesh utility.
1. Always use a ".stl" CAD file. Check for any holes in it, if any close them as this can cause issues later while running snappyHexMesh. ( basically a CAD clean up is always good)
2. Use a simple name for your CAD file. Do not name it too complex since we need to use this name multiple times in snappyHexMeshDict file. ( eg, car.stl - short and simple)
3. When you run the case always keep Allrun and Allclean script files ready. This will help you to save time while running the simulations.
4.Finally the most important point. When we create a blockMeshDict file please see to it that the size of the mesh should be uniform in X, Y and Z direction i.e. uniform cube.
Solver : simpleFoam ( implicit solver for incompressible and turbulent flow)
Domain size : 20m X 8m X 8m
After snappyHexMesh
Velocity Contour : StreamLines
The simulation finally end, and they end quickly since its an implicit solver. For more details please post your comments here.
I would like to share some of the important things I learnt while using snappyHexMesh utility.
1. Always use a ".stl" CAD file. Check for any holes in it, if any close them as this can cause issues later while running snappyHexMesh. ( basically a CAD clean up is always good)
2. Use a simple name for your CAD file. Do not name it too complex since we need to use this name multiple times in snappyHexMeshDict file. ( eg, car.stl - short and simple)
3. When you run the case always keep Allrun and Allclean script files ready. This will help you to save time while running the simulations.
4.Finally the most important point. When we create a blockMeshDict file please see to it that the size of the mesh should be uniform in X, Y and Z direction i.e. uniform cube.
Solver : simpleFoam ( implicit solver for incompressible and turbulent flow)
Domain size : 20m X 8m X 8m
After snappyHexMesh
Velocity Contour : StreamLines
The simulation finally end, and they end quickly since its an implicit solver. For more details please post your comments here.
Tuesday, January 12, 2016
First OpenFOAM Symposium @ IIT Bombay
FOSSEE, IIT Bombay is organizing its First OpenFOAM Symposium at IIT Bombay, on 27th Feb, 2016. The symposium would feature talks from OpenFOAM users, Students talks and OpenFOAM Workshop.For more details please visit the given link. http://fossee.in/conference/ cfd-symposium/
Monday, December 21, 2015
Static Mixer Simulation
Simulation of Static Mixer
A static mixer is a precision engineered device for the continuous mixing of fluid materials. Normally the fluids to be mixed are liquid, but static mixers can also be used to mix gas streams, disperse gas into liquid or blend immiscible liquids.
Simulation was performed using icoFoam as a transient solver. Geometry and Meshing was done using Salome Meca. A coarse mesh was used for this simulation. Turbulence models have not been implemented , but will be done sooner on an improved simulation.
Watch the animation here
YouTube link : https://www.youtube.com/watch?v=hHbKx0w35ak
A static mixer is a precision engineered device for the continuous mixing of fluid materials. Normally the fluids to be mixed are liquid, but static mixers can also be used to mix gas streams, disperse gas into liquid or blend immiscible liquids.
Simulation was performed using icoFoam as a transient solver. Geometry and Meshing was done using Salome Meca. A coarse mesh was used for this simulation. Turbulence models have not been implemented , but will be done sooner on an improved simulation.
![]() |
| Cylinder |
![]() | ||||
| Bottom cone |
![]() |
| Extrusion of Bottom conical section for outlet |
![]() |
| Extrusion of Inlet faces |
![]() |
| Final Geometry of Mixer |
![]() |
| Meshing - Tetrahedral meshing using Salome |
![]() | |
| Velocity Magnitude with Streamlines |
Watch the animation here
YouTube link : https://www.youtube.com/watch?v=hHbKx0w35ak
Wednesday, November 4, 2015
OpenFOAM v3.0.0
OpenCFD released the latest version of one of the most widely used open source CFD softwares OpenFOAM v 3.0.0. The new version has been refurbished with addition of new features, fast algorithms, and few structural changes in the software.
Download http://www.openfoam.org/download/source.php
Download http://www.openfoam.org/download/source.php
Saturday, October 17, 2015
Trying my hands at SnappyHexMesh ( F1 car simulation )
![]() |
| F1 car - STL file picked from GrabCAD |
![]() |
| snappyHexMesh |
![]() |
| Pressure coutour |
![]() |
| Velocity Contour |
Using OpenFOAM we can easily import stl files and mesh them using snappyHexMesh utility. The stl file used above was taken from GrabCAD ( you can find various CAD files on this site ). I have used simpleFoam here for solving an steady state problem (to save time and energy.. :D ). For more details/discussions you can comment below the post.. Simulation...
Sunday, October 4, 2015
MPI vs. OpenMP
Simple explanation of difference between OpenMP and OpenMPI
"Donald Jones" wrote
OpenMP works on SMP systems, whereas MPI works on both SMP anddistributed memory systems (ie, clusters). The codes we use in our officetypically use MPI between cluster nodes and OpenMP on individual nodes(assuming a dual CPU node), and often both at once (launch on 32 nodeswith 2 CPUs per node; OpenMP spawns appropriate portions of the code overboth CPUs).
From my experience, OpenMP has better performance on SMP systems,ignoring MPI implementations that short circuit the TCP/IP stack (eg,SGI's MPI on Origin 3000s). If you will be launching different runs oneach node, then OpenMP will likely offer better performance than MPI.However, if you are going to launch a single job across multiple nodes,MPI is the de facto standard for parallelizing on clusters.
Other difference between OpenMP and MPI is that OpenMP is a fine grainparallelism and MPI is a course grain parallelism. For example, in OpenMPyou most often parallelize over a loop using compile directives, so thecode runs in serial until the loop, runs the loop in parallel, thenreverts back to serial. Conversely, with MPI the entire code is launchedon each node and you control what each code executes based its nodenumber in the MPI universe along with an algorithm that distributes work,eg, a master/slave model.
-------------------------------------------
Parallel computing concepts can be really made simple to understand by such explanation for all CS as well as NON-CS users...
P.S : I was reading about OpenMP and OpenMPI and came across a link which had this explanation.
Saturday, October 3, 2015
For F1 Racing lovers...
This seems to be a interesting link showcasing all the latest technology trends in F1 racing..
http://www.f1technical.net/development/?sid=e310ed165d67746f74d9cd1666a659eb
http://www.f1technical.net/development/?sid=e310ed165d67746f74d9cd1666a659eb
Monday, September 21, 2015
CFD Engine
You surely need to check this out...really interesting stuff for people who love to work in the field of CFD. I Got in touch with the Blog Writer Robin Knowles and I must say, really liked the way in which he has come up with small articles covering all the aspects of CFD + CAD = CAE overall...now isn't that really cool.. :)
Moving Boundary problem in OpenFOAM
Hey Guys, Its really been a long time since I have posted something. I was looking out for some of my old stuff and found out this ( I had uploaded this on youtube 3 years ago. ). Moving boundary in OpenFOAM. It is based on dynamicInkJetFvMesh mesh motion without solving any flow here. We have used a simple rectangular box here with dimension of (6 x 3 ) with 60 cells in the X-direction and 20 in the Y-direction. Use the solver interDyMFoam to only update mesh with out solving for flow. ( The original tutorial is developed by Julien
Reveillon ).
Till then enjoy and watch out for new stuff.... :)
Till then enjoy and watch out for new stuff.... :)
Saturday, May 23, 2015
Flow over an aircraft using snappyHexMesh
Hi Guys,
Time to work on snappyHexMesh in OpenFOAM. To start with, need to mention about JC Puig whose tutorial I am referring (http://the-foam-house5.webnode.es/) . The tutorial provides a very brief introduction on using snappyHexMesh.
You can find the description of the geometry and mesh on his page. The basic requirements for using a snappyHexMesh in OF are :
1. Need the geometry STL file, i.e. snappyHexMesh works with a STerioLithography file which is widely available as an export in CAD softwares.
2. OpenFOAM case file, we can use the available motorBike case in OF to start up with so we need not make much changes to our file structure.
3. Using surfaceFeatureExtract command, to extract the surface feature in the geometry.
4. creating a blockMesh for external domain
5. snappyHexMeshDict file for setting up the meshing parameters
6. and finally the solver
Output after snappyHexMesh is used :
7. Solver used : simpleFOAM.
Velocity contour :
Pressure contour :

Time to work on snappyHexMesh in OpenFOAM. To start with, need to mention about JC Puig whose tutorial I am referring (http://the-foam-house5.webnode.es/) . The tutorial provides a very brief introduction on using snappyHexMesh.
You can find the description of the geometry and mesh on his page. The basic requirements for using a snappyHexMesh in OF are :
1. Need the geometry STL file, i.e. snappyHexMesh works with a STerioLithography file which is widely available as an export in CAD softwares.
2. OpenFOAM case file, we can use the available motorBike case in OF to start up with so we need not make much changes to our file structure.
3. Using surfaceFeatureExtract command, to extract the surface feature in the geometry.
4. creating a blockMesh for external domain
5. snappyHexMeshDict file for setting up the meshing parameters
6. and finally the solver
Output after snappyHexMesh is used :
7. Solver used : simpleFOAM.
Velocity contour :
Pressure contour :

OpenFOAM v2.4.0 released
Hey Guys,
Check out the new version of OpenFOAM with lots of added improvements like different grading for blockMesh, higher order methods for interface capturing in mutiphase flows, scripts to create MPEG videos from .png images, clone foam cases and lots more. So time to switch to a improved version of OpenFOAM.
Download OF from : http://www.openfoam.org/download/
Check out the new version of OpenFOAM with lots of added improvements like different grading for blockMesh, higher order methods for interface capturing in mutiphase flows, scripts to create MPEG videos from .png images, clone foam cases and lots more. So time to switch to a improved version of OpenFOAM.
Download OF from : http://www.openfoam.org/download/
Monday, August 25, 2014
SALOME : impeller design
Salome : Free and Open source cad and meshing software. Today I tried using salome to model a impeller. The model was not an accurate design but an approximate to the actual one. Salome lacks a majot feature for blade designing i.e "loft". This was the only issue which I faced while creating the geometry.
Now let me explain you the steps in salome for making this design.
P.S. : The dimensions are in mm and other dimensions are just taken randomly.
Step 1.
In salome go to " New Entities > 2D Sketch " and create a 2D image for the impeller as shown.
Step 2.
Click on the " Reset Axis " to change the view of the sketch.
Create a face for the sketch using " New Entity > Build > Face ".
Select the edges of the sketch and then click on Apply.
Step 3.
We need to revolve the face along an axis to complete the impeller design.
Go to " New Entity > Generation > Revolution ".
Click on the face and the axis along which we want to revolve and provide the input for revolution. In this case it is 360 deg.
Step 4.
Now we need to create the blades for the impeller.
Note that : The blades here are not having the perfectly aerofoil design shape as expected. The Salome seems to be lagging the lost function or may be I am not able to find it and hence its just an approximate design which I have come up with.
The thickness of the blade is 4mm and the top and bottom part of the blades are having a length of 58 mm and 80 mm.
To create the blade go to points and then create the points at the top surface of the impeller and at the bottom surface where the impeller blades cut the impeller.
Twist the bottom surface of the blade by and angle of 45 deg and having some curved surface.
STEP 5.
Similarly create a face for the blade and not extrude it along the Z axis.The blade has a thickness of 4 mm.
STEP 6.
To make multiple blades we need to create multiple copies of the blade. This can be done as follows :
Go to "Operation > Transformation > Multi-rotation"
Now create about 22 such copies of the blade with an angle of 25 deg in between each blade.
Now to make the geometry as a single model fuse the impeller and the blade using the fuse option. (" Operation > Boolean > Fuse ")
Save the mesh as impeller.msh (save it in ascii format)
This completes our geometry although not exact, but still an effort to create a impeller blade. I hope the loft option gets updated in the new release of Salome.( I am currently using Salome 7.2.0)
Meshing might take a while....so stay updated.. :)
Now let me explain you the steps in salome for making this design.
P.S. : The dimensions are in mm and other dimensions are just taken randomly.
Step 1.
In salome go to " New Entities > 2D Sketch " and create a 2D image for the impeller as shown.
Step 2.
Click on the " Reset Axis " to change the view of the sketch.
Create a face for the sketch using " New Entity > Build > Face ".
Select the edges of the sketch and then click on Apply.
Step 3.
We need to revolve the face along an axis to complete the impeller design.
Go to " New Entity > Generation > Revolution ".
Click on the face and the axis along which we want to revolve and provide the input for revolution. In this case it is 360 deg.
Step 4.
Now we need to create the blades for the impeller.
Note that : The blades here are not having the perfectly aerofoil design shape as expected. The Salome seems to be lagging the lost function or may be I am not able to find it and hence its just an approximate design which I have come up with.
The thickness of the blade is 4mm and the top and bottom part of the blades are having a length of 58 mm and 80 mm.
To create the blade go to points and then create the points at the top surface of the impeller and at the bottom surface where the impeller blades cut the impeller.
Twist the bottom surface of the blade by and angle of 45 deg and having some curved surface.
STEP 5.
Similarly create a face for the blade and not extrude it along the Z axis.The blade has a thickness of 4 mm.
STEP 6.
To make multiple blades we need to create multiple copies of the blade. This can be done as follows :
Go to "Operation > Transformation > Multi-rotation"
Now create about 22 such copies of the blade with an angle of 25 deg in between each blade.
Now to make the geometry as a single model fuse the impeller and the blade using the fuse option. (" Operation > Boolean > Fuse ")
Save the mesh as impeller.msh (save it in ascii format)
This completes our geometry although not exact, but still an effort to create a impeller blade. I hope the loft option gets updated in the new release of Salome.( I am currently using Salome 7.2.0)
Meshing might take a while....so stay updated.. :)
Friday, August 15, 2014
Using Latex
For the time being please go through these spoken tutorials which are made by my Project Invigilator Prof. Kannan Modugalya. Simple 10 minutes tutorial will not only help you to learn latex but will help you learn it really quickly.
LINK : http://www.spoken-tutorial.org/tutorial-search/?foss=LaTeX&language=English
LINK : http://www.spoken-tutorial.org/tutorial-search/?foss=LaTeX&language=English
Tuesday, August 12, 2014
Plotting a variable against time in paraview 4.1.0
Paraview is really awesome and I bet once you start using it you would actually love it. Few things have changed in the new version of paraview and some I, myself had issues in dealing with some of the features. So my professor told me to get a plot of a scalar quantity v/s time and zoinks!!!..I gave a yes nod , but when I actually went and tried doing it I wasn't able to locate the option for plotting it. So after spending a quality 48 hours I realized it was a bit tricky and there was no good link/ forum / user manual available for doing it. So make life easier for beginners and paraview lovers and my friends these are the steps of creating a plot a graph with time.
STEP 1.
Open your OpenFOAM or any other format that you wish to open in Paraview.
STEP 2.
View your geometry along any direction you wish to.
STEP 3.
Now click if your geometry is 2D, you need not worry. But if it's 3D I would suggest to make the opacity of your geometry to 0.7/0.6 and and take a cut section at that location.
STEP 4.
After this now the real change comes into picture. In all the older versions of paraview we had Selection Display Inspector for selecting a location in the geometry, which is disabled in the latest version. In place of which a new option is provided just above the user interface window..which has a small icon named "SELECT POINTS ON". Click on this.
STEP 5.
Now place the point in your desired location and now select PlotSelectionoverTime.
STEP 6.
Click Apply and then wait for some time. For simple simulations it may be work quite fast and you will get a plot of various quantities v/s time. But for complex geometries it may take a while as it may consume more a greater chunk of your RAM.
STEP 7.
This end up the plotting . Now label your axis and use these graphs for your Reports. Happy plotting... :) !!!!
STEP 1.
Open your OpenFOAM or any other format that you wish to open in Paraview.
STEP 2.
View your geometry along any direction you wish to.
STEP 3.
Now click if your geometry is 2D, you need not worry. But if it's 3D I would suggest to make the opacity of your geometry to 0.7/0.6 and and take a cut section at that location.
STEP 4.
After this now the real change comes into picture. In all the older versions of paraview we had Selection Display Inspector for selecting a location in the geometry, which is disabled in the latest version. In place of which a new option is provided just above the user interface window..which has a small icon named "SELECT POINTS ON". Click on this.
STEP 5.
Now place the point in your desired location and now select PlotSelectionoverTime.
STEP 6.
Click Apply and then wait for some time. For simple simulations it may be work quite fast and you will get a plot of various quantities v/s time. But for complex geometries it may take a while as it may consume more a greater chunk of your RAM.
STEP 7.
This end up the plotting . Now label your axis and use these graphs for your Reports. Happy plotting... :) !!!!
Monday, August 11, 2014
FOSS family just keeps growing...
It has been a fantastic journey with the FOSSEE (Free and Open Source
Software for Science and Education ) team and it still continues to
grow. Since I joined the team way back in 2011 and now when I see it
today there is a lot of increase in the entropy of the whole project.
With FOSS spreading like a wild fire in Indian Universities these days
the addition of new FOSS tools has certainly bolstered the mission in a
great way. From learing Scilab, Python to doing doing simulations using
OpenFOAM to building a Inhouse Electrical software CAD tool, OR tools
for optimization ,it really shows the efforts put up by every one.
I really wish the use of FOSS tools reaches every nooks and corners of India to save lot's of money that we invest on commercial tools and thus by investing the same money to develop the man power required to make FOSS more effective.
More information : http://fossee.in/
I really wish the use of FOSS tools reaches every nooks and corners of India to save lot's of money that we invest on commercial tools and thus by investing the same money to develop the man power required to make FOSS more effective.
More information : http://fossee.in/
Thursday, July 3, 2014
3D bend pipe = Salome + OpenFOAM ( simpleFoam with temperature )
Posting this after a long break......
Simulation of a steady flow in a 3D pipe bend using Salome and OpenFOAM. Energy equation was added to the OpenFOAM solver Salome and a new solver named "simTempFoam" was developed. The geometry is a pipe with a diameter of 0.3 m and having a total length of 100 m and velocity of 1 m/s.
The above figure Shows the geometry created in Salome v 7.2.0. The meshing was carried out in Salome itself and hexahedral mesh was used for the meshing.
OpenFOAM was used for solving the flow through the bend. A steady state solver named "simTempFoam" was developed for with addition of energy equation. The solution converged in 300 iterations resulting in the following pressure, velocity and temperature contour plot.
Simulation of a steady flow in a 3D pipe bend using Salome and OpenFOAM. Energy equation was added to the OpenFOAM solver Salome and a new solver named "simTempFoam" was developed. The geometry is a pipe with a diameter of 0.3 m and having a total length of 100 m and velocity of 1 m/s.
![]() |
| Pipe : Inlet, Outlet and wall boundary |
The above figure Shows the geometry created in Salome v 7.2.0. The meshing was carried out in Salome itself and hexahedral mesh was used for the meshing.
![]() |
| Hexahedral mesh was generated using Salome with a total cell count of 60000 |
![]() |
| Pressure contour |
![]() |
| Velocity contour |
Thursday, August 29, 2013
Salome - Open Source CAD and Meshing Software
I recently started using Salome as a CAD and Meshing tool. Though initially I found it a bit tough to start up with but with practice I have found it much easier to work. The software was developed by a Finnish Institute in 1995 and since then has undergone many developments.
The software has some really good geometry building feature which are found even in commercial softwares. The concept of exploding the geometry into solid ,faces, wires has really caught my eye as that is something very unique about this software.
Once the CAD file is made it can be easily shifted to the Mesh Module. Now the only thing here is to be taken care of is the Meshing strategy to be used. User needs to understand what kind of a mesh is required for his/her geometry and accordingly choose the methods. Also the limit for the cell count here is 500000, I really don't understand the reason behind this as it sometimes the user requires to compromise on the mesh cell count ( some geometries require huge number of cells ). The Mesh file can be saved in " .unv " format and can be used in OpenFOAM. There are a lot of other features which Salome offers which I would explore with time, but yes being open source this is a a real good software to look out for an save your money : ).
Salome site : http://www.salome-platform.org/
The software has some really good geometry building feature which are found even in commercial softwares. The concept of exploding the geometry into solid ,faces, wires has really caught my eye as that is something very unique about this software.
Once the CAD file is made it can be easily shifted to the Mesh Module. Now the only thing here is to be taken care of is the Meshing strategy to be used. User needs to understand what kind of a mesh is required for his/her geometry and accordingly choose the methods. Also the limit for the cell count here is 500000, I really don't understand the reason behind this as it sometimes the user requires to compromise on the mesh cell count ( some geometries require huge number of cells ). The Mesh file can be saved in " .unv " format and can be used in OpenFOAM. There are a lot of other features which Salome offers which I would explore with time, but yes being open source this is a a real good software to look out for an save your money : ).
Salome site : http://www.salome-platform.org/
ESI-OpenCFD releases OpenFOAM® 2.2.1
ESI-OpenCFD has released the next version of OpenFOAM v2.2.1. It includes some new solvers and some more utility addition in heat transfer module. To Download and check more updates on the new version :
http://www.openfoam.org/version2.2.1/
http://www.openfoam.org/version2.2.1/
Subscribe to:
Posts (Atom)


































