Sources#

class Source(value, volume, field)[source]#

Bases: object

Volumetric source term.

Parameters:
  • value (sympy.Expr, float, int, fenics.Expression, fenics.UserExpression, fenics.Function) – the value of the volumetric source term

  • volume (int) – the volume in which the source is applied

  • field (str) – the field on which the source is applied (“0”, “solute”, “1”, “T”)

Variables:
  • value (fenics.Expression, fenics.UserExpression, fenics.Constant) – the value of the volumetric source term

  • volume (int) – the volume in which the source is applied

  • field (str) – the field on which the source is applied (“0”, “solute”, “1”, “T”)

class ImplantationFlux(flux, imp_depth, width, volume)[source]#

Bases: Source

Implantation flux represented by a volumetric mobile particle source with a 1D gaussian distribution in the x direction.

Parameters:
  • flux (float, sympy.Expr) – The flux of the implatation source (m-2 s-1)

  • imp_depth (float, sympy.Expr) – The implantation depth (m)

  • width (float, sympy.Expr) – The standard deviation of the ion beam (m)

  • volume (int) – the volume in which the source is applied

Variables:
  • flux (float, sympy.Expr) – The flux of the implatation source (m-2 s-1)

  • imp_depth (float, sympy.Expr) – The implantation depth (m)

  • width (float, sympy.Expr) – The standard deviation of the ion beam (m)

Example:

my_source = ImplantationFlux(
    flux=2*festim.x * (festim.t < 10),
    imp_depth=5e-9,
    width=5e-9,
    volume=1,
)
class RadioactiveDecay(decay_constant, volume, field='all')[source]#

Bases: Source

A radioactive decay source. dc/dt = … - lambda * c where lambda is the decay constant in 1/s.

Parameters:
  • decay_constant (float) – The decay constant of the source in 1/s.

  • volume (int) – The volume of the source.

  • field (str, optional) – The field to which the source is applied. If “all” the decay will be applied to all concentrations. Defaults to “all”.