Raw File
CZTS_Bandgap.c
/* (C) Sidi HAMADY */

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <ctype.h>
#include <malloc.h>
#include <string.h>

#include "CZTS_Parameters.h"

/*
* Temperature and composition dependent band parameters
* Statement: MATERIAL
* Parameter: F.BANDCOMP
* Note:  This function can only be used with BLAZE.
* Arguments:
* xcomp   composition fraction "X"
* ycomp   composition fraction "Y"
* temp    temperature (K)
* *eg     return: band gap (eV)
* *chi    return: affinity (eV)
* *nc     return: conduction band density of states
* *nv     return: valence band density of states
* *degdt  return: derivative of Eg with respect to T
*/
int bandcomp(double xcomp, double ycomp, double temp, double *eg, double *chi, double *nc, double *nv, double *degdt)
{
   const double ega = egalpha_CZTS;
   const double egb = egbeta_CZTS;

   *eg = eg300_CZTS;
   *chi = affinity_CZTS;
   *nc = nc300_CZTS;
   *nv = nv300_CZTS;
   *degdt = ((-2.0 * ega * temp * (temp + egb)) + (ega * temp * temp)) / ((temp + egb) * (temp + egb));

   return 0;
}
back to top