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:

We observe that the channel has an additional wall at the center:

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.
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:

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
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:

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: