Rotating distributor: one-way coupling against transient fluid field

In this tutorial particles are inserted above a rotating distributor. Two one-way coupling commands are applied, one in the proximity of the rotating distributor and another one in the far field. The flow field close to the moving geometry is more refined, and as time passes different velocity fields (e.g., stemming from pure CFD calculations) are used. The velocity field in the far field is much coarser and does not change with time.

The image shows the case setup:

_images/case_setup1.png

Particles are inserted at an insertion face directly above the rotating distributor. The fluid field in the proximity of the rotating distributor is refined, the remaining flow field is much coarser. A cylinder forms the outer boundary of the device. The image below shows the state of the simulation at two time steps. please note that the refined fluid velocity field changes with time, whereas the coarse velocity field remains constant. The particles are scaled up by a factor of three for better visibility.

_images/summary.png

Name of the case: Project_One_Way_Coupling_Transient

Setting up the simulation

As a first step, the particle shape, the used material and the simulation domain are defined in the General Settings tab. Please note that in case of multiple dependent simulations, the dimensions of the simulation domain can only be defined in the first simulation. This means that the box forming 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_shape27.png

A single materials command with the name material1 is used:

_images/01_materials25.png

The simulation domain with x and y dimensions ranging from -0.401 to 0.401 and z dimensions ranging from -0.501 to 0.501 is created:

_images/01_simulation_domain27.png

Meshes and regions

We start with defining the rotational motion of the distributor by adding a mesh_module

_images/02_mesh_module_motion1.png

Two meshes that are used as geometries:

_images/02_mesh_cad11.png _images/02_mesh_cad21.png

We define two different regions. The two regions do not intersect and their union covers the simulation domain. They are used for applying two different one-way coupling commands: in the outer region a classical one-way coupling with a static fluid field will be applied while in the second region transient one-way coupling will come to application.

_images/02_region_coarse1.png _images/02_region_detail1.png

Physics models

The contact models are now defined. For the particles we use the normal contact model hooke, tangential model history and the rolling friction model cdt.

_images/03_particle_contact_model26.png

Since we added a mesh in the previous section, a wall contact model is also added automatically to this section. We use the normal model hooke and tangential model history:

_images/03_wall_contact_model24.png

In both cases the hooke model is used with the setting useCharacteristicVelocity on.

Finally, the gravity is enabled:

_images/03_enable_gravity19.png

Per default the gravity has a magnitude of 9.807 and acts into negative z-direction. These defaults can be changed by either setting the magnitude or the direction manually.

Particles

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

default

Density

400

Young’s modulus

1e7

Poisson’s ratio

0.45

Coefficient of restitution

0.5

Coefficient of friction

0.1

Coefficient of rolling friction

0.068

_images/04_material_properties20.png

The hooke normal model requires the definition of a characteristic velocity:

_images/04_global_property.png

A particle template of style sphere with a radius of 0.001 m is defined and used for a particle distribution:

_images/04_particle_template15.png _images/04_particle_distribution24.png

Particles with a velocity of 2 m/s in negative z-direction are inserted using an insertion command command with mode stream:

_images/04_particle_insertion7.png

Coupled Simulation

In this tab we define two one-way coupling commands. The first command is applied to the region “coarse” and uses a single fluid velocity field:

_images/05_one_way.png

It is always recommended to set the option interpolate_field_to_grid to yes. Otherwise a very strict definition of the velocity fields is required. The file for the velocity field is provided in vtk format.

In case you need help with generating velocity fields from CFD data, please contact DCS Computing. Different tools for data conversion are available.

The second command is applied to region “detail” and uses a much small bin size. A sequence of fluid velocity files is used to achieve a transient one-way coupling:

_images/05_one_way_transient.png

The sequence file contains a list of time steps and velocity field files and looks as following:

#SAMPLING-INFO: low (-0.2,-0.2,-0.1) high (0.2,0.2,0.1) binsize (0.01,0.01,0.01)
0 ./data/VTU/CFD_100.vts
0.001 ./data/VTU/CFD_10.vts
0.002 ./data/VTU/CFD_20.vts
0.003 ./data/VTU/CFD_30.vts
0.004 ./data/VTU/CFD_40.vts
0.005 ./data/VTU/CFD_50.vts
0.006 ./data/VTU/CFD_60.vts
0.007 ./data/VTU/CFD_70.vts
0.008 ./data/VTU/CFD_80.vts
0.009 ./data/VTU/CFD_90.vts
0.01 ./data/VTU/CFD_100.vts

The *.vts files are structured grid files that were generated from *.vtk files, using the command resample_to_regular_grid.

Simulation control

In this tab, we first define the time-step settings such as the desired simulation timestep of 5e-6 seconds and the total simulation time of 0.1 seconds. 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, as is done in this case, for rayleigh_fraction.

_images/06_timestep_settings26.png

In this case, a neighbor list skin size of 0.004 leads to optimal simulation results:

_images/06_neighbor_list1.png

The load balancing command is enabled for most efficient parallelization:

_images/06_enable_loadbalancing9.png

Output settings

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

_images/07_output_timestep_settings25.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 to 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_settings27.png

Running the simulation

After completing the setup and saving it, the simulation can be launched. Hence, 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”. Please note that per default the simulation is launched on 2 processors, which can of course be changed depending on your system. If you want to run it serially, please remove the check mark before “Use MPI”.

The image below shows the kinetic energy of particles during the simulation:

_images/99_run_ke.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 image below shows the particles at the last time step together with both fluid fields that are used by the one-way coupling. The fluid field files are opened manually in Paraview, the representation of the fluid fields is changed to Points. Increasing the point sizes leads to a better visibility.

_images/summary.png