FAQ
***

Listed below are some of the more-common questions encountered by
Bumblebee users.

Note:

  Questions related to the installation of the Bumblebee software are
  discussed in the Installation guide.


How do I determine the required number of simulation steps?
===========================================================

The required number of samples is determined by the desired accuracy
of the results.

kMC estimates the properties of the OLED device through a stochastic
sampling process. Increasing the number of samples results in greater
accuracy.

This accuracy differs for each simulation output. Rare simulation
events will be sampled less frequently, resulting in poorer
statistics.

One strategy to determine the required number of simulation steps is
to perform adaptive refinement. Start by running the simulation for a
set number of steps, then check the output accuracy. If the results
are unsatisfactory, you can add additional trajectories to the
simulation in order to increase the number of samples.


How do I determine the maximum wall time for my workload manager?
=================================================================

The total simulation time varies based on the process complexity,
device size and the simulation length. In general, kMC simulations can
have a duration from minutes to days.

In order to work well with typical schedulers, it is recommended to
use parallel trajectories to distribute the workload for more
expensive jobs.

Note that even if a simulation exceeds the allotted wall time, the GUI
can still interpret the data obtained thus-far from the intermediate
simulation output. As such, there are 2 scheduling strategies:

* You can use a generous wall time along with a short simulation time
  to split up the sampling process between a large number of
  instances. When evaluating the simulation output, it is possible to
  commission additional trajectories to increase the accuracy of the
  statistical estimates, if deemed necessary

* You can specify a long simulation time (along with a reasonable
  output interval). The duration of the simulation will then be
  determined by the wall time. Most simulations will not reach their
  end, but instead be terminated by the scheduler. Termination will
  cause a small amount of output to be lost at the end of a
  simulation. This strategy is only recommended on systems with slow
  convergence behavior


Can I recover the results from a killed job?
============================================

Bumblebee updates the output files as the simulation progresses. The
update frequency can be changed in the parameter set.

The BBresults GUI is able to interpret this intermediate data, even
when a job was killed by the server.

It is possible to continue a terminated run from the last recorded
state. Simply use the **Extend trajectories** option in BBresults to
resume the simulation.


How do I perform two-dimensional parameter screenings?
======================================================

The parameter screening option in the BBinput GUI is designed for
single-variable screenings.

In the 2025 version of Bumblebee, a Python API is available for
setting up two-dimensional (or higher-dimensional) parameter
screenings. This allows for adaptive multivariate exploration routines
and iterative/inverse device optimization. Output data can be
collected with BBresults for easy visualization.

A new Python API is planned for a future release in order to make
these features compatible with AMS2026.


How do I include charge-generation layers in the stack?
=======================================================

Charge-generation layers (CGL) are available starting from the 2025
release of Bumblebee. Consult the CGL tutorial for more details on
this material template.

In older versions of Bumblebee, it is possible to approximate the CGL
as an idealized transport layer:

* Use the *Transport* template for the CGL material

* In the stack editor, polaron generation can be enabled by including
  photoabsorption processes inside the CGL layer. The polaron density
  can be controlled by the fluence

* For bilayer CGL, localization of the charge generation at the
  interface can be approximated by using a thin film of 1-2 nm for the
  absorption region

* Use the *Photovoltaic* template for the parameter set to
  automatically enable the photoluminescence module during the
  simulation


How do I model a tandem stack?
==============================

Bumblebee allows any number of layers to be included in the OLED
stack. Tandem devices can therefore be treated straightforwardly by
including multiple emissive layers.

Assuming proper operation of the polaron injection layers,
interactions between light-emission units (LEU) can be minimal. In
this regime, it is also possible to run voltage sweep simulations for
isolated LEU. Current-voltage profiles can then be aligned to
approximate the tandem stack performance. This strategy is primarily
recommended for the screening of LEU materials.

When modeling the full tandem stack:

* Explicit inclusion of the interface between LEU can be achieved by
  using a CGL layer. (See the application notes in the previous
  segment.)

* The interface can also be modeled implicitly. Instead of adding a
  layer to the stack, the inter-layer transport parameters can be
  modified to account for the additional resistance. See the Advanced
  Bumblebee tutorials for more details.


How do I model re-absorption in the emissive layer?
===================================================

Firefly is able to calculate optical outcoupling efficiencies for
self-absorbing layers. (This contrasts with many of the conventional
optical solvers for OLED devices, which ignore this effect.)

Simply enable the Optical module in the Parameters section of BBinput
to request an outcoupling calculation with Firefly. BBresults will
then automatically update the visualization to account for the optics.
