38.3. Fluent Icing Discrete Phase Model

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.

38.3.1. Limitations

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

38.3.2. Using the Discrete Phase Model in Fluent Icing

To enable the DPM solver for Particles in Fluent Icing, perform the following steps:

  1. Enable Beta Features.

     File Preferences... IcingBeta Features

  2. Set up the Particles properties of your simulation.

     SetupParticles

    After enabling Beta Features, a Particles Solver drop-down list is activated in the Properties - Particles window. By default, the Continuous solver is selected, which corresponds to the usual feature described in Particles.

    • Under the General section, retain the following setting:

      • Discrete (Beta) for Particles Solver.

      • Edit for Injection Type.


    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.

    • Case Settings: Injections are explicitly defined by you in the Fluent case file following the instruction given in Setting Initial Conditions for the Discrete Phase. The injection’s name should not start by flicing-drop-, or it will be ignored by the solver as the name is reserved for the Edit option.

    • Edit: 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 Discrete (Beta) is activated, the Airflow solver is automatically set to Fluent and only the Droplets object remains in the Outline View under  SetupParticles

  3. Set up the Droplets properties of your simulation.

     SetupParticlesDroplets

    When Droplets is selected in the Outline View under  SetupParticles, 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 Edit 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 Edit to create injections. The available distributions are those described in Particles:

    • Monodispersed.

    • Langmuir B to E.

    • Custom.

    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:

    • Spherical: No additional changes are needed.

    • Nonspherical: Specify the Shape Factor.

    • Stokes – Cunningham: Specify the Cunningham Correction.

    • User-Defined: Click the Refresh 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 the DEFINE_DPM_DRAG macro (Discrete Phase Model (DPM) DEFINE Macros).

      In the Model section, the Turbulent Dispersion 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 Turbulent Dispersion model is activated, the Number of Tries must be specified.

  4. Set up the inlet Boundary Conditions of your simulation.

     SetupBoundary ConditionsInletspressure-far-field-4

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

  5. Select the wall boundary condition for the particles

     SetupBoundary ConditionsWallswall-10

    • Collection: The particles are collected locally when hitting the wall ending the particle trajectory. The particle fate is listed as Trap in the summary.

    • Rebound: 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. The Normal and Tangential rebound coefficients are defined as polynomes of the impact angle θ (in degree):

      Where 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: 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 (Mundo Model).

    • User-Defined: Click the Refresh 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 the DEFINE_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 returns PATH_ACTIVE for the crystals reinjected in the airflow while it stops all other particles returning PATH_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;
       }
      
  6. 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).

  7. Set up the discrete phase solver numerical settings.

     SolutionParticles

    • High Resolution Tracking: If enabled, accuracy of the tracking is improved by using the subtet approach, see High-Resolution Tracking under Tracking Settings for the Discrete Phase Model.

    • Use Length Scale:

      • If enabled, a user-defined Step Length Scale can be used for tracking.

      • If disabled, the step length scale is based on the local mesh size, and a Step Length Factor 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).

38.3.3. Post Processing of DPM and Icing Quantities in Fluent Icing

  • Displaying discrete variables for the last particle only.

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

38.3.4. Ice Shape Prediction on a Three Element Airfoil Using Discrete Phase Model

38.3.4.1. Introduction

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.

38.3.4.2. Prerequisites

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.

38.3.4.3. Problem Description

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.

38.3.4.4. Setup and Solution

The following sections describe the setup and solution steps for this tutorial:

38.3.4.4.1. Preparation

To prepare for running this tutorial:

  1. Download the fluent_icing_three_element_dpm_multishot.zip file here .

  2. Unzip fluent_icing_three_element_dpm_multishot.zip in your working directory.

  3. The files 3element_airfoil_1.cas.h5 and 3element_airfoil_1.dat.h5 can be found in the folder.

  4. Launch Fluent 2024 R2 on your computer.

  5. Within the Fluent Launcher, set the Capability Level to Enterprise, then select Icing.

  6. Set Solver Processes to 8 under Parallel Processing Options.

  7. Click Start.

  8. Alternatively, Fluent Icing can be opened using the icing (on Linux) or icing.bat (on Windows) file inside the fluent/bin/ folder.

  9. Uncheck Use Custom Solver Launch Settings, Show Solution Workspace on Launch, and Enable Solution Workspace Graphics.

     Project WorkspacesOptions

38.3.4.4.2. Setup
  1. Create a new project file.

     File New Project...

  2. Enter three_element_airfoil as the Project file name within the Select File dialog.

  3. Select and import the 3element_airfoil_1.cas.h5 input grid.

     Project SimulationNew Aero Workflow

    A New Simulation window will appear. Enter the Name of the New Simulation as 3element_airfoil_1, and check to enable Load in Solver and Import Airflow Solution (.dat). Click OK.

    A dialog will open asking you to set the operating pressure to 0 Pa. Press No to keep pressure settings.

    Figure 38.20: Fluent Icing Workspace

    Fluent Icing Workspace

  4. After the .cas.h5 file has been successfully loaded, a new Outline View tree appears under 3element_airfoil_1 (loaded).

  5. The mesh is now displayed in the Graphics window to the right.

    Figure 38.21: 3element Airfoil Mesh Display

    3element Airfoil Mesh Display


  6. Enable Beta Features to expose features that are not yet fully supported.

     File Preferences... Icing Beta Features

  7. Define the Simulation Type.

     Setup

    Enable Airflow, Particles and Ice Simulation Type within the Properties - Setup panel.

  8. Set the Airflow properties for the simulation.

     SetupAirflow

    • In the General section:

      • Retain the default selection of Fluent for Airflow Solver.

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

      • Angle of attack for Vector Mode.

      • Y+ for Lift Direction.

      • X+ for Drag Direction.

      • 0 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].

  9. Set the Particles properties of the simulation.

     SetupParticles

  10. In the General section, retain the following settings:

    • Discrete (Beta) for Particles Solver.

    • Edit for Injection Type.

  11. Set the Droplets properties of the simulation.

     SetupParticlesDroplets

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

      • Langmuir D for Particles Distribution and press View to display the distribution.

    • In the Model section, retain the following setting:

      • Spherical for Droplet Drag Model.

      • Disable Turbulent Dispersion.

  12. Set the Ice properties of the simulation.

     SetupIce

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

      • Glaze for Icing Model.

      • Disable Beading.

      • Disabled for Ice Shedding.

    • In the Ice Properties section, retain the following settings:

      • Constant for Ice Density Type.

      • 917 for Constant Ice Density [kg/m3].

  13. Set the Boundary Conditions of the simulation.

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

      • Case settings for Conditions.

     SetupBoundary ConditionsWallswall-5

    For each wall boundary condition, press on Temp.Adiabatic+10.

    • In the Particles section, retain the following setting:

      • Collection for Condition.

    • In the Ice section, retain the following setting:

      • Enabled for Icing.

      • Disable Specify Heat Flux.

    • In the Airflow section, retain the following settings:

      • Temperature for Thermal Conditions.

      • Press on Temp. adiabatic+10 to ensure a temperature value (adiabatic temperature + 10 degree) is imposed on the wall.

      • Case settings for Wall Roughness.

      • Disable Rotating Wall.


      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()

  14. Set the Solution properties of the simulation.

     SolutionAirflow

    • In the Time Integration section, retain the following settings:

      • 300 for Number of Iterations.

      • CFL for Method.

      • 200 for Courant Number.

    • In the Initialization section, retain the following settings:

      • FMG for Method.

      • 0.75 for FMG Courant Number.

    • In the Post-processing Output section, retain the following setting:

      • Disabled for Write Post-processing Files.

     SolutionParticles

    • In the Run Settings section, retain the following settings:

      • Enable High Resolution Tracking.

      • Disable Use Length Scale.

      • 5 for Step Length Factor.

      • 50000 for Maximum Number of Tracking Steps.

     SolutionIce

    • In the Time section, retain the following settings:

      • 420 for Total Time of Ice Accretion [s].

      • Enable Automatic Time Step.

      • Click Set-Up Remeshing to display the remeshing settings.

    • In the Mesh section, retain the following settings:

      • Fluent Meshing for Remeshing.

      • Disable 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.

      • 2.5D for Dimension.

      • 1.829 for Extrusion - Z Thickness.

  15. Launch the simulation.

     Solution

    • In the Multi-shot section, retain the following settings:

      • 5 for Number of Shots.

      • Enable Save Files at Each Shot.

      • Reinitialize for Airflow Restart.

      • Uniform for Settings.

    • In the Global Settings section, retain the following settings:

      • Minimal for Log Verbosity.

      • Default for Plotting.

  16. Launch the simulation by pressing Run Multi-Shot.

    A New run window will appear. Set the Name of the new run to multishot_discrete and press OK.


    Note:  Alternatively, you can launch the multi-shot calculation using  Solution Run Multi-Shot


38.3.4.4.3. Post-processing
  1. Post-process your icing solution.

     Project Project View

  2. 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).

  3. 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 View Case With...Viewmerical.

  4. Repeat this procedure for shot.02, shot.03, shot.04, shot.05 and shot.06. Always choose Append in the Information dialog boxes to keep the current Viewmerical session open.

  5. Within the Viewmerical Objects panel, keep only wall conditions selected. Click the Z-axis in the graphical user interface and Fit to view to obtain the following figure, showing the growth of the ice shape during the multi-shot simulation.

  6. Close Viewmerical.

  7. Right-click Droplets under shot.05 in the Project View, and select View Results With… -> Viewmerical.

    In the Objects panel, create a Z-coordinate Cutting Plane.

    In the Data panel, select DataDroplet LWC (kg/m3), choose Spectrum-2 – 64 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).

  8. In the Data panel, select DataBeta, 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: Enabled.

    • Target: Walls – Visible.

    • Cutting plane: Z.

38.3.4.5. Summary

This tutorial demonstrated how to use the Discrete Phase Model, as an alternative to DROP3D, to solve the droplets flow for icing simulations.