Skip to content

xingangahu/gpvdm

Repository files navigation

What is gpvdm?
~~~~~~~~~~~~~~

Gpvdm is a free organic solar cells model. It is specifically designed to 
simulate bulk-heterojuncton organic solar cells, such as those based on the 
P3HT:PCBM material system. The model contains both an electrical and an optical 
solver, enabling both current/voltage characteristics to be simulated as well 
as the optical modal profile within the device. The model and it's easy to use 
graphical interface is available for both Linux and Windows.
The model can simulate:

    *Dark JV curves
    *Light JV curves
    *Dark CELIV transients
    *Light CELIV transients
    *Voltage transients of an arbitrary shape
    *Full optical model taking into account reflection at interfaces and 
absorption.
    *Calculation of reflection profile
    *Ability to simulate OLEDs

The physical model solves both electron and hole drift-diffusion, and carrier 
continuity equations in position space to describe the movement of charge 
within the device. The model also solves Poisson's equation to calculate the 
internal electrostatic potential. Recombination and carrier trapping are 
described within the model using a Shockley-Read-Hall (SRH) formalism, the 
distribution of trap sates can be arbitrarily defined. A fuller description of 
the model can be found in the at https://www.gpvdm.com, in the associated
publications  and in the manual.
Example simulations

The model makes it easy to study the influence of material parameters such as 
mobility, energetic disorder, doping and recombination cross-sections on device 
performance. All internal device parameters such as current density, charge 
density, distribution of trapped carriers in position and energy space are 
accessible either through the graphical interface or directly through output 
files. 

Installing/building gpvdm
~~~~~~~~~~~~~~~~~~~~~~~~~
1. Windows
~~~~~~~~~~

I would recommend downloading the binary from the gpvdm web page.  Double click on the installer and follow the instructions.

2. Linux
~~~~~~~~
For Linux you can either download an rpm/deb from the web page or compile from source.  I don't update the packages as often as I would like to so they often lag behind the windows version.  For this reason I recommend you install from source on Linux..

2.1 Linux from source the easy way
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Make sure you have python3-dialog installed on your system.  The issue the command ./build in the root directory of gpvdm.  Firstly select (packages) and let the installer install the packages needed to compile gpvdm.  Then select build and let the installer build gpvdm.  You can then exit the installer and run ./gpvdm.  Or if you wish to install gpvdm on your system, chooses install from the menu.

2.2 Linux from source the hard way
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
On Fedora install the following pacakges:
dnf install zlib-devel libzip-devel libmatheval-devel suitesparse-devel openssl-devel gsl-devel libcurl-devel blas-devel librsvg2-tools texlive ghostscript ImageMagick mencoder valgrind @development-tools fedora-packager mingw32-gcc python-crypto python-awake python3-qt5-devel python3-crypto python3-matplotlib-qt5 python3-openpyxl python3-pyopengl numpy notify-python python-inotify.noarch python-matplotlib python-inotify python-matplotlib indent unifdef indent libcurl-devel poedit ElectricFence kcachegrind help2man

Then configure the build the build system
aclocal
automake --add-missing
automake
autoconf

Then configure the build system:
./configure CPPFLAGS="-I/usr/include/suitesparse/"

Then make the binary
make

Help using gpvdm
~~~~~~~~~~~~~~~~
I'm very happy to provide help in using gpvdm, or if you wold prefer I am 
equally happy to collaborate and model your data for you. See the contact page.

History of gpvdm
~~~~~~~~~~~~~~~
I wrote the original version of gpvdm during the very exciting time I spent 
working at Imperial College for Jenny Nelson - see the publication list.  Since 
that time, I have rewritten the model to make the code base more 
sane/accessible/useful to others.

More information
~~~~~~~~~~~~~~~~
More information can be found on the home page https://www.gpvdm.com