ChannelWithFilter

Coupled simulation of droplets and air in a channel with filter

This example showcases some of the capabilities of the DROPLETPHASE solver in representing two-way coupled flow scenarios. The USER_common_variables file of this example has several aliases which allow an easy adjustment of the simulation setup. Most importantly, we can use
"CouplingSelection" = "TwoWay" # Choices: # "FluidOnly" = Switch off DROPLETPHASE and simulate only the LIQUID phase # "OFF" = Both phases present but no coupling # "OneWay" = One-Way coupling, only consider forces due to drag and pressure gradient acting on droplets # "TwoWay" = Two-Way coupling, consider forces on droplets and coupling term in LIQUID phase
to switch between four different scenarios described in detail in the input file and in the following.

Starting point - Only simulating the fluid flow

As a starting point, we consider the result of setting
"CouplingSelection" = "FluidOnly"
which leads to the simple flow of air through a channel which has a reduction of its cross-section half-way along the x-axis: Here should be a picture We observe that the channel has an additional wall at the center: Here should be a picture Throughout all simulation scenarios, this boundary element will not be visible to the LIQUID chamber. It will only play an important role for the DROPLETPHASE chamber.

Adding the DROPLETPHASE chamber

In the scenario enabled by setting
"CouplingSelection" = "OFF"
the LIQUID chamber remains untouched but we introduce a second chamber with the DROPLETPHASE solver. At the inlet of the channel, DROPLETPHASE points are added via the DropletSource command. These droplets have the same initial velocity as the air. For the DROPLETPHASE particles all boundary elements are considered collision boundaries and as hinted at before, this will also be true for the wall at the half-way point along the x-axis. This part of the boundary can be thought of as a filter that the fluid can flow through effectively undisturbed, but is too fine for the DROPLETPHASE particles to pass through. This filter analogy also prompted the synonymous use of "DUST" for the DROPLETPHASE in the input files. In this scenario, no forces other than gravity and collision forces act onto the DROPLETPHASE particles. Thus, the continuously active DropletSource will form a stream of particles which is bent downwards and hits the filter at its lower end: Here should be a picture Due to large adhesive forces the particles will stick and gather at the filter and bottom wall. Also, we observe that some particles experience lateral motion due to collisions within the particle stream and eventually stick to one of the side walls. By default, stability and accuracy of the DROPLETPHASE solver during collisions is ensured through the use of COEFF_dt_coll. But the user may also explore the alternative option of using DELT_dt_AddCond or completely switch off the collision model based time step restriction via
"CollisionTimestep" = "COEFF" # Choices: # "COEFF" = Timestep criterion from collision model via COEFF_dt_coll # "ADDCOND" = Timestep criterion from collision model via DELT_dt_AddCond # "OFF" = No timestep criterion from collision model, instead alter COEFF_dt_d30
If not done yet, the user is encouraged to first experiment with the CollidingDropletsInCone example to build an understanding of the collision model and timestep restrictions before proceeding with the coupled example.

One-way coupled simulation

As a first step towards the fully coupled setup, we consider the scenario enabled by
"CouplingSelection" = "OneWay"
In this case, coupling forces which are caused by the fluid phase and act on the DROPLETPHASE particles are considered. On the one hand, we account for forces due to pressure differences in the fluid by including a force \begin{align} \mathbf{f}_i^p = - \nabla p (\mathbf{x}_{d,i})V_{d,i} \end{align} where \( \nabla p (\mathbf{x}_{d,i})\) denotes the gradient of the LIQUID pressure field at the location \( \mathbf{x}_{d,i}\) of the DROPLETPHASE point \( i\) and \( V_{d,i}\) denotes the particle volume. The acceleration corresponding to this force is added via the gravity term of the DUST material. On the other hand, we clearly have to account for the drag force, which reads \begin{align} \mathbf{f}_i^d = - \alpha_i ( \mathbf{v}_l ( \mathbf{x}_{d,i} ) - \mathbf{v}_{d,i} ) \end{align} In general, \( \alpha_i\) can be highly nonlinear with respect to the relative velocity between the fluid and particles. In the input file we have already provided a few simple and well-known drag formulas which may be selected via
"DragSelection" = "Stokes" # Choices: "Stokes" / "Dallavalle" / "SchillerNaumann"
Furthermore, there are two different ways of applying the drag force to the DROPLETPHASE particles which are provided in the input files and can be selected via
"DragIntegrationSwitch" = "Darcy" # Choices: # "Explicit" = Drag included into gravity term # "Darcy" = Drag treated via analytical exponential solution of Darcy-type term
By default, the DarcyConstant command is used, which allows MESHFREE to treat the drag internally in such a way, that no additional time step criterion is necessary to obtain a stable simulation. On the other hand, if the acceleration corresponding to the drag force is simply added as an additional explicit term in the gravity command for the DUST material, it might be necessary to enforce an additional time step criterion. Otherwise the particle velocity may oscillate around the fluid velocity and eventually destabilize the whole simulation. Such a criterion is already supplied in the Ucv_DUST.dat file via
DELT_dt_AddCond($DUST$) = [ equn{$DUST_dt_drag$} ]
When running the simulation, we see that the pressure gradient and drag force now dominate the particle dynamics such that the stream of particles forms an almost straight line towards the filter, where they again gather and stack up due to the adhesive forces: Here should be a picture This time, we can not observe the same lateral motion of particles due the strong coupling forces. The "ClusteringDensity" used to color the particles in the image is a metric for how densely packed the particles are and is also computed in the input files. A value of 1 would correspond to the (for rigid particles physically impossible) case where there is only dust material in the averaging volume, while 0 would correspond to the case where there is no dust at all. As expected, the highest values in this metric are obtained at the filter where the particles gather and stack up.

Two-way coupled simulation

Finally, the fully coupled simulation can be run by setting
"CouplingSelection" = "TwoWay"
In comparison to the one-way coupled scenario, the drag force is now also projected back to the LIQUID phase in an action=reaction manner. This is done by storing the prefactor of the drag force \( \alpha_i\) in a user defined index (see UserDefinedIndices), i.e.
CODI_eq($DUST$,%indU_AlphaDrag%) = [ equn($AlphaDrag$) ]
which can then be projected to the LIQUID point cloud. There, the projected value is divided by the represented volume of the LIQUID point to obtain the desired force per unit volume. This quantity is used to define the DarcyConstant, while the projection of DROPLETPHASE velocity onto the LIQUID pointcloud defines the reference velocity specified via DarcyBasisVelocity. With these changes we observe that the fluid is now pushed away from the region of the filter where the dust particles gather. This is easily seen in the following image which shows the fluid velocity interpolated onto a x-z-aligned plane through the channel centerline: Here should be a picture