- 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
- <