One way CFD-DEM coupling: using a drag force field

In this tutorial an included fluid velocity field is used to exert a drag force onto particles.

_images/detail.png

Discussed features are the usage of externally calculated velocity fields as well as their output.

Name of the case: Project_Dragforce_Field

Setting up the simulation

First the used materials command as well as the simulation domain are defined in the General Settings tab. Please note that the dimensions of the simulation domain can only be defined in the first simulation. This means that the box that forms the simulation domain has to be chosen big enough from the beginning.

General settings

In this simulation we set particles of particle shape sphere:

_images/01_particle_shape13.png

A single materials command with the name default is used:

_images/01_materials13.png

The simulation domain is defined with x dimension ranging from -3 to 3 meters, y dimension ranging from -1 to 5 meters and z domain ranging from -3 to 3 meters.

_images/01_simulation_domain14.png

Meshes and regions

For the particle insertion we will use a mesh command, which is loaded with the options solid no and is_planar yes:

_images/02_mesh6.png

In the next step, a region command called drag is generated:

_images/02_region1.png

Later on, a drag force will be applied to this region.

Physics models

In this step we define the contact models. For the particles we use the normal contact model hertz and the tangential model history.

_images/03_particle_contact_model14.png

Since we added a mesh in the previous section, a wall contact model is added automatically in this section. As the mesh is not used as wall, the selection of the contact models plays no role here.

_images/03_wall_contact_model13.png

In this simulation we do not consider the effect of the gravity force. Therefore, we need to remove the automatically added gravity term from the body forces section:

_images/03_no_gravity.png

Particles

In the general settings tab we only defined a single material type (default), whose settings have to be specified here:

default

Density

1000

Young’s modulus

5e6

Poisson’s ratio

0.45

Coefficient of restitution

1

Coefficient of friction

0.5

_images/04_material_properties11.png

A particle template with spheres of radius 0.05 m and of the defined material is generated:

_images/04_particle_template7.png

The template is used to create a particle distribution as follows:

_images/04_particle_distribution13.png

The final step in the tab is the definition of the insertion. An insertion command command with mode stream is used to insert 200 particles at a rate of 200 particles/second. The initial velocity of the particles is given with (0,0,-3) m/s, the orientation is set to random. The previously loaded mesh is used as insertion face with an extrude length of 4. Furthermore, the overlap check is set to yes (this is the default value), all_in is set to no.

_images/04_insertion8.png

Coupled simulation

In the next step the definition of the drag force field takes place. The command enable_one_way_coupling command is used with a Schiller Naumann model. The fluid viscosity is set to 0.002 m^2/s and the density to 10 kg/m^3. The binsize is set to 0.5 meters and the interpolate option is set to yes:

_images/05_cfd.png

Simulation control

In this tab one first choses the time step settings such as the desired simulation timestep of 2e-5 seconds and the total simulation time of 1.0 second. Per default also the check_timestep command command is enabled, which throws a warning when the time step exceeds 10 % of the Rayleigh or the Hertz time. These thresholds can be changed by setting an alternative value for hertz_fraction or rayleigh_fraction.

_images/06_timestep_setting.png

Output settings

In this tab we first define the timestep width for the file and the terminal output:

_images/07_output_timestep_settings13.png

The output_settings command command the takes care that all particle information and the meshes are written to files accordingly. Furthermore it triggers the output of global quantities such as the kinetic energy of the particles or total normal and shear stresses onto meshes in the terminal. Please note that if the output of per-cell information on meshes such as wear, velocity of stress are desired, one has to add the keyword mesh_properties and select the required output.

_images/07_output_settings16.png

Running the simulation

After completing the setup and saving it, the simulation can be launched. Therefore change to the Simulation view. First hit the “Check settings” button, and if the check returns “Check settings successfully completed” the simulation can be run by hitting “Start”:

_images/09_simulation3.png

Postprocessing with Paraview

After the simulation is completed, all data written with the output_settings command can be visualized automatically by going to the Visualization view and hitting the “Start Paraview” button.

The Eulerian field that is generated by the enable_one_way_coupling command is also loaded. For a better visualization one could for example apply an opacity to it:

_images/09_postproc_01.png

For displaying the velocity field as a field of vectors, one can use a glyph filter. By setting both the orientation and the scaling vector to U, one gets the velocity vector field with vectors scaled according to the velocity magitude. Please use an appropriate scaling factor (here 0.05) for a good representation:

_images/09_postproc_02.png