Contents

Introduction
What is gpvdm?
Why gpvdm?
About this book/manual
What is the history of gpvdm?
What is the roadmap for gpvdm?
Using gpvdm in industrial/academic work
Bugs
Installing gpvdm
Windows (if you have admin rights)
Windows (No admin rights)

Getting started
Simulating a simple solar cell
Editing device layers
How do solar cells absorb light?
Light inside solar cells
Parasitic elements
Solar cells in the dark
The contact editor
Electrical parameters

Simulation modes and simulation editors
JV editor (Steady state simulation editor)
Time domain editor
Suns-Voc editor
Suns-Jsc editor
Frequency domain editor
Quantum efficiency editor

2D simulations - OFETs
The anatomy of a 2D simulation
Running a 2D simulation
Meshing in 2D

Simple circuit simulations
Large area device simulation
Designing contacts for large area devices
Simulating large area solar cells

2D simulation of bulk-heterojunctions
Modelling excitons/geminate recombination - organics only
Why you should not model excitons
Modelling excitons
Modeling excitions in a device
Modeling excitions in a unit cell

The gpvdm file format
the .gpvdm simulation file format
Qwerks of the gpvdm json format
Encoding

Databases
Materials database
Adding new materials - the hard way
Adding new materials - the easy way
Emission database
Shape database
The shape file format
Filters database
Backups of simulations

Optical models
Light sources
Local ground view factor
Transfer matrix model
The user interface
Theory of the transfer matrix method
Refractive index and absorption
Finite Difference Time Domain
Running an FDTD simulation
Manipulating objects in gpvdm
Manipulating light sources in gpvdm
Theoretical background
Ray tracing model

Fitting experimental data
Automating/Scripting the model
The parameter scan window
Changing one material parameter
Duplicating parameters - changing the thickness of the active layer
Setting constants
The equivalent of loops
Limitations of the scan window
Python/MATLAB scripting of gpvdm
Python scripting
MATLAB scripting

Meshing
Editing the electrical mesh/layers
Should I be simulating in 1D, 2D or 3D?

Output files
Snapshots directory - dir
Trap_map directory - dir
Optical snapshots - dir
Cache - dir
Equilibrium directory
sim_info.dat
Steady state electrical simulation
Optical simulation
File formats
.dat files
.csv files
Binary .csv files - files which are not human readable

Theory of drift diffusion modelling
Outline
Summary of model inputs
Electrostatic potential
Free charge carrier statistics
Carrier trapping and Shockley-Read-Hall recombination
Equilibrium Shockley-Read-Hall recombination
Non-equilibrium carrier trapping and recombination using Shockley-Read-Hall trap states
Free-to-free carrier recombination
Auger recombination
Charge carrier transport
Perovskite mobile ion solver
Semiconductor interfaces
Tunnelling through heterojunctions
Doping on the interface
Configuring the electrical solver
Solver stability
Simulating disordered devices without traps
Calculating the built in potential
Average free carrier mobility
.
Lattice thermal model
Energy balance - hydrodynamic transport model

Troubleshooting
Windows gives warms me the software is unsigned
Why don't I get a 3D view of the device

Text past this point needs to be rewritten
Can I use the model to simulate my exotic* material system/contacts?
Excited states

Legal
License
Copyright of the manual
Data privacy statement

Bibliography
Index
<