VectorDepositor

VectorDepositor

Flexible way of depositing current from charged particles in a simulation into occurrences of depField, instead of the classical way of depositing current into the last three components of a SumRhoJ field. With a VectorDepositor you can simply employ a VectorDepositor and a three-vector J in an EM PIC simulation instead of using the four-vector SumRhoJ, as has been classically used, thus saving on memory.

Note

The VectorDepositor should not be used in MultiField block of kind = emMultiField, or errors will occur in the simulation.

Note

Higher order particles are incompatible with the polar/cylindrical axis. If particles in the simulation pass near the polar/cylindrical coordinate axis at r=0, only areaWeightingCP or esirk1stOrderCP can be used.

VectorDepositor Parameters

kind (string, default = areaWeighting)

Type of deposition algorithm; choices are:

  • areaWeighting
  • esirk1stOrder
  • esirk2ndOrder
  • esirk7thOrder
  • areaWeightingCP (for coordProdGrid)
  • esirk1stOrderCP (for coordProdGrid)
  • esirk2ndOrderCP (for coordProdGrid)
  • esirk7thOrderCP (for coordProdGrid)
depField (string)

Vector depfield defined in the MultiField block that will contain the deposited current.

Note

When using higher order deposition (esirk2ndOrder, …, esirk7thOrder), maxIntDepHalfWidth must be set accordingly in the Grid block (see Additional Attributes for Particle Simulations).

Example VectorDepositor Block

<VectorDepositor~currDep>
    kind = areaWeighting
    depField = myEmField.J
</VectorDepositor>

Example Reference to VectorDepositor in a Species Block

<Species  electrons>
    kind = relBorisDF
    currDeps = [ currDep ]
    .
    .
    .
</Species>