tangential model history/attrition

Purpose

Calculating the tangential force between particles as done in tangential model history and, in addition, calculating the abrasive and erosive particle-particle attrition.

Syntax

tangential history/attrition [other model_type/model_name pairs as described here ] settings keyword values
  • zero or more keyword/value pairs may be appended to the end (after all models are specified)

useVelocityLimit values = 'on' or 'off'
  on = erosion only occurs if normal velocity is above threshold
  off = erosion will always occur
useForceLimit values = 'on' or 'off'
  on = abrasion only occurs if normal force is above threshold
  off = abrasion will always occur
useAttritionLimit values = 'on' or 'off'
  on = attrition only occurs until a specified volume limit was removed
  off = attrition is unlimited
outputAttritionSeparate values = 'on' or 'off'
  on = attrition is written to property/atom attrition_erosive
  off = no additional output
heating_tangential_history values = 'on' or 'off'
  on = model contributes to surface heating in the frame of enable_surface_heating
  off = model does not contributes to surface heating
coatingSpeciesName values = name of the species of the composition that can undergo attrition
changeParticleMass values = 'on' or 'off'
  on = attrition reduces the particle mass (not only the mass tracer, defined via coatingSpeciesName)
  off = particle mass is independent of attrition
changeParticleSize values = 'on' or 'off'
  on = attrition reduces the particle size (not only the mass tracer, defined via coatingSpeciesName)
  off = particle size is independent of attrition
coatingAttrition (legacy) values = 'on' or 'off'
  on = attrition depletes a coating layer present on the particles
  off = attrition is independent from the amount of coating

Associated material properties

Material properties

  • youngsModulus (Y): Youngs modulus of a material, i.e. its stiffness [pressure]

  • poissonsRatio (\nu): Poisson’s ratio, i.e. the ratio of transverse to axial strain [\cdot]

  • attritionLimit (V_{max}): maximum volume percentage that can be removed by a particle (0 \leq V_{max} \leq 1) [\cdot] (property required only if useAttritionLimit on)

  • maxMoisture (\l_{max}): maximum value of the per-particle property surfaceLiquidContent at which attrition can happen [\cdot] (property required only if coatingAttrition on, and it is automatically created)

Material interaction properties

  • coefficientRestitution (e): coefficient of restitution of two materials [\cdot]

  • coefficientFriction (\mu): coefficient of friction acting between two materials [\cdot]

  • abrasiveWearSeverity (\alpha_a): coefficient of wear severity acting between two materials [1/(force*length)]

  • erosiveWearSeverity (\alpha_e): coefficient of erosive severity acting between two materials [1/(pressure*length)]

  • velocityLimit (u_0): minimum impact velocity between two particles of different materials necessary to have erosion [length/time] (property required only if useVelocityLimit on)

  • forceLimit (F_{n,min}): minimum normal force between two particles of different materials necessary to have abrasion [force] (property required only if useForceLimit on)

Global scalars

  • coatingInit (c_0): initial coating volume fraction of a particle [\cdot].

Description

This model can be used in the tangential argument of both particle_contact_model and wall_contact_model.

This model calculates the tangential force between two particles in contact as done in the tangential model history and, in addition, calculates the abrasive and erosive particle-particle attrition. Generally speaking, abrasive wear results from the particles sliding or rolling over each other, while erosive wear is caused by particle collisions. These two effects are accounted in this model by the Archard equation for abrasion and by Ghadiri and Zhang equation for erosion, namely:

\xi_{a} = \alpha_a F_n \Delta s

\xi_{e} = \alpha_e u^2 \rho_p d_p

where \xi_{a} and \xi_{e} is the particle volume fraction lost by attrition and erosion respectively, F_n is the normal force, \Delta s is the sliding distance based on the relative tangential displacement between two particles in contact, u is the impact velocity (which is considered to be the normal component of the relative velocity between two colliding particles), \rho_p is the particle density, and d_p is the particle diameter. Please, refer to the paper from Xu et al. for more information regarding the models.

In case the option useVelocityLimit is set to on, the erosive wear \xi_{e} will only be greater than zero if the magnitude of the normal velocity u is larger than the velocity limit u_0. Similarly, if useForceLimit is set to on, the abrasive wear \xi_{a} will be set to zero in case that the magnitude of the normal force F_n is smaller than the force limit F_{n,min}.

In case the option useAttritionLimit is set to on, the erosive and abrasive wear stops when the total volume fraction lost reaches the attrition limit V_{max}.

In case attrition should be related to the presence of a species, there are two ways to reflect that: (i) via the keyword coatingSpeciesName or (ii) via the legacy keyword coatingAttrition.

using keyword ‘coatingSpeciesName’: In case a species is selected via coatingSpeciesName, attrition will consume the mass of the selected species. coatingSpeciesName has to be one of the species that are defined via the composition_properties framework. Additionally the user can decide whether the partcile mass should be changed via changeParticleMass and/or if the partcile size should be changed via changeParticleSize. The attrited material can be coupled to CFD via “enable_cfd_coupling species_convection yes species_name mass_*coatingSpeciesName* attrition_transport yes”.

using keyword ‘coatingAttrition’ (legacy!): In case the option coatingAttrition is set to on, the attrition affects only the scalar per-particle property named coating, which indicates the ratio between the volume of a coating layer and the volume of the carrying particle. The property coating can be defined by using the fix property/atom command or, in case of coupled simulation, the fix couple/cfd/speciesConvection command (for the latter, please refer to the CFDEM®coupling documentation). The attired coating can be also transferred to a coupled CFD simulation via the flux property coatingDEMFlux. If the option useAttritionLimit is also enabled, then V_{max} refers to the maximum volume fraction of coating that can be removed.

If coatingAttrition is enabled, the material property maxMoisture must be defined. If \l_{max} is set bigger than zero, then the coating attrition process occurs only if a scalar per-particle property called surfaceLiquidContent is lower than \l_{max}. The property surfaceLiquidContent is defined automatically by this contact model. Some commands, like for example liquid transport, automatically define the property surfaceLiquidContent. Moreover, the global_scalar coatingInit must be defined to set the initial particle coating if coating has not been defined in another way, e.g. by using couple/cfd/speciesConvection or a property/atom.

Output:

This model stores a couple of per-particle properties, for access by various output commands.

The volume fraction lost by attrition, i.e. \xi_{a} + \xi_{e}, can be accessed via id_attrition, while the cumulative volume fraction lost by attrition divided by the time-step, i.e. (\sum (\xi_{a}+\xi_{e}))/dt can be accessed via id_attritionFlux.

If the outputAttritionSeparate keyword is activated then two additional particle properties are available which can be accessed via id_attrition_erosive and id_attrition_abrasive, respectively. They split the volume fraction lost by attrition into the fraction lost due to erosion and one due to abrasion.

If the coatingAttrition keyword is activated an additional particle property is available which can be accessed via id_coating. This shows the current amount of coating relative to the particle volume.

Coarse-graining information:

Using coarsegraining in combination with this command might lead to different dynamics or system state and thus to inconsistencies.

Default

useVelocityLimit = ‘off’, useForceLimit = ‘off’, useAttritionLimit = ‘off’, coatingAttrition = ‘off’, outputAttritionSeparate = ‘off’, heating_tangential_history = ‘off’

Literature

[1] Xu, W., DeCroix, D. S., & Sun, X. (2014). Mechanistic based DEM simulation of particle attrition in a jet cup. Powder technology, 253, 385-392.

[2] Archard, J. (1953). Contact and rubbing of flat surfaces. Journal of applied physics, 24(8), 981-988.

[3] Ghadiri, M., & Zhang, Z. (2002). Impact attrition of particulate solids. Part 1: A theoretical model of chipping. Chemical Engineering Science, 57(17), 3659-3669.