

Postprocessingĭuring the calculation you can pipe the solver output to a log and draw graphs to have a better overview of convergence. Turbulence model of choice for centrifugal machines is k-Omega SST since it can handle all the different flows inside a pump (smaller pumps – lower Re and vice versa) and also non-optimal boundary layers of meshes. They seem to work for tutorial cases but PIMPLE isn’t meant to be run with settings like that. Pay special attention to PIMPLE settings as they are set to nonsense values in tutorials. Mesh rotation is defined in constant/dynamicMeshDict and solver used is pimpleDyMFoam. After a while, those unphysical conditions should subside because if they don’t you’re in trouble and should have a look into mesh and solver options. Because the initial conditions are unreal and the beginning acceleration of the impeller is impossibly high, the first few timesteps produce unrealistic results. Where geometry changes between these two timesteps, change that as well, in this case, rotate the impeller cellZone. The second option is to solve the flow in the exact given moment and then do it all over again for the next moment. Of course in my case it didn’t for a number of reasons (geometry conditions, unsteadiness of the flow, …). This should greatly reduce computation time but unfortunately doesn’t work in every case. Centrifugal and coriolis forces are added to all cells in impeller cellZone. The first, Multiple Reference Frame does not move mesh but simulates rotation with a rotating coordinate sistem. There are two options for simulating a centrifugal pump: steady case with MRF and transient case with dynamic mesh. I still suggest trying out cfMesh – it might work better for you. It does take a lot of experience to get everything right. * After several years of using OpenFOAM, snappyHexMesh proves to be better for complex geometries and large meshes. Note that a computer that has 4 physical cores and uses hyperthreading to produce a virtual 8-core processor will not solve this case any faster if you split the domain into 8 domains. Coincident patches are coupled with AMI – patches and everything that AMI requires is done after meshes are merged.
Save animation openfoam paraview Patch#
After meshing patch types are set and impeller ‘zone’ is set up – this part of the joined mesh will move.Įach part of the pump is meshed separately and then joined together in the ‘simulation’ folder. In my opinion it is far better than snappyHexMesh, much simpler and faster*. See salome-pre.hdf file and joinstl.py script. Then these files are joined together with a few lines of Python in a single file. Patches like inlet, outlet and walls are added to groups, then surface is meshed with Netgen 1D-2D algorithm and exported as separate STL files. STEP models are first processed in SALOME. This can be done in any 3D modelling app, including open-source stuff like FreeCAD. It is divided into three sections: suction, the pipe upstream of the impeller, the impeller itself and volute downstream of the impeller.


I decided to share this setup to make things easier to anyone struggling like me.ģD STEP models are the shape of the water inside the pump. Now the whole setup works and it’s time to introduce additional complications such as complicated meshes and more advanced boundary/initial conditions. In the end I had to divide it into smaller steps to eliminate factors that made the simulation explode, one of them was simplifying geometry – I modeled something as simple as a windshield washer pump with 4 straight blades but with an impeller diameter of 0.6m.
Save animation openfoam paraview software#
Connect the most sophisticated Bluetooth Low Energy module and study 3000 pages of documentation to compile the most complicated software that can be uploaded to an STM board. Write the simplest possible program that makes an LED blink. Here at Damogran Labs we do complicated things step by step, like this:
