Multiscale modeling of OLED devices¶
Starting with the 2022 release of the Amsterdam Modeling Suite we include a set of workflow scripts for multiscale OLED modeling. These workflows are developed and validated in close collaboration with Simbeyond to bridge the gap between ab-initio atomistic modeling of OLED molecules with AMS, and device level kinetic Monte Carlo simulations using Simbeyond’s Bumblebee code. Together with Simbeyond, we attempt to provide a fully integrated multiscale simulation platform for the digital screening and prediction of successful OLED materials and devices.
This tutorial teaches you to:
- Deposit a thin film of β-NPB in a simulated physical vapor deposition.
- Calculate the distribution of properties such as ionization potential, electron affinity and dipole moments for all molecules in the film.
- Transfer the data to Simbeyond’s Bumblebee code for OLED device simulations involving your material.
We will use β-NPB as an example compound for this tutorial, an isomer of the common hole transport material α-NPB. Both the deposition as well as the calculation of the properties is computationally quite expensive and requires time as well as a HPC system at your disposal. The full results for both β-NPB and α-NPB can be found in the OLED material database, so you will not have to complete the tutorial in order to be able to look at the results. None of the steps in this tutorial are specific to β-NPB, so you might just follow the tutorial using your own molecule.
For a detailed description of the methods and options, see the OLED workflows page in the manual.
Deposition of the material¶
We will have to obtain the 3D structure of the molecule we want to deposit. Our example compound β-NPB can be found through the search box in AMSinput, as can all other molecules from the OLED material database.
If you do not have the 3D structure of molecule to deposit yet, you may have to build it using the tools in AMSinput, see the tutorials on building structure. If you can find the SMILES string of the molecule (e.g. from PubChem), you can also just paste that into AMSinput. This will try to generate a 3D structure using RDKit, which should work quite well for organic molecules. No matter how you obtain the intial structure, we suggest you do a quick pre-optimization with GFN1-xTB.
If you loaded the β-NPB structure through the search box, the pre-optimization will not change much, since all the molecule from the OLED material database have already been optimized with GFN1-xTB. In general this step is important though, as it will also update the bond orders to the ones calculated from the GFN1-xTB orbitals. The deposition is done with the ForceField engine using the UFF4MOF-II force field. It will used the bonds and atom types are they are set up in AMSinput, so it is important to get them right at this point. We should therefore also check the atom-types that will be used:
- 1. Click Model → Atom details.2. Check that the values in the FF Type column are appropriate for UFF4MOF-II.
For β-NPB the automatically determined atom types are fine. If we wanted to deposit a mixture, e.g. for the simulation of a host-guest system, we could go back to the Model → OLED deposition panel, click the button and repeat the process for the other molecules. However, for the purpose of this tutorial we will stick with pure β-NPB.
We will not change any of the deposition settings from their default values, so we are now ready to run the calculation.
- 1. Click File → Run in the top menu bar.2. When asked to save your job, save it as
beta-NPB_deposition.3. AMSjob will come to the front.5. Select your job.6. Open the logfile by clicking SCM → Logfile.
The first step in the deposition workflow is an optimization of the molecule at the DFT level. This is done to determine the atomic charges that will be used for modeling the electrostatics with the force field. Please refer to the OLED workflows manual for a detailed description of the workflows.
You can also monitor the progress of the workflow in AMSmovie. Even though the workflow technically consists of multiple AMS jobs, the GUI is smart enough to open the latest, currently running job when you open AMSmovie.
- 1. Monitor the optimization in AMSmovie by clicking SCM → Movie.2. Let the job run for a while.
Once the initial DFT calculation has finished, the molecule is equilibrated to the deposition temperature. At this point the workflow script will also print some information about the estimated number of molecules to deposit in order to grow a slab of the desired thickness. After this, the actual simulated physical vapor deposition will begin.
Growing a 120 Å thick layer in the simulated physical vapor deposition will take a few days at least.
We therefore recommend running these jobs using a remote queue. If you have access to a compute cluster, but have not yet set up remote queues for it, we recommend doing this before running real depositions. You can find instructions on how to set up remote queues in the installation guide and the AMSjobs manual.
If you monitor the logfile of the deposition for a while, you will see that the entire deposition is split into a number of cycles. This is done for reasons of computational efficiency, as it allows the periodic trimming of the bottom so that only the growing surface needs to be simulated. Details can be found in the OLED workflows manual. In the end of the simulation the entire system is annealed first annealed down to room temperature and then completely frozen in a geometry optimization. The entire process can be seen in the video on the right.
The output of the deposition workflow is described in detail in the manual. The
opt_box.in file is the final morphology, which is also stored in the OLED material database as
You can also download the β-NPB morphology
here. The file can be opened in AMSmovie.
Calculation of material properties¶
This step requires several hundred gigabytes of free disk space.
Once we have obtained the morphology, we can use it to run the OLED properties workflow and obtain material properties such as ionization potential and electron affinity.
The OLED Properties workflow has a number of settings, which we will all leave at their default values in this tutorial.
The data from the OLED material database has been generated with the default settings, so we will generate results that can directly be compared to the materials from the database.
The only real input we will need to provide is the morphology itself.
If you did not run through the first part of this tutorial, we suggest you
download the β-NPB morphology now or take it from the database, which you can open by clicking the Open button on the right panel.
- 1. Click File → Import Coordinates….2. Chose the
morphology.infile for β-NPB.3. The structure is quite big, so you may need to wait a while for AMSinput to import it.
This is all the setup we need. We can now save the job.
- 1. Click File → Save.2. Save the job as
beta-NPB_properties.3. Saving the job may take a while due to the size of the structure …4. Click SCM → Jobs to bring up AMSjobs.
The OLED properties workflow is computationally very expensive, and it is not practical to run it on your local machine. There are various options for parallelizing the OLED properties workflow, which are described in the manual. Which option is best in your case will depend on the setup of your local HPC facilities.
For the purpose of this tutorial, we suggest you submit the workflow script to a powerful single node you can use without a time limit. We will then have the workflow script as well as the actual jobs share that machine. From AMSjobs this can be done using a remote queue. You can find instructions on how to set up remote queues in the installation guide and the AMSjobs manual. Below you see an example configuration for a queue:
Note that the PLAMS run command line here corresponds to the value of the
JobRunner keyword of the
oled-properties workflow script.
Please refer to the manual for a description of the possible options.
If your HPC facilities allow submitting new jobs from within running jobs (aka
sbatch from a running job in case of SLURM), you can also set the PLAMS run command to submit the individual molecule jobs to another partition. This allows distributing the individual DFT calculations across a cluster, while having the main workflow script running on a partition intended for long-running serial jobs:
Once you have configure a suitable remote queue for your job, we are ready to run.
- 1. Make sure your chosen remote queue is set for the
beta-NPB_propertiesjob.2. Click Job → Run.3. Once your job starts running on the remote machine (it may wait in a queue first), you will start to see some logfile output below the job name.4. Click the two lines to open the logfile in AMStail.
You will first see some information about your morphology printed: the number of molecules of each separate species (there is just one species for our pure β-NPB morphology), as well as the total number of atoms. This is followed by a summary of the used settings. After determining the atomic charges (this step should be relatively quick), the workflow script will periodically print a progress update. Depending on the machine you are running on, it may take a few days to run the calculations for all molecules.
- Wait for the all calculations to finish. (When running on a remote queue, you can close AMSjobs in the meantime and also turn off your computer.)
When the job has finished, it will print a quick summary of the most important results.
The workflow script will also produce a small HDF5 file.
The HDF5 file contains a summary of the results. It can be opened in AMSview of analyzed with our Python environment.
(If you do not want to wait for the calculation to finish, you can download the file
here or take it from the OLED material database, where it is stored as
- Open the HDF5 file in AMSview:a) If you ran the job yourself, you can just select it in AMSjobs and then click SCM → View in the menu.b) If you did not run the job yourself, just download the file, start AMSview and open it via the File → Open menu.
You will be greeted by a view of a box that is filled with disconnected spheres. Note that these spheres do not represent atoms, but individual molecules from the morphology. If we had deposited a host-guest system, the spheres representing host and guest molecules would have a different color. We can now visualize the properties we calculated via the Properties menu in the top bar.
- 1. Click Properties → Histogram → Electron affinity.2. Click Properties → Histogram → Ionization potential.
We can also visualize vector properties as arrows overlaid onto the spheres, and plot histograms of the vector magnitudes as well as angles against the z-axis (the growth direction of the thin film in the deposition).
- 1. Click Properties → Atom Vector Property → Static Dipole Moment.2. Click Properties → Histogram → Static Dipole Moment magnitude.3. Click Properties → Histogram → Static Dipole Moment cos(θz).
Detailed analysis of the data from the HDF5 file is best done from Python. See the manual section for details.
You will find exciton data and transfer integrals on the HDF5 files in the OLED material database. We have not verified their accuracy against experiment, and expect both the excitation energies as well as the transfer integrals to be severely underestimated. We will improve the calculation of exciton properties and transfer integrals in the future.
The HDF5 file can directly be used as input for Simbeyond’s Bumblebee code. Please refer to Simbeyond’s documentation for details on how to use the simulated material in a device level kinetic Monte Carlo simulation. This concludes the multiscale OLED modeling tutorial.