Usage

Graphical User Interface

The web interface manages the creation, submission and analysis of Bumblebee simulations.

The materials tab allows definition of molecular properties for the various materials in the OLED stack layers. Composite layers can also be defined by using nanoscale distributions of multiple materials.

Materials and compositions may be used to construct OLED stacks by combining various layers. Inter-layer transfer processes can be defined based on the molecular layer properties.

Simulation settings are configured as parameter sets. Job submissions and output visualization are handled in the simulations tab.

Various presets are provided to aid the simulation setup.

Materials

Several template settings are available to expedite the configuration of new materials.

  • Host layers allow for radiative decay of both singlet and triplet species

  • Transport layers do not emit light

  • Fluorescent dyes assume all singlet decay processes to be radiative

  • Phosphorescent dyes assume all excitons to be triplets. All decay processes are assumed to be radiative

  • TADF dyes assume triplet decay to occur through ISC

  • Optical layers do not participate in charge carrier processes and are included only to enable calculation of optical device parameters

  • Advanced materials disable all presets

Compositions

  • Basic compositions are defined as a mixture of materials with a specific ratio. Components are distributed randomly within the layer. Mesoscopic layer properties are computed as a stoichiometric average of the material parameters

  • Advanced compositions allow usage of gradients to construct more complex distributions, as well as the creation of polymeric morphologies

Parameter Sets

Template parameter sets are provided to automatically configure modules and commonly used settings for the various simulation types facilitated by Bumblebee.

  • Single voltage points allow simulation of excitonic processes at DC

  • Voltage sweeps automatically configure the voltage as the simulation sweep parameter. Hole-only and electron-only versions allow specification of a fixed carrier density

  • Periodic box simulations enable PBC but disable excitonics

  • Lifetime simulations include device degradation processes

  • Photoluminescence simulations model current generation upon light exposure. PBC are enabled. Grid densities are doubled compared to other defaults to account for polaron interactions

  • Photovoltaic and photodetector simulations model photoluminescence processes under closed circuit conditions

  • Transistor simulations are used to model OFETs

  • Advanced simulations disable presets

Photoluminescent, photovoltaic and photodetector presets enable transient output files by default.

Visualization

After a simulation has completed, reports can be generated in the web interface.

  • Box reports displays the output of individual kMC trajectories

    • Morphology shows the distribution of materials in the stack

    • Convergence shows the transient current profile

    • Box overview shows the transient carrier densities, photo-electronic process frequencies and device potential

  • Multibox reports collect output of multiple kMC trajectories

    • Transient photoluminescence reports on the radiative excitation rates and exciton densities

    • Material profiles report on carrier densities and photo-electronic process frequencies for individual layer materials

    • Optical reports on outcoupling efficiencies for individual layer materials

    • Transient OLED responses report aggregate statistics on transient current profiles, carrier densities, photo-electronic process frequencies, voltages and device degradation

    • OLED reports show the average carrier densities, photo-electronic process frequencies and device potential

    • OLED emission shows the computed emission spectrum

    • Convergence reports aggregate statistics on the transient current profiles and integrated quantum efficiency

  • Sweep reports display the device variations when varying external parameters (such as the voltage)

    • Profiles report on the carrier densities and photo-electronic process frequencies

    • OLED reports yield the voltage-current profiles, integrated quantum efficiency, external quantum efficiency, voltage-dependent process frequencies and carrier densities

    • OLED luminance reports the effective device luminance for the CIE 1931 and CIE 1978 standard eye responses, in addition to the power efficiency

    • Excitonic events report on the relative process frequencies

    • Effective mobility reports on the voltage-dependent polaron mobility

  • Optical reports display the optical output from the device

    • Purcell displays the anisotropic Purcell factors

    • Output intensity shows the polarized outcoupling intensity

    • Outcoupling efficiency reports on the optical effectiveness

The available reports are shown depending on the output generated by the simulation. Parameter set templates automatically configure output for relevant processes.

Input Files

The web interface automatically generates the input files necessary to run Bumblebee simulations. Relevant data can be found in the following files:

  • params contains the simulation settings (materials, compositions, stack, parameters)

  • morphology is used to store the component distributions in the layers

  • dipoles is used to store the dipole field

  • checkpoints documents the transient responses

Output Files

Bumblebee output is split across various files.

  • Human-readable .out files detailing the computed device parameters or simulation statistics

  • Binary .dat files contain trajectory snapshots that can be analyzed to investigate the individual kMC samples. 64 bit floating point precision is used

Visualization and analysis of these files is handled automatically by the web interface. An overview of the files is provided here if custom visualization, analysis or post-processing is desired.

General output:

  • output.log documents the progress of the Bumblebee simulation

  • disorder_result.out stores the simulation summary for the final Monte Carlo step

  • time_progress.out summarizes the simulation progress results

  • param_overview.out records the input parameters after Bumblebee pre-processing and input sanitation

Time-averaged device profiles:

  • elec_profile.out and hole_profile.out report the time-average cross-sectional polaron charge. The combined charge profile is stored in chargedens_profile.out

  • mat_elec_profile.out and mat_hole_profile.out contain the time-average cross-sectional polaron charge per material. Separate files are generated for each material

  • singlet_profile.out and triplet_profile.out report the time-average cross-sectional exciton counts

  • mat_singlet_profile.out and mat_triplet_profile.out contain the time-average cross-sectional exciton counts per material. Separate files are generated for each material

  • potential_profile_normal.out contains the time-average cross-sectional voltage potential. potential_profile_disccutout.out reports the voltage potential after including the short-range Coulomb corrections. potential_profile_incl_impot.out reports the voltage potential after including periodic image charges. potential_profile_disccutout_incl_impot.out reports the voltage potential after including both the short-range Coulomb corrections and periodic image charges

Transient device profiles:

  • electroncurrent.out and holecurrent.out report the polaron fluxes for each cross-section. The first entry on each line gives the timestamp. The net charge flux is reported in layercurrent.out

  • electroncurrentx.out and holecurrentx.out report the polaron fluxes along the OFET gate for each cross-section. The first entry on each line gives the timestamp. The net charge flux is reported in layercurrentx.out

  • recombination_abs_profile.out reports the cross-sectional radiative exciton recombination event count. The first entry on each line gives the timestamp. recombination_rate_profile.out reports the per-gridpoint, per-timestep average inside each cross-section

  • generation_abs_profile.out reports the cross-sectional exciton generation event count. The first entry on each line gives the timestamp. generation_rate_profile.out reports the per-gridpoint, per-timestep average inside each cross-section

  • dissociation_abs_profile.out reports the cross-sectional exciton dissociation event count. The first entry on each line gives the timestamp. dissociation_rate_profile.out reports the per-gridpoint, per-timestep average inside each cross-section

  • thermal_generation_abs_profile.out reports the cross-sectional thermal exciton generation event count. The first entry on each line gives the timestamp. thermal_generation_rate_profile.out reports the per-gridpoint, per-timestep average inside each cross-section

  • electron_quenching_abs_profile.out and hole_quenching_abs_profile.out report the cross-sectional electron and hole quenching event counts. The first entry on each line gives the timestamp. quenching_abs_profile.out reports the total quenching event count. electron_quenching_rate_profile.out, hole_quenching_rate_profile.out and quenching_rate_profile.out report the respective per-gridpoint, per-timestep averages inside each cross-section.

  • annihilation_abs_profile.out reports the cross-sectional exciton annihilation event count. The first entry on each line gives the timestamp. annihilation_rate_profile.out reports the per-gridpoint, per-timestep average inside each cross-section

  • nonrad_decay_abs_profile.out reports the cross-sectional non-radiative exciton decay event count. The first entry on each line gives the timestamp. nonrad_decay_rate_profile.out reports the per-gridpoint, per-timestep average inside each cross-section

  • absorption_abs_profile.out reports the cross-sectional photonic absorption event count. The first entry on each line gives the timestamp. absorption_rate_profile.out reports the per-gridpoint, per-timestep average inside each cross-section

  • degradation_abs_profile.out reports the cross-sectional degradation event count. The first entry on each line gives the timestamp. degradation_rate_profile.out reports the per-gridpoint, per-timestep average inside each cross-section

  • exciplex_decay_abs_profile.out reports the cross-sectional radiative exciplex decay event count. The first entry on each line gives the timestamp. exciplex_decay_rate_profile.out reports the per-gridpoint, per-timestep average inside each cross-section

  • exciplex_nonrad_decay_abs_profile.out reports the cross-sectional non-radiative exciplex decay event count. The first entry on each line gives the timestamp. exciplex_nonrad_decay_rate_profile.out reports the per-gridpoint, per-timestep average inside each cross-section

  • exciplex_thermal_generation_abs_profile.out reports the cross-sectional thermal exciplex generation event count. The first entry on each line gives the timestamp. exciplex_thermal_generation_rate_profile.out reports the per-gridpoint, per-timestep average inside each cross-section

Transient trajectories: (Note that these generate significant amounts of data)

  • transient_recombination_abs_profile.out reports the cross-sectional radiative exciton recombination event count during each individual iteration

  • transient_quenching_abs_profile.out reports the total cross-sectional polaron quenching event count during each individual iteration

  • transient_annihilation_abs_profile.out reports the cross-sectional exciton annihilation event count during each individual iteration

  • transient_nonrad_decay_abs_profile.out reports the cross-sectional non-radiative exciton decay event count during each individual iteration

  • transient_exciplex_decay_abs_profile.out reports the cross-sectional radiative exciplex decay event count during each individual iteration

  • transient_exciplex_nonrad_decay_abs_profile.out reports the cross-sectional non-radiative exciplex decay event count during each individual iteration

  • transient_exciplex_tgens_abs_profile.out reports the cross-sectional thermal exciplex generation event count during each individual iteration

Locations of electronic species:

  • carrier_config.dat and carrier_config_pt.out report on the charge carrier positions. For each species, the carrier coordinates are followed by the polaron type (0 indicates an electron, 1 indicates a hole)

  • exciton_config.dat and exciton_config_pt.out report on the charge carrier positions. For each species, the carrier coordinates are followed by the exciton type (1 indicates a singlet, 3 indicates a triplet)

Properties per gridpoint:

  • composition.dat and composition_plaintext.out record the material ID for each gridpoint inside the stack

  • disorder.dat and disorder_plaintext.out report on the energetic disorder in the HOMO and LUMO levels at each gridpoint

  • excitonic_disorder.dat and excitonic_disorder_plaintext.out report on the energetic disorder in the singlet and triplet levels at each gridpoint. exciton_binding_energies.out reports on the singlet and triplet binding energies at each gridpoint

  • kappa.dat and kappa_plaintext.out report on the transition multipole orientations at each gridpoint

  • electrons_per_site.out and holes_per_site.out report the time-average polaron charge for each gridpoint

  • singlets_per_site.out and triplets_per_site.out report the time-average exciton counts for each gridpoint

A one-dimensional gridpoint indexing system is used. The gridpoint coordinates can be obtained from the (0-based) index \(k\) as:

\[\begin{split}x &= k\bmod N_X \\ y &= \frac{k}{N_X}\bmod N_Y \\ z &= \frac{k}{N_XN_Y}\bmod N_Z\end{split}\]

Event log per gridpoint:

  • singlet_recomb_per_site.out and triplet_recomb_per_site.out report the number of singlet and triplet recombination events that occurred at each gridpoint. recomb_per_site.out reports on the total number of recombination events. Each line in these files contains the gridpoint coordinates, followed by the event count

  • singlet_gens_per_site.out and triplet_gens_per_site.out report the number of singlet and triplet generation events that occurred at each gridpoint. gen_per_site.out reports on the total number of generation events. Each line in these files contains the gridpoint coordinates, followed by the event count

  • singlet_dis_per_site.out and triplet_dis_per_site.out report the number of singlet and triplet dissociation events that occurred at each gridpoint. dis_per_site.out reports on the total number of dissociation events. Each line in these files contains the gridpoint coordinates, followed by the event count

  • singlet_quenchings_per_site.out and triplet_quenchings_per_site.out report the number of singlet and triplet quenching events that occurred at each gridpoint. quenchings_per_site.out reports on the total number of quenching events. Each line in these files contains the gridpoint coordinates, followed by the event count

  • singlet_anns_per_site.out and triplet_anns_per_site.out report the number of singlet and triplet annihilation events that occurred at each gridpoint. anns_per_site.out reports on the total number of annihilation events. Each line in these files contains the gridpoint coordinates, followed by the event count

  • singlet_nonrads_per_site.out and triplet_nonrads_per_site.out report the number of non-radiative singlet and triplet decay events that occurred at each gridpoint. nonrads_per_site.out reports on the total number of non-radiative decay events. Each line in these files contains the gridpoint coordinates, followed by the event count

  • singlet_iscs_per_site.out and triplet_iscs_per_site.out report the number of intersystem and reverse intersystem crossing events that occurred at each gridpoint. iscs_per_site.out reports on the total number of crossing events. Each line in these files contains the gridpoint coordinates, followed by the event count

  • singlet_tgens_per_site.out and triplet_tgens_per_site.out report the number of thermal singlet and triplet generation events that occurred at each gridpoint. tgens_per_site.out reports on the total number of thermal generation events. Each line in these files contains the gridpoint coordinates, followed by the event count

  • abs_per_site.out records the number of photonic absorption events that occurred at each gridpoint

  • degradations_per_site.out records the number of degradation events that occurred at each gridpoint

  • exciplex_decay_per_site.out records the number of radiative exciplex decay events that occurred at each gridpoint

  • exciplex_nonrads_per_site.out records the number of non-radiative exciplex decay events that occurred at each gridpoint

  • exciplex_tgens_per_site.out records the number of thermal exciplex generation events that occurred at each gridpoint

Transient event log:

  • eventlog.out records all photo-electronic events. Switches are available to select (0) polaron hopping, (1) polaron injection at the electrodes, (2) polaron collection at the electrodes, (3) radiative exciton recombination, (4) exciton generation, (6) thermal exciton generation, (7) exciton hopping, (8) non-radiative exciton decay, (9) exciton annihilation, (10) polaron quenching, (11) exciton dissociation, (12) intersystem crossing, (13) photonic absorption, (14) degradation, (15) radiative exciton decay, (16) non-radiative exciton decay, (17) thermal exciplex generation, (18) polaron-induced exciton recombination and/or (19) transfer-induced polaron quenching. For each event, the gridpoint, reactant and product are reported (0 for electrons, 1 for holes, 2 for singlets, 3 for triplets). For degradation events, the degradation mechanism and product material are reported instead (0 for exciton generation, 1 for polaron quenching, 2 for exciton annihilation, 3 for hole quenching, 4 for electron quenching, 5 for photonic absorption, 6 for polaron hopping)

  • emissionlog.out records the location of individual exciton recombination events. For each event, the exciton type and energy are reported

  • degradationlog.out records the location of individual degradation events. For each event, the degradation mechanism and degradation products are reported. The carrier is indicated as 0 for electrons, 1 for holes, 2 for a singlet, 3 for a triplet

  • avlog.dat and avlog.out record the voltage and current under AC operation

Binary storage:

  • profiles.dat is a binary storage for the properties of the stack. This file contains:

    • The Bumblebee version number

    • The charge carrier current

    • The electron current

    • The hole current

    • The OFET carrier current

    • The OFET electron current

    • The OFET hole current

    • The cross-sectional exciton recombination event counts

    • The cross-sectional exciton generation event counts

    • The cross-sectional exciton dissociation event counts

    • The cross-sectional thermal exciton generation event counts

    • The cross-sectional polaron quenching event counts

    • The cross-sectional electron quenching event counts

    • The cross-sectional hole quenching event counts

    • The cross-sectional exciton annihilation event counts

    • The cross-sectional non-radiative exciton decay event counts

    • The cross-sectional photonic absorption event counts

    • The cross-sectional degradation event counts

    • The cross-sectional radiative exciplex decay event counts

    • The cross-sectional non-radiative exciplex decay event counts

    • The cross-sectional thermal exciplex generation event counts

    • The time-averaged cross-sectional electron counts

    • The time-averaged cross-sectional hole counts

    • The time-averaged cross-sectional singlet counts

    • The time-averaged cross-sectional triplet counts

    • The time-averaged cross-sectional electron counts per material

    • The time-averaged cross-sectional hole counts per material

    • The time-averaged cross-sectional singlet counts per material

    • The time-averaged cross-sectional triplet counts per material

    • The time-averaged electron counts at each gridpoint

    • The time-averaged hole counts at each gridpoint

    • The time-averaged singlet counts at each gridpoint

    • The time-averaged triplet counts at each gridpoint

  • rng.dat records the final state of the random number generator. This file is used for continuation runs

  • stats.dat records the event statistics. This file contains:

    • The Bumblebee version number

    • The number of elapsed Monte Carlo steps

    • The current simulation time

    • The last stepsize

    • The number of electron injections at the anode

    • The number of electron injections at the cathode

    • The number of hole injections at the anode

    • The number of hole injections at the cathode

    • The number of electron abstractions at the anode

    • The number of electron abstractions at the cathode

    • The number of hole abstractions at the anode

    • The number of hole abstractions at the cathode

    • The instantaneous device current

    • The instantaneous device current at the previous iteration

    • The number of exciton recombination events

    • The number of exciton recombination events at the previous iteration

    • The number of exciton generation events

    • The number of exciton generation events at the previous iteration

    • The number of photonic absorption events

    • The number of photonic absorption events at the previous iteration

    • The number of thermal exciton generation events

    • The number of exciton dissociation events

    • The number of polaron quenching events

    • The number of degradation events

    • The external field strength

    • The number of exciton annihilation events

    • The number of non-radiative exciton decay events

    • The number of intersystem crossings

    • The number of reverse intersystem crossings

    • The normalized minimum cross-sectional current

    • The normalized maximum cross-sectional current

    • The total number of exciton recombination events per gridpoint

    • The number of singlet recombination events per gridpoint

    • The number of triplet recombination events per gridpoint

    • The number of photonic absorption events per gridpoint

    • The number of singlet-generating absorption events per gridpoint

    • The number of triplet-generating absorption events per gridpoint

    • The total number of exciton generation events per gridpoint

    • The number of singlet generation events per gridpoint

    • The number of triplet generation events per gridpoint

    • The total number of thermal exciton generation events per gridpoint

    • The number of thermal singlet generation events per gridpoint

    • The number of thermal triplet generation events per gridpoint

    • The total number of exciton dissociation events per gridpoint

    • The number of singlet dissociation events per gridpoint

    • The number of triplet dissociation events per gridpoint

    • The total number of polaron quenching events per gridpoint

    • The number of singlet quenching events per gridpoint

    • The number of triplet quenching events per gridpoint

    • The total number of exciton annihilation events per gridpoint

    • The number of singlet annihilation events per gridpoint

    • The number of triplet annihilation events per gridpoint

    • The total number of non-radiative exciton decay events per gridpoint

    • The number of non-radiative singlet decay events per gridpoint

    • The number of non-radiative triplet decay events per gridpoint

    • The total number of (reverse) intersystem crossing events per gridpoint

    • The number of intersystem crossing events per gridpoint

    • The number of reverse intersystem crossing events per gridpoint

    • The number of degradation events per gridpoint

    • The number of radiative exciplex decay events per gridpoint

    • The number of non-radiative exciplex decay events per gridpoint

    • The number of thermal exciplex generation events per gridpoint

    • The device voltage

    • The final output timestamp

    • The timestamp of the last voltage update

    • The number of radiative exciplex decay events

    • The number of non-radiative exciplex decay events

    • The number of thermal exciplex generation events

Remaining files serve as utilities:

  • bumblebee.qsub contains the job submission script for the workload manager

  • jobid.out records the job ID number assigned by the workload manager

  • std.out reports messages from the workload manager

  • std.err reports errors from the workload manager

  • error.log contains error messages from Bumblebee

  • pipeline_status.log records messages from the web interface

  • started.out records the UNIX timestamp for the start of the simulation

  • finished.out records the UNIX timestamp for the end of the simulation

Python API

A Python API is available to allow for automated submission of Bumblebee simulations.

The API acts as a portal to the web interface. All materials, compositions, stacks, parameters and simulations are stored in the web database. By connecting through the API, it is possible to access these materials, create and upload new materials and even submit simulations through a registered server.

The API provides object representations of the materials, compositions, stacks, parameter sets and simulations. These objects serve as local copies of the database entries. Scripts can then be created to manipulate the values inside the objects, without modifying the original data. This approach allows for the setup of custom parameter screening studies and data vizualisation routines.

The API package can be obtained from the Downloads page inside the Bumblebee web interface. Installation instructions are provided for adding the API to your local Python environment. Connections between the web interface and the Python API are secured through an authentication token, which can be obtained through the user profile settings.

Details of the API usage are provided in the Bumblebee API Tutorials.