User manual for CFD-DEM simulation
Examples & tutorials
Some preliminary examples are located under directory examples/, which can be run with, e.g., (in the example directory)
./Allrun
Note if the pynetdem package cannot be imported into python, one might need to exiplictly add the path (e.g., sys.path.append("/Users/lzhshou/Documents/Research/myProjects/apaam/repo/netdem/build/lib/")) of the netdem python library in createDEM.py.
Run water entry example
-
Copy the example folder to a local directory
cd cfddem cp -rf examples/interIBdem/water_entry local/interIBdem/ -
Run the example
- Please note that
system/fvSolution->couplingspecifies the DEM file and function that will be invoked for the coupling.cd local/interIBdem/water_entry ./Allclean ./Allrun-parallel
- Please note that
-
In case the run fails, please check the lib path has been correctly set in
createDEM.py, where the path is the directory of netdem libs.
Paraview Rendering
-
Render CFD results
- Open
interIBdem.foamto paraview - Change the properties
Type CasetoDecomposed Caseand uncheckSkip Zero Time(optional) - Play with the result fields
- Optinal: for viaulizeing interal filed results, one can use the
CliporSlicefilter - Optinal: to construct the interface of the water and air, one can add
Contourfilter tointerIBdem.foam, setContour bytoalpha.waterand change the contour value to0.5
- Open
-
Render DEM results
- Open dem/particle_mesh_xxx.vtk.serries to paraview
- Optional: select all particle_mesh_xxx.vtk.serries and add a
Group Datesetsfilter - Optional: add a
Caculatorfilter after theGroup Datesetsfilter, setResult Array NametoU, and input formulationvel. This will add aUfield to the particles, wihch can be linked with the CFD fieldU - Optional: for probing the evolution of a property value with time, one can add a
Plot Data Over Timefilter to theGroup Datesets, and change theField AssociatestoCells. Then, one can play with the property to show in the newly openedLine Chart View
Modify the water entry parameters
- Fuild properties such as viscosity and density is specified in file
constant/transportProperties.- Please note that fuilds being used are speficied in
phases.
- Please note that fuilds being used are speficied in
- Geometries are determined by the
system/blockMeshDict. Please note that whenscaleexist, the coordinates of the vertices with be multiplied by the scale when creating the real mesh.- Mesh size are govened by the three values before
simpleGradingin theblocks->hexentry. It is suggested to use cubic elements.
- Mesh size are govened by the three values before
- The inital volume fraction of the fuilds are specifed in
system/setFiledsDict.- Please not that the
scaleparameter insystem/blockMeshDictwill not work here, thus the vertices here are their exact values. - Entry
box (-0.05 -0.05 -0.15) (0.05 0.05 0.03)specifies the lower-left-front and upper-right-back coordicates of the box - Please note that the field entry
alpha.glycerolshould be consistent with that specified inconstant/transportProperties->phases
- Please not that the
- File
system/controlDictspecifies the simulation time, timestep and writing interval, etc. - In
createDEM.py->oneSphere()funciton, one can modify the DEM domain geometries and particle properties.- Please note that in the present funciton, the parameter
scalevaries the size of the DEM domain, wall box and particle intertion region, whereas thep_sizeis the exact value of particle diameter.
- Please note that in the present funciton, the parameter