enable_electric_field command

Purpose

Enables use of electric field computed with CFDEMcoupling (examples).

Syntax

enable_electric_field keyword value

Keywords:

Keyword

Description

field_cutoff_radius

obligatory; distance up to which the near field is computed from the particles directly.
units: [length]

id

string; user-assigned name for the command call

particle_group

string; group on which this command should act.
default: all

use_without_cfd_coupling

yes or no;
if yes, this command can be used without enable_cfd_coupling
if no, the command enable_cfd_coupling must be present before calling enable_electric_field
default: yes

enable_collision_charge_transfer

yes or no; if yes, particles can exchange charge during collisions
default: no

charge_transfer_cutoff

distance up to which charge transfer happens (see below).
default: 500 nm; or the equivalent in the chosen unit system; units: [length]

limit_field_force

yes or no; if yes, limits force due to electric field
default: no

field_force_limit_factor

fraction of max. acceleration to be used for limiting.
default: 1e-3; range: [0,1]

Examples

enable_electric_field field_cutoff_radius 1e-3

enable_electric_field field_cutoff_radius 3e-3 enable_collision_charge_transfer yes

enable_electric_field field_cutoff_radius 3e-3 use_without_cfd_coupling yes

Associated material properties

Material properties

if enable_collision_charge_transfer is given, the following material parameter needs to be given:

  • workFunction (\phi): work function of the material (energy units)

Description

Note

this command requires charged yes in your particle_shape command.

This command computes the electric field at particle positions using an approach presented by Kolehmainen et al.. The far field is computed on a grid, while the near field is computed directly from the particle positions. The far field is computed using CFDEMcoupling(R): Particle charges are mapped to a CFD grid to obtain the charge density \rho, then the electric potential V is obtained by solving Laplace’s equation

\Delta \phi = - \frac{\rho}{\epsilon_0}

Finally, the electric far field is computed as

\vec{E}_{far} = - \nabla \phi

The near field at particle position \vec{x}_i is computed as

\vec{E}_{near} \left(\vec{x}_i\right) = \frac{1}{4 \pi \epsilon_0}
\sum_{\left| \vec{x}_i-\vec{x}_j \right| < r_c} q_j
\frac{\vec{x}_i-\vec{x}_j}{\left| \vec{x}_i-\vec{x}_j \right|^3}

where r_c is the cutoff radius to be set via the field_cutoff_radius keyword. This cutoff radius should be at least as large as the largest cell diagonal in the CFD grid to make sure all particles located in the same cell are included in the near field. This inevitably means that particles located in other CFD cells will be included in the near field computation. To avoid them being accounted for twice, a correction term

\vec{E}_{corr} \left(\vec{x}_i\right) = - \frac{1}{4 \pi \epsilon_0}
\sum_{\left| \vec{x}_i-\vec{x}_j \right| < r_c\mathrm{, different cells}} q_j
\frac{\vec{x}_{c,i}-\vec{x}_{c,j}}{\left| \vec{x}_{c,i}-\vec{x}_{c,j}
\right|^3}

needs to be calculated. Note that

  • the sum only runs over particles not located in the same cell as particle i

  • and instead of particle positions, the cell center position of particle i, \vec{x}_{c,i}, is used (and respectively for particle j)

The complete field is then computed as the sum of the three components:

\vec{E} = \vec{E}_{far} + \vec{E}_{near} + \vec{E}_{corr}

Charge Transfer

During each collision, charge is transfered between the collision partners. Currently, meshes are considered grounded, conducting walls, while primitive walls are ignored. If particle_group is set, charge transfer only happens if both particles are members of this group, or - for particle-wall contacts - if the particle is in the specified group.

Charge transfer follows Kolehmainen et al.: at each time step, a charge of

\Delta q = \mathrm{H} \left( \Delta A_{ij} \right) \Delta A_{ij} \epsilon_0
\left( \frac{\varphi_i-\varphi_j}{\delta e} - \vec{E}_{ij} \cdot \vec{n}_{ij} \right)

moves from particle i to particle j:

q_i & = q_i + \Delta q_{ij} \\
q_j & = q_j - \Delta q_{ij}

In the above equation, \Delta A_{ij} is the change in contact area in the current timestep. H \left(\Delta A_{ij}\right) is the Heaviside function, to make sure that charge transfer only occurs as long as the contact area increases. \varphi_i, \varphi_j are the work functions of both collision partners. \delta is the value for charge_transfer_cutoff, and e is the elementary charge (positive value). The last term adds the influence of the electric field: \vec{E}_{ij} is the electric field at the collision point, and \vec{n}_{ij} is a unit vector from particle i to j. Dielectric breakdown (rapid redistribution of charges due to a sufficiently large electric field) is currently not included in this model.

Stability Enhancement

To increase the stability of a simulation, the setting limit_field_force can be used.

If activated, limit_field_force limits the force a particle experiences due to the total electric field it sees. This can be useful if the initial condition of a simulation is unphysical. A very basic criterion for stability is that a particle does not travel further than the skin distance in a single time step. This is satisfied if

v_{part} < v_{max} = \frac{skin}{dt}

with skin being the skin distance set through the neighbor_list command, and dt the simulation timestep. A force

F_{max} = m_{part} \frac{skin}{dt^2}

would accelerate a particle of mass m_{part} from rest to v_{max} in a single timestep. limit_field_force limits the force coming from the electric field to

F_{max,field} = \alpha_{field} F_{max}

where 0 < \alpha_{field} < 1 is a tunable factor which can be set through field_force_limit_factor.

Restrictions

An enable_cfd_coupling command must appear before this command, unless explicitly deactivated via use_without_cfd_coupling.

There can only be one enable_electric_field command in the whole simulation.