LaEuScalarCapture

Syntax

Defined in couplingProperties dictionary.

forceModels
(
    LaEuScalarCapture
);
LaEuScalarCaptureProps
{
    speciesNameDEM          word;
    rhoLiquid               scalar;
    dLiquid                 scalar;     /optional/
    denseRegimeVoidfraction scalar;     /optional/
    maxCoatingLayers        scalar;     /optional/
    a                       scalar;     /optional/
    triggerFieldNameDEM     word;       /optional/
    triggerMinMax           (scalar scalar);    /optional/
    velFieldName            word;       /optional/
    fieldExplName           word;       /optional/
    fieldImplName           word;       /optional/
    fieldName               word;       /optional/
    speciesFieldName        wordList;   /optional/
    active                  switch;     /optional/
    scalarFieldNameCFD      word;       /legacy/
    scalarFieldNameDEM      word;       /legacy/
    partScalarFluxName      word;       /legacy/
    speciesFluxDEMIsMassBased Switch;   /legacy/
};
  • speciesNameDEM = name of the scalar species in DEM, when using composition_properties in DEM. Please also make sure to use the same species name in CFD’s scalar transport equation.

  • rhoLiquid = density of captured species

  • dLiquid = (optional, default: 0.001) tracer diameter used to calculate collision probability

  • denseRegimeVoidfraction = (optional, default: 0.55) scalar value defining the threshold between dense and diluted collision regimes. If voidfraction < denseRegimeVoidfraction, the model is operating in dense regime, where the amount of tracer that can be captured is limited only by maxCoatingLayers. If voidfraction > denseRegimeVoidfraction, the model is operating in dilute regime, where the amount of captured tracer is calculated by collision probability and probability due to surface coverage.

  • maxCoatingLayers = (optional, default: INF) maximum number of layers that can be captured by each particle, where the layer has a thikness equal to dLiquid. This scalar defines the maximum layer’s height that can be deposited on a particle, i.e. h_{max} = d_{l} n_{max}, where d_{l} is the tracer diameter (see dLiquid) and n_{max} is defined by maxCoatingLayers. The tracer capture is limited to the maximum layer volume in the dense collision regime. For the dilute collision regime, the capture probability P_{c} is calculated as P_{c} = (1 - S_c), where S_c is the surface coverage. The surface coverage is defined as S_c = V_{l}/V_{l,max}, where V_{l} is the volume of the layer and V_{l,max} is the maximum volume of the layer. V_{l} and V_{l,max} are calculated assuming spherical shell of tracer coating the particles.

  • a = (optional, default: 0.5) model parameter for Stokes collision correction, see equations in Description.

  • triggerFieldNameDEM = (optional, needed if triggerMinMax is set) name of the DEM per-particle variable triggering the tracer transfer between the particle and the tracer concentration field. This keyword is read only if triggerMinMax is set by the user.

  • triggerMinMax = (optional, default: (-INF, INF)) tuple defining the minimum and maximum values of the DEM variable named triggerFieldNameDEM in order to trigger the tracer transfer between particles and tracer concentration field. The exchange takes place only when the triggerFieldDEM > min(TriggerMinMax) and triggerFieldDEM < max(TriggerMinMax).

  • velFieldName = (optional, default: U) name of vector field responsible for the advection of the tracer

  • fieldExplName = (optional, default: scalarFieldNameCFD + “Source”) name of explicit source term field

  • fieldImplName = (optional, default: scalarFieldNameCFD + “SourceKImpl”) name of implicit source term field

  • fieldName = (optional, default: mLiquidTransfer ) species to pick-up spray mass to be transferred to DEM.

  • speciesFieldName = (optional) list of species to pick-up spray mass to be transferred to DEM. if speciesFieldName is defined, fieldName will be ignored. Note that the mass of all species of this list will be transferred to one single DEM property via partScalarFluxName

  • active = (optional, default: true) switch off the model, but keep necessary CFD-DEM communication propeties

  • scalarFieldNameCFD = (legacy, use speciesNameDEM instead) name of the scalar field representing the tracer concentration

  • scalarFieldNameDEM = (legacy, use speciesNameDEM instead) name of the DEM per-particle variable representing the amount of tracer carried by the particle (default: the same as scalarFieldNameCFD)

  • partScalarFluxName = (legacy, use speciesNameDEM instead) name of the scalar field representing the tracer flux exchanged between the particles and the tracer concentration field

  • speciesFluxDEMIsMassBased = (legacy, auto set for most models) this Switch specifies whether the species flux property transferred to DEM is considered to be mass, or volume based. Most DEM models such as liquidtransport/evaporation work based on mass. The DEM models liquidtransport/porous and liquidtransport/sponge require speciesFluxDEMIsMassBased to be set to false.

This forceModel reads the following forceSubModel switches and overwrites the defaults as indicated in parentheses:

  • scaleDrag

  • scaleDH

  • verbose

Examples

forceModels
(
    LaEuScalarCapture
);
LaEuScalarCaptureProps
{
    speciesNameDEM "coating";
    rhoLiquid 1000;
}

Description

Note

This forceModel does not influence the particles or the fluid flow in the sense of a drag force model.

The model is designed to work in combination with the scalarTransportModel, available in e.g. cfdemSolverPisoSTM or cfdemSolverPimple, this model calculates the deposition of a scalar tracer onto the particles. This deposition rate is based on the collision cylinder of the particle, corrected by a probability depending on the particle/tracer size ratio and fluid properties. The captured scalar volume of a particle C_m is calculated as:

C_\mathrm{v} = d_p^2 \frac{\pi}{4} U_\mathrm{rel} \Delta t \eta_\mathrm{coll} \eta_\mathrm{cov} C_\mathrm{tracer}

\eta_\mathrm{coll} = \left( \frac{\Psi}{\Psi + a} \right)^2

\Psi = \frac{\rho_\mathrm{L} d_\mathrm{L}^2 U_\mathrm{rel}}{9 \mu_\mathrm{Gas} d_\mathrm{p}}

\eta_\mathrm{cov} = \left( 1- S_\mathrm{c} \right)

where C_\mathrm{tracer} is the local tracer concentration and the parameter a is set by the keyword with the same name. Please, refer to Goniva et al..

The tracer concentration field is non-dimensional, as it represents the ratio between the volume of the tracer and the volume of the fluid.

Restrictions

Note

The model is designed to work with cfdemSolverChem or the scalarTransportModel available in e.g. cfdemSolverPiso or cfdemSolverPimple. If you aim for depositing Lagrange spray onto particles, you need to go with forceModel_LaEuScalarSpray.

The model is only accurate when using centre voidfraction scheme and the tracer phase diffusion is low, with other schemes, round-off errors of some percent can occur.

Note

To use this forceModel you need to set liquid_transport yes in your enable_cfd_coupling command in your Aspherix input script.

Literature

[1] Goniva, C., Tukovic, Z., Feilmayr, C., Burgler, T., & Pirker, S. (2009, December). Simulation of offgas scrubbing by a combined Eulerian-Lagrangian model. In Seventh International Conference on CFD in the Minerals and Process Industries, CSIRO, Melbourne, Australia (pp. 09-11).