The electron movement can be visualized via the 'POSITION' plots. In order to properly resolve the movement trajectory of typical electrons in magnetron plasma discharges, the time interval of the POSITION plot should be set to 0.1 ns.
The problem is that there are usually too many simulation particles and thus, the POSITION plots are difficult to visualize.
One possibility is to put only a few single electrons in an existing magnetic field configuration, however these electrons are not representative for electrons within a magnetron plasma discharge.
The solution is to start from an existing plasma simulation and show only a small fraction of the electrons as “representatives”. Additional “representative” electron species are to be created in the which are to be plotted in the POSITION plot. For that purpose, the file species_definition.r
needs to be copied into the local folder and extended in the following way:
block GenSPEC : { float mr, charge, is_frozen = 0; }; Record SPECS = { Record e = GenSPEC + { mr = 1/1823; charge = -1.0; }; Record eSec = GenSPEC + { mr = 1/1823; charge = -1.0; }; Record eGas = GenSPEC + { mr = 1/1823; charge = -1.0; }; ...
Here, the original electron species e
is copied to the identical species eGas
and eSec
. The idea is to modify the gas phase reactions in a way that in a small percentage of ionizations, eGas
is created instead of e
. Analogously, the surface reactions are modified in a way that in a small percentage of cases, eSec
are generated as secondary electrons instead of e
.
Obviously, the cross section file sigma.r
must be modified to include the additional species eGas
and eSec
which should behave the same way as regular electrons e
:
... # ======================================================== # Plasma interactions of electrons and argon [A.V. Phelps] # ======================================================== block e_Ar -> { block list[] -> [ CG.FCTeV_Entry + { MSG="$('e' %11s) + $('Ar' %11s) -> e + Ar (Elastic Momentum Transfer)"; sigma-> (eV>0) ? (abs(6/(1+(eV/0.1)+(eV/0.6)^2)^3.3-1.1*eV^1.4/(1+(eV/15)^1.2)/(1+(eV/5.5)^2.5+(eV/60)^4.1)^0.5) + 0.05/(1+eV/10)^2 + 0.01*eV^3/(1+(eV/12)^6))*1.0E-20 ! MIN_SIGMA; }, CG.FCTeV_Entry + { MSG="$('e' %11s) + $('Ar' %11s) -> e + Ar* (Total Excitation)"; EV_THRESH = 11.5; flag_1 = 0; flag_2 = 1; if (defined(Properties.Arex)) then rp_vec = ["Arex"]; sigma-> (eV>EV_THRESH) ? 0.85*(4E-22*(eV-11.5)^1.1*(1+(eV/15)^2.8)/(1+(eV/23)^5.5) + 2.7E-22*(eV-11.5)/(1+(eV/80))^1.9) ! MIN_SIGMA; }, # Splitting: 5% probability of generating eGas CG.FCTeV_Entry + { MSG="$('e' %11s) + $('Ar' %11s) -> 2e + Arplus (Ionization)"; EV_THRESH = 15.8; flag_1 = 0; flag_2 = 1; rp_vec = ["e", "Arplus"]; sigma-> (eV>EV_THRESH) ? 0.98*(9.7E-18*(eV-15.8)/(70+eV)^2 + 6E-22*(eV-15.8)^2*exp(-eV/9)) ! MIN_SIGMA; }, CG.FCTeV_Entry + { MSG="$('e' %11s) + $('Ar' %11s) -> e + eGas + Arplus (Ionization)"; EV_THRESH = 15.8; flag_1 = 0; flag_2 = 1; rp_vec = ["eGas", "Arplus"]; sigma-> (eV>EV_THRESH) ? 0.02*(9.7E-18*(eV-15.8)/(70+eV)^2 + 6E-22*(eV-15.8)^2*exp(-eV/9)) ! MIN_SIGMA; } ]; }; block eSec_Ar -> { block list[] -> [ CG.FCTeV_Entry + { MSG="$('eSec' %11s) + $('Ar' %11s) -> eSec + Ar (Elastic Momentum Transfer)"; sigma-> (eV>0) ? (abs(6/(1+(eV/0.1)+(eV/0.6)^2)^3.3-1.1*eV^1.4/(1+(eV/15)^1.2)/(1+(eV/5.5)^2.5+(eV/60)^4.1)^0.5) + 0.05/(1+eV/10)^2 + 0.01*eV^3/(1+(eV/12)^6))*1.0E-20 ! MIN_SIGMA; }, CG.FCTeV_Entry + { MSG="$('eSec' %11s) + $('Ar' %11s) -> eSec + Ar* (Total Excitation)"; EV_THRESH = 11.5; flag_1 = 0; flag_2 = 1; if (defined(Properties.Arex)) then rp_vec = ["Arex"]; sigma-> (eV>EV_THRESH) ? 0.85*(4E-22*(eV-11.5)^1.1*(1+(eV/15)^2.8)/(1+(eV/23)^5.5) + 2.7E-22*(eV-11.5)/(1+(eV/80))^1.9) ! MIN_SIGMA; }, CG.FCTeV_Entry + { MSG="$('eSec' %11s) + $('Ar' %11s) -> e + eSec + Arplus (Ionization)"; EV_THRESH = 15.8; flag_1 = 0; flag_2 = 1; rp_vec = ["e", "Arplus"]; sigma-> (eV>EV_THRESH) ? 9.7E-18*(eV-15.8)/(70+eV)^2 + 6E-22*(eV-15.8)^2*exp(-eV/9) ! MIN_SIGMA; } ]; }; block eGas_Ar -> { block list[] -> [ CG.FCTeV_Entry + { MSG="$('eGas' %11s) + $('Ar' %11s) -> eGas + Ar (Elastic Momentum Transfer)"; sigma-> (eV>0) ? (abs(6/(1+(eV/0.1)+(eV/0.6)^2)^3.3-1.1*eV^1.4/(1+(eV/15)^1.2)/(1+(eV/5.5)^2.5+(eV/60)^4.1)^0.5) + 0.05/(1+eV/10)^2 + 0.01*eV^3/(1+(eV/12)^6))*1.0E-20 ! MIN_SIGMA; }, CG.FCTeV_Entry + { MSG="$('eGas' %11s) + $('Ar' %11s) -> eGas + Ar* (Total Excitation)"; EV_THRESH = 11.5; flag_1 = 0; flag_2 = 1; if (defined(Properties.Arex)) then rp_vec = ["Arex"]; sigma-> (eV>EV_THRESH) ? 0.85*(4E-22*(eV-11.5)^1.1*(1+(eV/15)^2.8)/(1+(eV/23)^5.5) + 2.7E-22*(eV-11.5)/(1+(eV/80))^1.9) ! MIN_SIGMA; }, CG.FCTeV_Entry + { MSG="$('eGas' %11s) + $('Ar' %11s) -> e + eGas + Arplus (Ionization)"; EV_THRESH = 15.8; flag_1 = 0; flag_2 = 1; rp_vec = ["e", "Arplus"]; sigma-> (eV>EV_THRESH) ? 9.7E-18*(eV-15.8)/(70+eV)^2 + 6E-22*(eV-15.8)^2*exp(-eV/9) ! MIN_SIGMA; } ]; }; ...
In this modified my_sigma.r
the reaction path between electrons and Argon are copied also for eGas
and eSec
, because the latter should behave the same way as regular electrons e
. Additionally, in the reaction e_Ar
the ionization is split into two reactions with 98% and 2% probability, respectively. In the first ionization reaction, regular electrons are created as reaction product, however the alternative ionization branch creates eGas
particles.
The modified parameter file shall produce POSITION plots in a high plot frequency and also include the production of “representative secondary electrons” eSec
in the surface reactions.
To start from an existing simulation the following files should be copied into the folder of the new simulation case:
last_shutdown.txt
The global variables of the PAR file should be modified to include the small plot interval of 0.1 ns:
# Parameter file for the PICMC gas discharge and DSCM gas flow simulation # =============================================== # Global variables # =============================================== DT = 1e-11; # Time step width TSIM = 2e-5; # Total simulation time in seconds TAVG = 1; # Time averaging mode (0 = off, 1 = on) NPLOTS = 200000; # 0.1 ns interval NDUMPS = 1; # Number of particle data dumps WORKMODE = 1; # Work mode (0 = DSCM gasflow simuation, 1 = PICMC plasma simulation, 2 = electric field solver) T0 = 300; # Initial particle and border temperature [K] PSOLL = 2; # Aimed power dissipation in Watt (plasma simulation only) PSAMPLE = 1e-7; # Sampling time for power dissipation (plasma simulation only) VPMAX = 700; # Maximum voltage for power control (default = 1000 volt) # ============================================== # Specify species list # Check SIM-Wiki for list of available species and reactions # ============================================== SPECIES = ["Ar", "Arplus", "e", "eSec", "eGas"]; # List of species strings NREAL_Ar = 5e9; # Default scale factor for Ar P0_Ar = 0.8; # SEY = 0.12; # Nb Secondary electron yield # Comment/uncomment accordant to defined species: NREAL_Arplus = 5e4; # Default scale factor for Arplus P0_Arplus = 1e13; # Default density of initial Arplus distribution [Number/m^3] NREAL_e = 5e4; # Default scale factor for e P0_e = 1e13; # Default density of initial e distribution [Number/m^3] NREAL_eSec = 5e4; # Default scale factor for e P0_eSec = 0; # Default density of initial e distribution [Number/m^3] NREAL_eGas = 5e4; # Default scale factor for e P0_eGas = 0; # Default density of initial e distribution [Number/m^3] # =============================================== # 3D data extraction # Examples: NUMBER = ["Ar", "e"]; FIELD = ["PHI", "E"]; # =============================================== NUMBER = []; DENSITY = []; PRESSURE = []; TEMPERATURE = []; ENERGY = []; VELOCITY = []; ABSORPTION = []; # POSITION plots can get very large, so handle with care! POSITION = ["eSec", "eGas"]; # "PHI" = electric potential, "PHI_MEAN" = time averaged electric potential, "E" = electric field FIELD = []; # For COVERAGE and DEPOSITION fill in required surface materials: COVERAGE = []; DEPOSITION = []; ...
First, there are 200000 plots for a physical time interval of 20 µs yielding a plot interval of 0.1 ns.
Second, the species list is extended by the representative species eGas
and eSec
. They get the same NREAL values as regular electrons and a starting density of zero (because they should be created by the gas and surface reactions in order to represent real electrons in the given plasma!).
In the plot section all regular plots are disabled and only the POSITION plots for eSec
and eGas
are enabled. This is important due to the high plot frequency - otherwise your harddisk space will be quickly flooded!
In the surface reactions, we have to add a branch with a low probability to create “representative” secondary electrons eSec
:
... block Ar_Plasma_ext: { show_reaction_message("Simple Ar plasma-wall model (legacy version); SEY = $(PAR.SEY)"); add_plain_reaction("Arplus", 1, 0.8, ["Ar", "e"], [1, PAR.SEY]); set_emission_energy("e", 0, 10, 100); add_absorption("e", 1.0); add_plain_reaction("Arplus", 1, 1, ["Ar", "eSec"], [1, PAR.SEY]); set_emission_energy("eSec", 0, 10, 100); add_absorption("eSec", 1.0); add_absorption("eGas", 1.0); }; ...
This looks like a regular Ar plasma chemistry, where Arplus
ions hitting the surface are neutralized and create secondary electrons. However the reaction branch for creating secondary electrons is doubled. In the first reactionm a reaction probability of 80% is given, while the second reaction branch has 100% probability1).
Depending on the simulation case and electron density etc. it might be necessary to adapt the reaction branching probabilities in order to create the desired amount of “representative” electrons.
The example below shows trajectories of secondary electrons created at the target surface (left) and bulk electrons created by gas phase electrons (right). As can be seen, both groups of electrons differ strongly in their mean kinetic energy. Especially secondary electrons, which escape the magnetic confinement can gain the full target voltage as kinetic energy, while bulk electrons are equilibrated by numerous gas collisions and have some mean kinetic energy in the order of 5 eV.
The example is taken from a 3D model of a circular sputtering target. The trajectories are shown for a time interval of 10 ns with a plot interval of 0.1 ns (100 positions), respectively.