The following sections of this chapter are:
The Fluent Discrete Phase Model (DPM) can be used to simulate droplets flow in the Fluent Icing workspace as an alternative to the default Particles solver based on a FENSAP legacy solver (DROP3D). The Discrete Phase Model is based on the Lagrangian tracking of particle streams whereas the default solver is based on an Eulerian formulation. Fluent Icing uses the steady DPM solver which tracks the permanent particle flow rate on the particle trajectories. More information regarding the details of the steady DPM solver can be found in (Discrete Phase). This chapter describes how to enable Discrete Phase Model and how to setup the injection properties and the physical models.
Only droplets can be resolved. Ice crystal icing and vapor are not supported in the current version.
Only planar inlet surfaces must be used to inject discrete particles.
The interaction between the continuous phase and the Lagrangian phase is one-way.
To enable the DPM solver for Particles in Fluent Icing, perform the following steps:
Enable
.File → Preferences... → Icing → Beta Features
Set up the Particles properties of your simulation.
Setup →
After enabling Particles Solver drop-down list is activated in the Properties - Particles window. By default, the solver is selected, which corresponds to the usual feature described in Particles.
, aUnder the General section, retain the following setting:
Particles Solver.
forInjection Type.
for
Note: When using the discrete phase model, particles are released from a given set of point locations and their trajectories are tracked until they reach a final fate (trapped, escaped). Therefore, you need to provide injection properties including initial conditions, as well as boundary interaction properties.
Setting Initial Conditions for the Discrete Phase. The injection’s name should not start by
: Injections are explicitly defined by you in the Fluent case file following the instruction given inflicing-drop-
, or it will be ignored by the solver as the name is reserved for the option.: Injections are automatically created from the Fluent Icing interface at inlet boundary conditions (pressure inlet, velocity inlet, mass flow inlet or pressure far field).
When Airflow solver is automatically set to and only the Droplets object remains in the Outline View under Setup →
is activated, theSet up the Droplets properties of your simulation.
Setup → →
When Droplets is selected in the Outline View under Setup → , the Properties – Droplets window appears. In this window, you can specify the ambient/reference conditions of the water droplets, the type and size distribution, and some physical models.
In the Droplet Conditions section, the parameters describing the droplets are:
LWC [kg/m3]: Reference liquid water content (LWC) which can be used either for collection efficiency normalization or for injection properties.
Droplet Diameter [microns]: Median volume diameter (MVD) of a spherical particle for a given distribution which is used only when is used to create injections.
Water Density [kg/m3]: Density of water droplets.
In the Particle Distribution section, the distribution type can be selected when using to create injections. The available distributions are those described in Particles:
.
to .
.
Appendix Conditions are not available with the discrete particles solver.
For particle distributions, the Fluent DPM model will solve the particle tracks for every given diameter, then the final Eulerian solution is obtained by averaging the single diameter solutions using the weights of the size distribution.
In the Model section, the appropriate Droplet Drag Model can be selected:
: No additional changes are needed.
: Specify the .
Cunningham Correction.
: Specify the
: Click the button to update the list of available user-defined functions loaded in the Fluent case file. The user-defined functions listed should be generated using theDEFINE_DPM_DRAG
macro (Discrete Phase Model (DPM)DEFINE
Macros).In the Model section, the model for DPM can be enabled. Only the discrete random walk model is available in Fluent Icing. This model is described in The Integral Time. When the model is activated, the Number of Tries must be specified.
Set up the inlet Boundary Conditions of your simulation.
Setup → Boundary Conditions → → →
The discrete phase model requires initial droplet properties definition at their injection points location. Fluent Icing will use Inert Particles type (consult Particle Types) as only momentum and heat will interact with the carrier phase. For Inert Particles type, the properties include the stream flow rate, velocity components and temperature. In Fluent Icing, with the injection mode enabled, Particles can be released from inlet boundary conditions surfaces. To this end, surface injections are automatically created for every chosen inlet conditions and the Randomize Starting Point option which is automatically selected leads to a uniform distribution of the injection points on this surface.
From Ref. Conditions: If enabled using the discrete particles solver, only the reference LWC and temperature are used.
Droplet LWC [kg/m3]: If From Ref. Conditions is unchecked, set the water droplet concentration.
Droplet Temperature [K]: Specify the temperature of the cloud of water droplets at the inlet.
Use for Injection: Enables the creation of a new injection based on the boundary condition surface.
Droplet X,Y,Z Velocity [m/s]: Sets the velocity components of the water droplet cloud.
Number of Streams: Numerical parameters, defines the number of points located at the surface releasing a particle stream.
Select the wall boundary condition for the particles
Setup → Boundary Conditions → → →
Trap in the summary.
: The particles are collected locally when hitting the wall ending the particle trajectory. The particle fate is listed asNormal and Tangential rebound coefficients are defined as polynomes of the impact angle θ (in degree):
: The particles are reflected when hitting the wall. The rebound velocity vector is in the same plane as the incident velocity vector and the wall normal vector. The components are computed using normal and tangential rebound coefficients. TheWhere is the polynomial coefficient in direction to be defined.
Number of Normal Polynomial Coefficients: Sets the number of polynomial coefficients (1 to 8) for the normal rebound coefficient. The Normal Polynomial Coefficients field will be automatically updated.
Normal Polynomial Coefficients: Sets the value of the polynomial coefficients for the normal component of the velocity. The coefficient must be positive.
Number of Tangential Polynomial Coefficients: Sets the number of polynomial coefficients (1 to 8) for the tangential rebound coefficient. The Tangential Polynomial Coefficients field will be automatically updated.
Tangential Polynomial Coefficients: Sets the value of the polynomial coefficients for the tangential component of the velocity.
- : Mundo formulation is used to evaluate the local collection of particles. When a particle stream impacts the wall, it will either splash or be reflected depending on the impact and particle properties. When the particle stream splashes, part of the mass is collected at the wall and the remaining mass is reinjected using rebound coefficients and a diameter computed by the Mundo model (
: Click the button to update the list of available user-defined functions loaded in the Fluent case file. The user-defined functions listed should be generated using theDEFINE_DPM_BC
macro (Discrete Phase Model (DPM) DEFINE Macros). The function should update the particle stream properties including velocity components, droplet diameter and flow rate. The change in flow rate after impingement will be automatically collected locally at the wall. Some variables might need an update of the value entering the cell and of the initial value. Table 38.3: List of Variables to Update in DEFINE_DPM_BC Macro provides the list of variables to update in the UDF.Table 38.3: List of Variables to Update in DEFINE_DPM_BC Macro
Velocity ith component [m/s] TP_VEL(tp)[i] and TP_VEL0(tp)[i] Droplet mass [kg] TP_MASS(tp), TP_MASS0(tp) and TP_MASS_INIT(tp) Droplet diameter [m] TP_DIAM(tp), TP_DIAM0(tp) Stream flow rate [kg/s] TP_FLOW_RATE(tp) Example:
This example shows the usage of
DEFINE_DPM_BC
for the fragmentation of crystals when they hit the walls. The function assumes that the mass of a single particle after the collision is 30% of the impinging particle mass (fragmentation_coeff = 0.3) and the flow rate is equal to 50% (sticking_coeff = 0.5) of the incoming flow rate (which means that 50% of the incoming flow rate is collected at the wall). For the crystals reinjected in the airflow, the function assumes an ideal reflection for the normal component of the velocity (nor_coeff = 1.) while the tangential component is damped (tan_coeff = 0.3). The function returnsPATH_ACTIVE
for the crystals reinjected in the airflow while it stops all other particles returningPATH_ABORT
.#include "udf.h" #define PART_MIN_DIAMETER 1.e-6 DEFINE_DPM_BC(bc_sticking_fragmentation,tp,t,f,f_normal,dim) { real vn=0.; real nor_coeff = 1.; real tan_coeff = 0.3; real fragmentation_coeff = 0.3; /* particle diameter ratio after and before wall impingement*/ real sticking_coeff = 0.5; /* mass fraction accumulated at the wall */ int i; /* DPM Types used in Fluent Icing - 3D only */ if(TP_TYPE(tp) == DPM_TYPE_INERT || TP_TYPE(tp) == DPM_TYPE_DROPLET) { /* calculate the normal component, rescale its magnitude by the coefficient of restitution and subtract the change */ /* Compute normal velocity. */ for(i=0; i<dim; i++) vn += TP_VEL(tp)[i]*f_normal[i]; /* Subtract off normal velocity. */ for(i=0; i<dim; i++) TP_VEL(tp)[i] -= vn*f_normal[i]; /* Apply tangential coefficient of restitution. */ for(i=0; i<dim; i++) TP_VEL(tp)[i] *= tan_coeff; /* Add reflected normal velocity. */ for(i=0; i<dim; i++) TP_VEL(tp)[i] -= nor_coeff*vn*f_normal[i]; /* update individual particle mass TP_MASS update TP_INIT_MASS too to evaluate the number of particles */ TP_MASS(tp)*=fragmentation_coeff; TP_INIT_MASS(tp)=TP_MASS(tp); /* compute new individual particle diameter */ TP_DIAM(tp)=pow(6.*TP_MASS(tp)/TP_RHO(tp)/M_PI,1./3.); /* update stream flow rate */ TP_FLOW_RATE(tp)*= (1. - sticking_coeff); /* Update particle state variables at cell entry */ for(i=0; i<dim; i++) TP_VEL0(tp)[i] = TP_VEL(tp)[i]; TP_MASS0(tp)=TP_MASS(tp); TP_DIAM0(tp)=TP_DIAM(tp); if (TP_DIAM(tp)>PART_MIN_DIAMETER) return PATH_ACTIVE; else return PATH_ABORT; } return PATH_ABORT; }
There is nothing more to set up for the other boundary conditions.
At outlet boundary conditions, particles will escape the domain.
At symmetry conditions, particles will be reflected.
For periodic boundaries, particles are re-injected at the associated face when leaving the domain using the transformation matrix of the periodic boundaries (position, velocity).
Set up the discrete phase solver numerical settings.
Solution → Particles
High-Resolution Tracking under Tracking Settings for the Discrete Phase Model.
: If enabled, accuracy of the tracking is improved by using the subtet approach, see:
If enabled, a user-defined
can be used for tracking.If disabled, the step length scale is based on the local mesh size, and a
can be applied to subdivide the maximum tracking time step.
Maximum Number of Tracking Steps: For each stream, the Lagrangian particle tracking ends up by reaching its final fate (escaped, trapped) or if this number of tracking time step is reached (incomplete fate).
Displaying discrete variables for the last particle only.
Results → Contours New...
Click within the Field box.
Discrete phase variables are available for display for the last particle tracking only, by selecting Discrete Phase Variables… under the Field dialog.
Icing quantities in Icing… under the Field dialog are derived from Discrete Phase Variables… quantities. Distribution will contain the combined solution of Droplet – LWC, Velocity components and Collection efficiency.
The Droplet – Collection efficiency β is obtained by normalizing the DPM Accretion Rate :
With:
the reference liquid water content LWC [kg/m3] specified in the Properties – Droplets panel.
the reference Speed [m/s] specified in the Properties – Airflow panel.
This tutorial is divided into the following sections:
In the following tutorial, you will learn how to use the Discrete Phase Model, as an alternative to DROP3D, to solve the droplets flow for icing simulations. The example is based on the geometry shown below, which is an airfoil composed of three elements.
This tutorial is written with the assumption that you have reviewed the material above and have familiarized yourself with the details of the steady DPM solver in (Discrete Phase). Some steps in the setup and solution procedure will not be shown explicitly.
This is an ice accretion simulation on a multi-element airfoil with the slat and the flap deployed. The mesh type is 2.5D, meaning that a surface mesh generated on the periodic source face of the domain is extruded with a single cell in the direction of the extrusion. It allows you to select the 2.5D remeshing technique. The airfoil is placed inside a wind-tunnel test section enclosure instead of a far field boundary. The angle of attack is 4 degrees, which is built in to the computational model since the airfoil is situated inside the test section.
The following sections describe the setup and solution steps for this tutorial:
To prepare for running this tutorial:
Download the fluent_icing_three_element_dpm_multishot.zip file here .
Unzip fluent_icing_three_element_dpm_multishot.zip in your working directory.
The files 3element_airfoil_1.cas.h5 and 3element_airfoil_1.dat.h5 can be found in the folder.
Launch Fluent 2024 R2 on your computer.
Within the Fluent Launcher, set the Capability Level to Enterprise, then select Icing.
Set Solver Processes to
8
under Parallel Processing Options.Click Start.
Alternatively, Fluent Icing can be opened using the icing (on Linux) or icing.bat (on Windows) file inside the fluent/bin/ folder.
Uncheck
, , and .Project → Workspaces → Options
Create a new project file.
File → New Project...
Enter
three_element_airfoil
as the Project file name within the Select File dialog.Select and import the 3element_airfoil_1.cas.h5 input grid.
Project → Simulation → New Aero Workflow
A New Simulation window will appear. Enter the Name of the New Simulation as
3element_airfoil_1
, and check to enable and . Click .A dialog will open asking you to set the operating pressure to 0 Pa. Press to keep pressure settings.
After the .cas.h5 file has been successfully loaded, a new Outline View tree appears under 3element_airfoil_1 (loaded).
The mesh is now displayed in the Graphics window to the right.
Enable
to expose features that are not yet fully supported.File → Preferences... → Icing →
Define the Simulation Type.
Setup
Enable Simulation Type within the Properties - Setup panel.
, andSet the Airflow properties for the simulation.
Setup → Airflow
In the General section:
Retain the default selection of Airflow Solver.
for
In the Reference Conditions section, retain the following settings:
1
for Characteristic Length [m].100
for Speed [m/s].266
for Temperature [K].101325
for Pressure [Pa].
In the Direction section, set the following settings:
Vector Mode.
forLift Direction.
forDrag Direction.
for0
for AoA [deg.]. The airfoil is already at a 4-degree angle of attack with respect to the X-coordinate and tunnel walls. The flow into the test section is specified without an angle of attack.0
for Yaw [deg.].99.9599
for Vector Magnitude [m/s].
Set the Particles properties of the simulation.
Setup → Particles
In the General section, retain the following settings:
Particles Solver.
forInjection Type.
for
Set the Droplets properties of the simulation.
Setup → Particles → Droplets
In the Droplet Conditions section, retain the following settings:
0.001
for LWC [kg/m3].92.7
for Droplet Diameter [microns].1000
for Water Density [kg/m3].
In the Particles Distribution section, retain the following setting:
Particles Distribution and press to display the distribution.
for
In the Model section, retain the following setting:
Droplet Drag Model.
forDisable
.
Set the Ice properties of the simulation.
Setup → Ice
In the Ice Accretion Conditions section, retain the following settings:
0.9
for Recovery Factor.Disable Specifying Icing Air Temperature.
100
for Relative Humidity.
In the Model section, retain the following settings:
Icing Model.
forDisable Beading.
Ice Shedding.
for
In the Ice Properties section, retain the following settings:
Ice Density Type.
for917
for Constant Ice Density [kg/m3].
Set the Boundary Conditions of the simulation.
Setup → Boundary Conditions → Inlets → pressure-far-field-4
In the Particles section, retain the following settings:
Enable From Ref. Conditions.
Enable Use for Injection.
100
for Droplet X Velocity [m/s].0
for Droplet Y Velocity [m/s].0
for Droplet Z Velocity [m/s].1000000
for Number of Streams.
In the Airflow section, retain the following settings:
Conditions.
for
Setup → Boundary Conditions → Walls → wall-5
For each wall boundary condition, press on .
In the Particles section, retain the following setting:
Condition.
for
In the Ice section, retain the following setting:
Icing.
forDisable
.
In the Airflow section, retain the following settings:
Thermal Conditions.
forPress on
to ensure a temperature value (adiabatic temperature + 10 degree) is imposed on the wall.Wall Roughness.
forDisable
.
Note: Alternatively, the following Python command can be executed in the Console to update every wall thermal boundary condition:
for condName in csim().BC.getState(): if csim().BC[condName].BCType.getState() == 'wall': csim().BC[condName].CopyWallAdiabaticP10()
Set the Solution properties of the simulation.
Solution → Airflow
In the Time Integration section, retain the following settings:
300
for Number of Iterations.Method.
for200
for Courant Number.
In the Initialization section, retain the following settings:
Method.
for0.75
for FMG Courant Number.
In the Post-processing Output section, retain the following setting:
Write Post-processing Files.
for
Solution → Particles
In the Run Settings section, retain the following settings:
Enable
.Disable
.5
for Step Length Factor.50000
for Maximum Number of Tracking Steps.
Solution → Ice
In the Time section, retain the following settings:
420
for Total Time of Ice Accretion [s].Enable Automatic Time Step.
Click
to display the remeshing settings.
In the Mesh section, retain the following settings:
Remeshing.
forDisable Hybrid Remeshing (Beta).
In the Remeshing section, retain the following settings:
[0.001, 0.1]
for Global Sizing - Min/Max.1.1
for Global Sizing - Growth Rate.0.001
for Proximity Sizing - Min.[0.001, 0.02]
for Curvature Sizing - Min/Max.1.2
for Curvature Sizing - Growth Rate.21
for Prism - Number of Layers.1000
for Prism - First Cell Height.[3, -0.5, 0.9]
for Material Point.Dimension.
for1.829
for Extrusion - Z Thickness.
Launch the simulation.
Solution
In the Multi-shot section, retain the following settings:
5
for Number of Shots.Enable
.Airflow Restart.
forSettings.
for
In the Global Settings section, retain the following settings:
Log Verbosity.
forPlotting.
for
Launch the simulation by pressing
.A New run window will appear. Set the Name of the new run to
multishot_discrete
and press .Note: Alternatively, you can launch the multi-shot calculation using Solution Run Multi-Shot
Post-process your icing solution.
Project → Project View
Under the 3element_airfoil_1 (loaded) simulation, a new run named multishot_discrete now appears. Expand the run by clicking the + icon to the left of multishot_discrete to show the files associated with the run. Each shot is represented by a folder and includes a two digit number to specify the shot number. Each folder contains a mesh file (Case), and 3 solution files (Airflow, Droplets and Ice).
Once all calculations are complete, you can view the growth of the ice shape by right-clicking Case located under shot.01 within the Project View. Select → .
Repeat this procedure for shot.02, shot.03, shot.04, shot.05 and shot.06. Always choose in the Information dialog boxes to keep the current Viewmerical session open.
Within the Viewmerical Objects panel, keep only wall conditions selected. Click the Z-axis in the graphical user interface and to obtain the following figure, showing the growth of the ice shape during the multi-shot simulation.
Close Viewmerical.
Right-click Droplets under shot.05 in the Project View, and select -> .
In the Objects panel, create a -coordinate Cutting Plane.
In the Data panel, select Data → , choose for the color range and change the upper bound to
0.0015
.In the Objects panel, keep only wall boundaries selected (BC_2005 to BC_2015).
In the Data panel, select Data → , choose Spectrum-2 – 64 for the color range.
In the Objects panel, select only BC_2009 and BC_2014 to keep the walls of the slat element only.
To display the droplet collection efficiency profile on the first element, in the Query panel, choose:
2D Plot: .
Target: .
Cutting plane: .