Steady-state simulation of organic light emitting cell

This is an example of steady-state simulation of the light emitting electrochemical cell.

It attempts to reproduce reference. Exact agreement is not achieved probably because of missing details regarding the electrode model. As in the reference, the temperature equal to 2500 K is assumed.


In [1]:
from oedes.fvm import mesh1d
from oedes import progressbar, testing, init_notebook, models, context
init_notebook()
%matplotlib inline
import matplotlib.pylab as plt
import numpy as np

Model and parameters


In [2]:
params = {'T': 2500.,
          'electron.mu': 1e-6,
          'electron.energy': 0.,
          'electron.N0': 5e26,
          'hole.mu': 1e-6,
          'hole.energy': -5.,
          'hole.N0': 5e26,
          'electrode0.workfunction': 2.5,
          'electrode0.voltage': 2.,
          'electrode1.workfunction': 2.5,
          'electrode1.voltage': 0.,
          'cation.mu': 1e-6,
          'anion.mu': 1e-6,
          'npi': 2e43,
          'epsilon_r': 3.
          }

In [3]:
L = 350e-9
mesh = mesh1d(L=L, epsilon_r=3.4)
cinit = 1.25e25
model = models.BaseModel()
models.std.electronic_device(model, mesh, 'pn')
cation, anion, ic = models.std.add_ions(model, mesh, zc=1, za=-1)
model.setUp()
xinit=ic(cinit=1e24)

In [4]:
c=context(model,x=xinit)
c.transient(params,1,1e-10, reltol=1, abstol=1e15, relfail=20.)




In [5]:
o = c.output()
m = mesh

Results

Distribution of cations and anions


In [6]:
plt.plot(m.cells['center'] / L - 0.5, o['cation.c'], '.-', label='cations')
plt.plot(m.cells['center'] / L - 0.5, o['anion.c'], '.-', label='anions')
testing.store(o['cation.c'], rtol=1e-6)
testing.store(o['anion.c'], rtol=1e-6)
plt.yscale('log')
plt.legend(loc=0, frameon=False)
plt.ylabel('carrier density [$m^{-3}$]')
plt.xlabel('distance [reduced units]')
plt.xlim([-0.5, 0.5])
plt.ylim([1e23, 1e27])


Out[6]:
(1e+23, 1e+27)

Distribution of the electric field


In [7]:
testing.store(o['E'], rtol=1e-6)
plt.plot(m.faces['center'] / L - 0.5, o['E'], '.-')
plt.yscale('log')
plt.ylim([1e4, 1e10])
plt.xlim([-0.5, 0.5])
plt.xlabel('distance [reduced units]')
plt.ylabel('electric field [$Vm^{-1}$]')


Out[7]:
Text(0,0.5,'electric field [$Vm^{-1}$]')

Distribution of electrons and holes


In [8]:
plt.plot(m.cells['center'] / L - 0.5, o['hole.c'], '.-', label='holes')
plt.plot(m.cells['center'] / L - 0.5, o['electron.c'], '.-', label='electrons')
plt.plot(
    m.cells['center'] /
    L -
    0.5,
    o['R'] *
    0.5e-7,
    '.-',
    label='recombination zone')
testing.store(o['hole.c'], rtol=1e-6)
testing.store(o['electron.c'], rtol=1e-6)
testing.store(o['R'], rtol=1e-6)
plt.xlabel('distance [reduced units]')
plt.ylabel('carrier density [$m^{-3}$]')
plt.xlim([-0.5, 0.5])
plt.legend(loc=0, frameon=False)


Out[8]:
<matplotlib.legend.Legend at 0x7f9af1ce99b0>

Distribution of holes near to contact


In [9]:
plt.plot(m.cells['center'] / L - 0.5, o['hole.c'], '.-', label='holes')
plt.xlabel('distance [reduced units]')
plt.ylabel('carrier density [$m^{-3}$]')
plt.xlim([-0.505, -0.4])
plt.legend(loc=0, frameon=False)


Out[9]:
<matplotlib.legend.Legend at 0x7f9af1cfd400>

Comparison between drift and diffusion parts of the current


In [10]:
testing.store(o['hole.jdrift'], rtol=1e-6)
testing.store(o['hole.jdiff'], rtol=1e-6)
testing.store(o['electron.jdrift'], rtol=1e-6)
testing.store(o['electron.jdiff'], rtol=1e-6)
plt.plot(
    m.faces['center'] /
    L -
    0.5,
    o['hole.jdrift'] /
    np.amax(
        o['hole.jdrift']),
    '.-',
    label='$j^p_{drift}$')
plt.plot(
    m.faces['center'] /
    L -
    0.5,
    o['hole.jdiff'] /
    np.amax(
        o['hole.jdrift']),
    '.-',
    label='$j^p_{diff}$')
plt.xlim([-0.6, 0.1])
plt.legend(loc=0, frameon=False)
plt.xlabel('distance [reduced units]')
plt.ylabel('normalized current density')


Out[10]:
Text(0,0.5,'normalized current density')

Reference

J. C. deMello, Interfacial feedback dynamics in polymer light-emitting electrochemical cells, Physical Review B 66 235210 (2002)


This file is a part of oedes, an open source organic electronic device simulator. For more information, see https://www.github.com/mzszym/oedes.